History log of /openbmc/qemu/target/ (Results 201 – 225 of 14315)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
b5151ace09-Oct-2024 Gao Shiyuan <gaoshiyuan@baidu.com>

target/i386: Add support save/load HWCR MSR

KVM commit 191c8137a939 ("x86/kvm: Implement HWCR support")
introduced support for emulating HWCR MSR.

Add support for QEMU to save/load this MSR for mig

target/i386: Add support save/load HWCR MSR

KVM commit 191c8137a939 ("x86/kvm: Implement HWCR support")
introduced support for emulating HWCR MSR.

Add support for QEMU to save/load this MSR for migration purposes.

Signed-off-by: Gao Shiyuan <gaoshiyuan@baidu.com>
Signed-off-by: Wang Liang <wangliang44@baidu.com>
Link: https://lore.kernel.org/r/20241009095109.66843-1-gaoshiyuan@baidu.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

10eaf9c019-Sep-2024 Chao Gao <chao.gao@intel.com>

target/i386: Add more features enumerated by CPUID.7.2.EDX

Following 5 bits in CPUID.7.2.EDX are supported by KVM. Add their
supports in QEMU. Each of them indicates certain bits of IA32_SPEC_CTRL
a

target/i386: Add more features enumerated by CPUID.7.2.EDX

Following 5 bits in CPUID.7.2.EDX are supported by KVM. Add their
supports in QEMU. Each of them indicates certain bits of IA32_SPEC_CTRL
are supported. Those bits can control CPU speculation behavior which can
be used to defend against side-channel attacks.

bit0: intel-psfd
if 1, indicates bit 7 of the IA32_SPEC_CTRL MSR is supported. Bit 7 of
this MSR disables Fast Store Forwarding Predictor without disabling
Speculative Store Bypass

bit1: ipred-ctrl
If 1, indicates bits 3 and 4 of the IA32_SPEC_CTRL MSR are supported.
Bit 3 of this MSR enables IPRED_DIS control for CPL3. Bit 4 of this
MSR enables IPRED_DIS control for CPL0/1/2

bit2: rrsba-ctrl
If 1, indicates bits 5 and 6 of the IA32_SPEC_CTRL MSR are supported.
Bit 5 of this MSR disables RRSBA behavior for CPL3. Bit 6 of this MSR
disables RRSBA behavior for CPL0/1/2

bit3: ddpd-u
If 1, indicates bit 8 of the IA32_SPEC_CTRL MSR is supported. Bit 8 of
this MSR disables Data Dependent Prefetcher.

bit4: bhi-ctrl
if 1, indicates bit 10 of the IA32_SPEC_CTRL MSR is supported. Bit 10
of this MSR enables BHI_DIS_S behavior.

Signed-off-by: Chao Gao <chao.gao@intel.com>
Link: https://lore.kernel.org/r/20240919051011.118309-1-chao.gao@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

87c88db314-Aug-2024 Xiaoyao Li <xiaoyao.li@intel.com>

target/i386: Make invtsc migratable when user sets tsc-khz explicitly

When user sets tsc-frequency explicitly, the invtsc feature is actually
migratable because the tsc-frequency is supposed to be f

target/i386: Make invtsc migratable when user sets tsc-khz explicitly

When user sets tsc-frequency explicitly, the invtsc feature is actually
migratable because the tsc-frequency is supposed to be fixed during the
migration.

See commit d99569d9d856 ("kvm: Allow invtsc migration if tsc-khz
is set explicitly") for referrence.

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Link: https://lore.kernel.org/r/20240814075431.339209-10-xiaoyao.li@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

5ab6391414-Aug-2024 Xiaoyao Li <xiaoyao.li@intel.com>

target/i386: Construct CPUID 2 as stateful iff times > 1

When times == 1, the CPUID leaf 2 is not stateful.

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Link: https://lore.kernel.org/r/20240814

target/i386: Construct CPUID 2 as stateful iff times > 1

When times == 1, the CPUID leaf 2 is not stateful.

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Link: https://lore.kernel.org/r/20240814075431.339209-6-xiaoyao.li@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

7dddc3bb14-Aug-2024 Xiaoyao Li <xiaoyao.li@intel.com>

target/i386: Enable fdp-excptn-only and zero-fcs-fds

- CPUID.(EAX=07H,ECX=0H):EBX[bit 6]: x87 FPU Data Pointer updated only
on x87 exceptions if 1.

- CPUID.(EAX=07H,ECX=0H):EBX[bit 13]: Deprecate

target/i386: Enable fdp-excptn-only and zero-fcs-fds

- CPUID.(EAX=07H,ECX=0H):EBX[bit 6]: x87 FPU Data Pointer updated only
on x87 exceptions if 1.

- CPUID.(EAX=07H,ECX=0H):EBX[bit 13]: Deprecates FPU CS and FPU DS
values if 1. i.e., X87 FCS and FDS are always zero.

Define names for them so that they can be exposed to guest with -cpu host.

Also define the bit field MACROs so that named cpu models can add it as
well in the future.

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Link: https://lore.kernel.org/r/20240814075431.339209-3-xiaoyao.li@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...

00c8a93314-Aug-2024 Xiaoyao Li <xiaoyao.li@intel.com>

target/i386: Don't construct a all-zero entry for CPUID[0xD 0x3f]

Currently, QEMU always constructs a all-zero CPUID entry for
CPUID[0xD 0x3f].

It's meaningless to construct such a leaf as the end

target/i386: Don't construct a all-zero entry for CPUID[0xD 0x3f]

Currently, QEMU always constructs a all-zero CPUID entry for
CPUID[0xD 0x3f].

It's meaningless to construct such a leaf as the end of leaf 0xD. Rework
the logic of how subleaves of 0xD are constructed to get rid of such
all-zero value of subleaf 0x3f.

Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Link: https://lore.kernel.org/r/20240814075431.339209-2-xiaoyao.li@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>

show more ...


/openbmc/qemu/.gitattributes
/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/cirrus/freebsd-14.vars
/openbmc/qemu/.gitlab-ci.d/containers.yml
/openbmc/qemu/Kconfig
/openbmc/qemu/Kconfig.host
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/accel-blocker.c
/openbmc/qemu/audio/pwaudio.c
/openbmc/qemu/chardev/char-fe.c
/openbmc/qemu/chardev/char-mux.c
/openbmc/qemu/chardev/char.c
/openbmc/qemu/chardev/chardev-internal.h
/openbmc/qemu/configure
/openbmc/qemu/docs/about/removed-features.rst
/openbmc/qemu/docs/devel/atomics.rst
/openbmc/qemu/docs/devel/build-system.rst
/openbmc/qemu/docs/devel/clocks.rst
/openbmc/qemu/docs/devel/index-api.rst
/openbmc/qemu/docs/devel/index-internals.rst
/openbmc/qemu/docs/devel/loads-stores.rst
/openbmc/qemu/docs/devel/lockcnt.rst
/openbmc/qemu/docs/devel/maintainers.rst
/openbmc/qemu/docs/devel/migration/mapped-ram.rst
/openbmc/qemu/docs/devel/multiple-iothreads.rst
/openbmc/qemu/docs/devel/rcu.rst
/openbmc/qemu/docs/devel/testing/acpi-bits.rst
/openbmc/qemu/docs/devel/testing/blkdebug.rst
/openbmc/qemu/docs/devel/testing/blkverify.rst
/openbmc/qemu/docs/devel/testing/index.rst
/openbmc/qemu/docs/specs/fw_cfg.rst
/openbmc/qemu/docs/specs/rapl-msr.rst
/openbmc/qemu/docs/system/arm/cubieboard.rst
/openbmc/qemu/docs/system/arm/stm32.rst
/openbmc/qemu/hw/Kconfig
/openbmc/qemu/hw/adc/Kconfig
/openbmc/qemu/hw/adc/meson.build
/openbmc/qemu/hw/arm/Kconfig
/openbmc/qemu/hw/arm/allwinner-a10.c
/openbmc/qemu/hw/arm/omap1.c
/openbmc/qemu/hw/arm/stm32f405_soc.c
/openbmc/qemu/hw/arm/stm32l4x5_soc.c
/openbmc/qemu/hw/arm/xilinx_zynq.c
/openbmc/qemu/hw/audio/hda-codec.c
/openbmc/qemu/hw/block/Kconfig
/openbmc/qemu/hw/block/meson.build
/openbmc/qemu/hw/char/pl011.c
/openbmc/qemu/hw/core/clock.c
/openbmc/qemu/hw/core/cpu-common.c
/openbmc/qemu/hw/display/virtio-gpu.c
/openbmc/qemu/hw/gpio/Kconfig
/openbmc/qemu/hw/gpio/meson.build
/openbmc/qemu/hw/ide/Kconfig
/openbmc/qemu/hw/ide/meson.build
/openbmc/qemu/hw/intc/arm_gicv3_cpuif.c
/openbmc/qemu/hw/intc/omap_intc.c
/openbmc/qemu/hw/meson.build
/openbmc/qemu/hw/misc/Kconfig
/openbmc/qemu/hw/misc/meson.build
/openbmc/qemu/hw/misc/stm32_rcc.c
/openbmc/qemu/hw/misc/stm32l4x5_syscfg.c
/openbmc/qemu/hw/misc/trace-events
/openbmc/qemu/hw/ssi/Kconfig
/openbmc/qemu/hw/ssi/allwinner-a10-spi.c
/openbmc/qemu/hw/ssi/meson.build
/openbmc/qemu/hw/ssi/trace-events
/openbmc/qemu/include/block/aio.h
/openbmc/qemu/include/chardev/char-fe.h
/openbmc/qemu/include/hw/arm/allwinner-a10.h
/openbmc/qemu/include/hw/arm/omap.h
/openbmc/qemu/include/hw/arm/stm32f405_soc.h
/openbmc/qemu/include/hw/block/flash.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/misc/stm32_rcc.h
/openbmc/qemu/include/hw/misc/stm32l4x5_syscfg.h
/openbmc/qemu/include/hw/ssi/allwinner-a10-spi.h
/openbmc/qemu/include/hw/virtio/virtio-gpu.h
/openbmc/qemu/include/qemu/lockcnt.h
/openbmc/qemu/include/qemu/thread.h
/openbmc/qemu/include/sysemu/dma.h
/openbmc/qemu/include/sysemu/sysemu.h
/openbmc/qemu/include/ui/qemu-pixman.h
/openbmc/qemu/include/ui/surface.h
/openbmc/qemu/meson.build
/openbmc/qemu/meson_options.txt
/openbmc/qemu/python/scripts/vendor.py
/openbmc/qemu/python/wheels/meson-1.5.0-py3-none-any.whl
/openbmc/qemu/pythondeps.toml
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/rust/.gitignore
/openbmc/qemu/rust/Kconfig
/openbmc/qemu/rust/hw/Kconfig
/openbmc/qemu/rust/hw/char/Kconfig
/openbmc/qemu/rust/hw/char/meson.build
/openbmc/qemu/rust/hw/char/pl011/.gitignore
/openbmc/qemu/rust/hw/char/pl011/Cargo.lock
/openbmc/qemu/rust/hw/char/pl011/Cargo.toml
/openbmc/qemu/rust/hw/char/pl011/README.md
/openbmc/qemu/rust/hw/char/pl011/meson.build
/openbmc/qemu/rust/hw/char/pl011/src/device.rs
/openbmc/qemu/rust/hw/char/pl011/src/device_class.rs
/openbmc/qemu/rust/hw/char/pl011/src/lib.rs
/openbmc/qemu/rust/hw/char/pl011/src/memory_ops.rs
/openbmc/qemu/rust/hw/meson.build
/openbmc/qemu/rust/meson.build
/openbmc/qemu/rust/qemu-api-macros/Cargo.lock
/openbmc/qemu/rust/qemu-api-macros/Cargo.toml
/openbmc/qemu/rust/qemu-api-macros/README.md
/openbmc/qemu/rust/qemu-api-macros/meson.build
/openbmc/qemu/rust/qemu-api-macros/src/lib.rs
/openbmc/qemu/rust/qemu-api/.gitignore
/openbmc/qemu/rust/qemu-api/Cargo.lock
/openbmc/qemu/rust/qemu-api/Cargo.toml
/openbmc/qemu/rust/qemu-api/README.md
/openbmc/qemu/rust/qemu-api/build.rs
/openbmc/qemu/rust/qemu-api/meson.build
/openbmc/qemu/rust/qemu-api/src/definitions.rs
/openbmc/qemu/rust/qemu-api/src/device_class.rs
/openbmc/qemu/rust/qemu-api/src/lib.rs
/openbmc/qemu/rust/qemu-api/src/tests.rs
/openbmc/qemu/rust/rustfmt.toml
/openbmc/qemu/rust/wrapper.h
/openbmc/qemu/scripts/archive-source.sh
/openbmc/qemu/scripts/make-release
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/scripts/rust/rust_root_crate.sh
/openbmc/qemu/scripts/rust/rustc_args.py
/openbmc/qemu/subprojects/.gitignore
/openbmc/qemu/subprojects/arbitrary-int-1-rs.wrap
/openbmc/qemu/subprojects/bilge-0.2-rs.wrap
/openbmc/qemu/subprojects/bilge-impl-0.2-rs.wrap
/openbmc/qemu/subprojects/either-1-rs.wrap
/openbmc/qemu/subprojects/itertools-0.11-rs.wrap
/openbmc/qemu/subprojects/packagefiles/arbitrary-int-1-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/bilge-0.2-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/bilge-impl-0.2-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/either-1-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/itertools-0.11-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/proc-macro-error-1-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/proc-macro-error-attr-1-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/proc-macro2-1-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/quote-1-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/syn-2-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/unicode-ident-1-rs/meson.build
/openbmc/qemu/subprojects/proc-macro-error-1-rs.wrap
/openbmc/qemu/subprojects/proc-macro-error-attr-1-rs.wrap
/openbmc/qemu/subprojects/proc-macro2-1-rs.wrap
/openbmc/qemu/subprojects/quote-1-rs.wrap
/openbmc/qemu/subprojects/syn-2-rs.wrap
/openbmc/qemu/subprojects/unicode-ident-1-rs.wrap
/openbmc/qemu/subprojects/unicode-ident-1-rs/meson.build
/openbmc/qemu/system/globals.c
/openbmc/qemu/system/vl.c
i386/kvm/kvm.c
/openbmc/qemu/tests/docker/dockerfiles/fedora-rust-nightly.docker
/openbmc/qemu/tests/docker/dockerfiles/opensuse-leap.docker
/openbmc/qemu/tests/lcitool/libvirt-ci
/openbmc/qemu/tests/lcitool/mappings.yml
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/qtest/dbus-display-test.c
/openbmc/qemu/tests/qtest/stm32l4x5.h
/openbmc/qemu/tests/qtest/stm32l4x5_gpio-test.c
/openbmc/qemu/tests/qtest/stm32l4x5_syscfg-test.c
/openbmc/qemu/tests/qtest/stm32l4x5_usart-test.c
/openbmc/qemu/tests/unit/test-char.c
/openbmc/qemu/tests/vm/generated/freebsd.json
/openbmc/qemu/ui/console.c
/openbmc/qemu/ui/dbus-console.c
/openbmc/qemu/ui/dbus-display1.xml
/openbmc/qemu/ui/dbus-listener.c
/openbmc/qemu/ui/input.c
/openbmc/qemu/ui/qemu-pixman.c
/openbmc/qemu/ui/trace-events
/openbmc/qemu/util/aio-posix.c
/openbmc/qemu/util/aio-win32.c
/openbmc/qemu/util/async.c
/openbmc/qemu/util/fdmon-epoll.c
/openbmc/qemu/util/lockcnt.c
/openbmc/qemu/util/memfd.c
4521167f14-Sep-2024 Bibo Mao <maobibo@loongson.cn>

target/loongarch: Avoid bits shift exceeding width of bool type

Variable env->cf[i] is defined as bool type, it is treated as int type
with shift operation. However the max possible width is 56 for

target/loongarch: Avoid bits shift exceeding width of bool type

Variable env->cf[i] is defined as bool type, it is treated as int type
with shift operation. However the max possible width is 56 for the shift
operation, exceeding the width of int type. And there is existing api
read_fcc() which is converted to u64 type with bitwise shift, it can be
used to dump fp registers into coredump note segment.

Resolves: Coverity CID 1561133
Signed-off-by: Bibo Mao <maobibo@loongson.cn>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240914064645.2099169-1-maobibo@loongson.cn>
Signed-off-by: Song Gao <gaosong@loongson.cn>

show more ...


/openbmc/qemu/.gitattributes
/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/cirrus/freebsd-14.vars
/openbmc/qemu/.gitlab-ci.d/containers.yml
/openbmc/qemu/Kconfig
/openbmc/qemu/Kconfig.host
/openbmc/qemu/MAINTAINERS
/openbmc/qemu/accel/accel-blocker.c
/openbmc/qemu/audio/pwaudio.c
/openbmc/qemu/chardev/char-fe.c
/openbmc/qemu/chardev/char-mux.c
/openbmc/qemu/chardev/char.c
/openbmc/qemu/chardev/chardev-internal.h
/openbmc/qemu/configure
/openbmc/qemu/docs/about/removed-features.rst
/openbmc/qemu/docs/devel/atomics.rst
/openbmc/qemu/docs/devel/build-system.rst
/openbmc/qemu/docs/devel/clocks.rst
/openbmc/qemu/docs/devel/index-api.rst
/openbmc/qemu/docs/devel/index-internals.rst
/openbmc/qemu/docs/devel/loads-stores.rst
/openbmc/qemu/docs/devel/lockcnt.rst
/openbmc/qemu/docs/devel/maintainers.rst
/openbmc/qemu/docs/devel/migration/mapped-ram.rst
/openbmc/qemu/docs/devel/multiple-iothreads.rst
/openbmc/qemu/docs/devel/rcu.rst
/openbmc/qemu/docs/devel/testing/acpi-bits.rst
/openbmc/qemu/docs/devel/testing/blkdebug.rst
/openbmc/qemu/docs/devel/testing/blkverify.rst
/openbmc/qemu/docs/devel/testing/index.rst
/openbmc/qemu/docs/specs/fw_cfg.rst
/openbmc/qemu/docs/specs/rapl-msr.rst
/openbmc/qemu/docs/system/arm/cubieboard.rst
/openbmc/qemu/docs/system/arm/stm32.rst
/openbmc/qemu/hw/Kconfig
/openbmc/qemu/hw/acpi/generic_event_device.c
/openbmc/qemu/hw/adc/Kconfig
/openbmc/qemu/hw/adc/meson.build
/openbmc/qemu/hw/arm/Kconfig
/openbmc/qemu/hw/arm/allwinner-a10.c
/openbmc/qemu/hw/arm/omap1.c
/openbmc/qemu/hw/arm/stm32f405_soc.c
/openbmc/qemu/hw/arm/stm32l4x5_soc.c
/openbmc/qemu/hw/arm/xilinx_zynq.c
/openbmc/qemu/hw/audio/hda-codec.c
/openbmc/qemu/hw/block/Kconfig
/openbmc/qemu/hw/block/meson.build
/openbmc/qemu/hw/char/pl011.c
/openbmc/qemu/hw/core/clock.c
/openbmc/qemu/hw/core/cpu-common.c
/openbmc/qemu/hw/display/virtio-gpu.c
/openbmc/qemu/hw/gpio/Kconfig
/openbmc/qemu/hw/gpio/meson.build
/openbmc/qemu/hw/ide/Kconfig
/openbmc/qemu/hw/ide/meson.build
/openbmc/qemu/hw/intc/arm_gicv3_cpuif.c
/openbmc/qemu/hw/intc/omap_intc.c
/openbmc/qemu/hw/loongarch/virt.c
/openbmc/qemu/hw/meson.build
/openbmc/qemu/hw/misc/Kconfig
/openbmc/qemu/hw/misc/meson.build
/openbmc/qemu/hw/misc/stm32_rcc.c
/openbmc/qemu/hw/misc/stm32l4x5_syscfg.c
/openbmc/qemu/hw/misc/trace-events
/openbmc/qemu/hw/ssi/Kconfig
/openbmc/qemu/hw/ssi/allwinner-a10-spi.c
/openbmc/qemu/hw/ssi/meson.build
/openbmc/qemu/hw/ssi/trace-events
/openbmc/qemu/include/block/aio.h
/openbmc/qemu/include/chardev/char-fe.h
/openbmc/qemu/include/hw/acpi/generic_event_device.h
/openbmc/qemu/include/hw/arm/allwinner-a10.h
/openbmc/qemu/include/hw/arm/omap.h
/openbmc/qemu/include/hw/arm/stm32f405_soc.h
/openbmc/qemu/include/hw/block/flash.h
/openbmc/qemu/include/hw/core/cpu.h
/openbmc/qemu/include/hw/misc/stm32_rcc.h
/openbmc/qemu/include/hw/misc/stm32l4x5_syscfg.h
/openbmc/qemu/include/hw/ssi/allwinner-a10-spi.h
/openbmc/qemu/include/hw/virtio/virtio-gpu.h
/openbmc/qemu/include/qemu/lockcnt.h
/openbmc/qemu/include/qemu/thread.h
/openbmc/qemu/include/sysemu/dma.h
/openbmc/qemu/include/sysemu/sysemu.h
/openbmc/qemu/include/ui/qemu-pixman.h
/openbmc/qemu/include/ui/surface.h
/openbmc/qemu/meson.build
/openbmc/qemu/meson_options.txt
/openbmc/qemu/python/scripts/vendor.py
/openbmc/qemu/python/wheels/meson-1.5.0-py3-none-any.whl
/openbmc/qemu/pythondeps.toml
/openbmc/qemu/qemu-options.hx
/openbmc/qemu/rust/.gitignore
/openbmc/qemu/rust/Kconfig
/openbmc/qemu/rust/hw/Kconfig
/openbmc/qemu/rust/hw/char/Kconfig
/openbmc/qemu/rust/hw/char/meson.build
/openbmc/qemu/rust/hw/char/pl011/.gitignore
/openbmc/qemu/rust/hw/char/pl011/Cargo.lock
/openbmc/qemu/rust/hw/char/pl011/Cargo.toml
/openbmc/qemu/rust/hw/char/pl011/README.md
/openbmc/qemu/rust/hw/char/pl011/meson.build
/openbmc/qemu/rust/hw/char/pl011/src/device.rs
/openbmc/qemu/rust/hw/char/pl011/src/device_class.rs
/openbmc/qemu/rust/hw/char/pl011/src/lib.rs
/openbmc/qemu/rust/hw/char/pl011/src/memory_ops.rs
/openbmc/qemu/rust/hw/meson.build
/openbmc/qemu/rust/meson.build
/openbmc/qemu/rust/qemu-api-macros/Cargo.lock
/openbmc/qemu/rust/qemu-api-macros/Cargo.toml
/openbmc/qemu/rust/qemu-api-macros/README.md
/openbmc/qemu/rust/qemu-api-macros/meson.build
/openbmc/qemu/rust/qemu-api-macros/src/lib.rs
/openbmc/qemu/rust/qemu-api/.gitignore
/openbmc/qemu/rust/qemu-api/Cargo.lock
/openbmc/qemu/rust/qemu-api/Cargo.toml
/openbmc/qemu/rust/qemu-api/README.md
/openbmc/qemu/rust/qemu-api/build.rs
/openbmc/qemu/rust/qemu-api/meson.build
/openbmc/qemu/rust/qemu-api/src/definitions.rs
/openbmc/qemu/rust/qemu-api/src/device_class.rs
/openbmc/qemu/rust/qemu-api/src/lib.rs
/openbmc/qemu/rust/qemu-api/src/tests.rs
/openbmc/qemu/rust/rustfmt.toml
/openbmc/qemu/rust/wrapper.h
/openbmc/qemu/scripts/archive-source.sh
/openbmc/qemu/scripts/make-release
/openbmc/qemu/scripts/meson-buildoptions.sh
/openbmc/qemu/scripts/rust/rust_root_crate.sh
/openbmc/qemu/scripts/rust/rustc_args.py
/openbmc/qemu/subprojects/.gitignore
/openbmc/qemu/subprojects/arbitrary-int-1-rs.wrap
/openbmc/qemu/subprojects/bilge-0.2-rs.wrap
/openbmc/qemu/subprojects/bilge-impl-0.2-rs.wrap
/openbmc/qemu/subprojects/either-1-rs.wrap
/openbmc/qemu/subprojects/itertools-0.11-rs.wrap
/openbmc/qemu/subprojects/packagefiles/arbitrary-int-1-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/bilge-0.2-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/bilge-impl-0.2-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/either-1-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/itertools-0.11-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/proc-macro-error-1-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/proc-macro-error-attr-1-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/proc-macro2-1-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/quote-1-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/syn-2-rs/meson.build
/openbmc/qemu/subprojects/packagefiles/unicode-ident-1-rs/meson.build
/openbmc/qemu/subprojects/proc-macro-error-1-rs.wrap
/openbmc/qemu/subprojects/proc-macro-error-attr-1-rs.wrap
/openbmc/qemu/subprojects/proc-macro2-1-rs.wrap
/openbmc/qemu/subprojects/quote-1-rs.wrap
/openbmc/qemu/subprojects/syn-2-rs.wrap
/openbmc/qemu/subprojects/unicode-ident-1-rs.wrap
/openbmc/qemu/subprojects/unicode-ident-1-rs/meson.build
/openbmc/qemu/system/globals.c
/openbmc/qemu/system/vl.c
loongarch/arch_dump.c
/openbmc/qemu/tests/docker/dockerfiles/fedora-rust-nightly.docker
/openbmc/qemu/tests/docker/dockerfiles/opensuse-leap.docker
/openbmc/qemu/tests/lcitool/libvirt-ci
/openbmc/qemu/tests/lcitool/mappings.yml
/openbmc/qemu/tests/lcitool/refresh
/openbmc/qemu/tests/qtest/dbus-display-test.c
/openbmc/qemu/tests/qtest/stm32l4x5.h
/openbmc/qemu/tests/qtest/stm32l4x5_gpio-test.c
/openbmc/qemu/tests/qtest/stm32l4x5_syscfg-test.c
/openbmc/qemu/tests/qtest/stm32l4x5_usart-test.c
/openbmc/qemu/tests/unit/test-char.c
/openbmc/qemu/tests/vm/generated/freebsd.json
/openbmc/qemu/ui/console.c
/openbmc/qemu/ui/dbus-console.c
/openbmc/qemu/ui/dbus-display1.xml
/openbmc/qemu/ui/dbus-listener.c
/openbmc/qemu/ui/input.c
/openbmc/qemu/ui/qemu-pixman.c
/openbmc/qemu/ui/trace-events
/openbmc/qemu/util/aio-posix.c
/openbmc/qemu/util/aio-win32.c
/openbmc/qemu/util/async.c
/openbmc/qemu/util/fdmon-epoll.c
/openbmc/qemu/util/lockcnt.c
/openbmc/qemu/util/memfd.c
3e8f019b27-Sep-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

hw/mips: Have mips_cpu_create_with_clock() take an endianness argument

mips_cpu_create_with_clock() creates a vCPU. Pass it the vCPU
endianness requested by argument. Update the board call sites.

S

hw/mips: Have mips_cpu_create_with_clock() take an endianness argument

mips_cpu_create_with_clock() creates a vCPU. Pass it the vCPU
endianness requested by argument. Update the board call sites.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20241010215015.44326-17-philmd@linaro.org>

show more ...

d70e589527-Sep-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

target/mips: Expose MIPSCPU::is_big_endian property

Add the "big-endian" property and set the CP0C0_BE bit in CP0_Config0.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Jia

target/mips: Expose MIPSCPU::is_big_endian property

Add the "big-endian" property and set the CP0C0_BE bit in CP0_Config0.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20241010215015.44326-15-philmd@linaro.org>

show more ...

35845cf804-Oct-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

target/mips: Use tcg_constant_tl() instead of tcg_gen_movi_tl()

Directly use tcg_constant_tl() for constant integer, this
save a call to tcg_gen_movi_tl(), often saving a temp register.

Most of the

target/mips: Use tcg_constant_tl() instead of tcg_gen_movi_tl()

Directly use tcg_constant_tl() for constant integer, this
save a call to tcg_gen_movi_tl(), often saving a temp register.

Most of the places found using the following Coccinelle spatch script:

@@
identifier tmp;
constant val;
@@
* TCGv tmp = tcg_temp_new();
...
* tcg_gen_movi_tl(tmp, val);

@@
identifier tmp;
int val;
@@
* TCGv tmp = tcg_temp_new();
...
* tcg_gen_movi_i64(tmp, val);

Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20241004202621.4321-2-philmd@linaro.org>

show more ...

d0b24b7f10-Oct-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

target/mips: Use gen_op_addr_addi() when possible

Replace tcg_gen_movi_tl() + gen_op_addr_add() by a single
gen_op_addr_addi() call.

gen_op_addr_addi() calls tcg_gen_addi_tl() which might
optimize

target/mips: Use gen_op_addr_addi() when possible

Replace tcg_gen_movi_tl() + gen_op_addr_add() by a single
gen_op_addr_addi() call.

gen_op_addr_addi() calls tcg_gen_addi_tl() which might
optimize if the immediate is zero.

Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20241010215015.44326-13-philmd@linaro.org>

show more ...

de00296610-Oct-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

target/mips: Have gen_addiupc() expand $pc during translation

Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Ri

target/mips: Have gen_addiupc() expand $pc during translation

Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20241010215015.44326-12-philmd@linaro.org>

show more ...

2803e24626-Sep-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

target/mips: Replace MO_TE by mo_endian()

Replace compile-time MO_TE evaluation by runtime mo_endian() one,
which expand target endianness from DisasContext.

Mechanical change using:

$ sed -i -e

target/mips: Replace MO_TE by mo_endian()

Replace compile-time MO_TE evaluation by runtime mo_endian() one,
which expand target endianness from DisasContext.

Mechanical change using:

$ sed -i -e 's/MO_TE/mo_endian(ctx)/' \
$(git grep -l MO_TE target/mips)

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20241010215015.44326-11-philmd@linaro.org>

show more ...

96ccd85326-Sep-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

target/mips: Introduce mo_endian() helper

Introduce mo_endian() which returns the endian MemOp
corresponding to the vCPU DisasContext.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Revi

target/mips: Introduce mo_endian() helper

Introduce mo_endian() which returns the endian MemOp
corresponding to the vCPU DisasContext.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20241010215015.44326-10-philmd@linaro.org>

show more ...

d74fbe0f14-Oct-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

target/mips: Remove unused MEMOP_IDX() macro

MEMOP_IDX() is unused since commit 948f88661c6 ("target/mips:
Use cpu_*_data_ra for msa load/store"), remove it.

Signed-off-by: Philippe Mathieu-Daudé <

target/mips: Remove unused MEMOP_IDX() macro

MEMOP_IDX() is unused since commit 948f88661c6 ("target/mips:
Use cpu_*_data_ra for msa load/store"), remove it.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20241014232235.51988-1-philmd@linaro.org>

show more ...

a6f8e0ae10-Oct-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

target/mips: Rename unused sysemu argument of OP_LD_ATOMIC()

In commit 6d0cad12594 ("target/mips: Finish conversion to
tcg_gen_qemu_{ld,st}_*") we renamed the argument of the user
definition. Rename

target/mips: Rename unused sysemu argument of OP_LD_ATOMIC()

In commit 6d0cad12594 ("target/mips: Finish conversion to
tcg_gen_qemu_{ld,st}_*") we renamed the argument of the user
definition. Rename the system part for coherency. Since the
argument is ignored, prefix with 'ignored_'.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20241010215015.44326-9-philmd@linaro.org>

show more ...

89b59d8610-Oct-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

target/mips: Explode MO_TExx -> MO_TE | MO_xx

Extract the implicit MO_TE definition in order to replace
it by runtime variable in the next commit.

Mechanical change using:

$ for n in UW UL UQ UO

target/mips: Explode MO_TExx -> MO_TE | MO_xx

Extract the implicit MO_TE definition in order to replace
it by runtime variable in the next commit.

Mechanical change using:

$ for n in UW UL UQ UO SW SL SQ; do \
sed -i -e "s/MO_TE$n/MO_TE | MO_$n/" \
$(git grep -l MO_TE$n target/mips); \
done

manually remove superfluous parenthesis in nanoMIPS gen_save().

Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20241010215015.44326-8-philmd@linaro.org>

show more ...

e9c26e7710-Oct-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

target/mips: Factor mo_endian_rev() out of MXU code

Instead of swapping the reversed target endianness
using MO_BSWAP, directly return the correct endianness.

Suggested-by: Richard Henderson <richa

target/mips: Factor mo_endian_rev() out of MXU code

Instead of swapping the reversed target endianness
using MO_BSWAP, directly return the correct endianness.

Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20241010215015.44326-7-philmd@linaro.org>

show more ...

54821ff630-Sep-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

target/mips: Convert mips16e decr_and_load/store() macros to functions

Functions are easier to rework than macros. Besides,
there is no gain here in inlining these.

Signed-off-by: Philippe Mathieu-

target/mips: Convert mips16e decr_and_load/store() macros to functions

Functions are easier to rework than macros. Besides,
there is no gain here in inlining these.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20241010215015.44326-6-philmd@linaro.org>

show more ...

2cf8226f26-Sep-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

target/mips: Replace MO_TE by mo_endian_env() in get_pte()

Replace compile-time MO_TE evaluation by runtime mo_endian_env()
one, which expand target endianness from vCPU env.

Signed-off-by: Philip

target/mips: Replace MO_TE by mo_endian_env() in get_pte()

Replace compile-time MO_TE evaluation by runtime mo_endian_env()
one, which expand target endianness from vCPU env.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20241010215015.44326-5-philmd@linaro.org>

show more ...

3e10be7526-Sep-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

target/mips: Introduce mo_endian_env() helper

Introduce mo_endian_env() which returns the endian
MemOp corresponding to the vCPU env.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Revie

target/mips: Introduce mo_endian_env() helper

Introduce mo_endian_env() which returns the endian
MemOp corresponding to the vCPU env.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20241010215015.44326-4-philmd@linaro.org>

show more ...

e99072b604-Oct-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

target/mips: Rename cpu_is_bigendian() -> disas_is_bigendian()

Methods using the 'cpu_' prefix usually take a (Arch)CPUState
argument. Since this method takes a DisasContext argument,
rename it as d

target/mips: Rename cpu_is_bigendian() -> disas_is_bigendian()

Methods using the 'cpu_' prefix usually take a (Arch)CPUState
argument. Since this method takes a DisasContext argument,
rename it as disas_is_bigendian().

Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20241010215015.44326-3-philmd@linaro.org>

show more ...

5375bc1626-Sep-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

target/mips: Declare mips_env_is_bigendian() in 'internal.h'

In order to re-use cpu_is_bigendian(), declare it on "internal.h"
after renaming it as mips_env_is_bigendian().

Reviewed-by: Jiaxun Yang

target/mips: Declare mips_env_is_bigendian() in 'internal.h'

In order to re-use cpu_is_bigendian(), declare it on "internal.h"
after renaming it as mips_env_is_bigendian().

Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Tested-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20241010215015.44326-2-philmd@linaro.org>

show more ...

cebf9b0d04-Oct-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

target/ppc: Use tcg_constant_tl() instead of tcg_gen_movi_tl()

Directly use tcg_constant_tl() for constant integer,
this save a call to tcg_gen_movi_tl() and a temp register.

Inspired-by: Richard H

target/ppc: Use tcg_constant_tl() instead of tcg_gen_movi_tl()

Directly use tcg_constant_tl() for constant integer,
this save a call to tcg_gen_movi_tl() and a temp register.

Inspired-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20241004202621.4321-4-philmd@linaro.org>

show more ...

96ce24da04-Oct-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

target/tricore: Use tcg_constant_tl() instead of tcg_gen_movi_tl()

Directly use tcg_constant_tl() for constant integer,
this save a call to tcg_gen_movi_tl().

Inspired-by: Richard Henderson <richar

target/tricore: Use tcg_constant_tl() instead of tcg_gen_movi_tl()

Directly use tcg_constant_tl() for constant integer,
this save a call to tcg_gen_movi_tl().

Inspired-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20241004202621.4321-3-philmd@linaro.org>

show more ...

12345678910>>...573