History log of /openbmc/qemu/hw/ppc/ (Results 226 – 250 of 3181)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
e1617b8408-Mar-2024 Harsh Prateek Bora <harshpb@linux.ibm.com>

spapr: nested: Introduce cap-nested-papr for Nested PAPR API

Introduce a SPAPR capability cap-nested-papr which enables nested PAPR
API for nested guests. This new API is to enable support for KVM o

spapr: nested: Introduce cap-nested-papr for Nested PAPR API

Introduce a SPAPR capability cap-nested-papr which enables nested PAPR
API for nested guests. This new API is to enable support for KVM on PowerVM
and the support in Linux kernel has already merged upstream.

Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

4977110708-Mar-2024 Harsh Prateek Bora <harshpb@linux.ibm.com>

spapr: nested: Introduce H_GUEST_RUN_VCPU hcall.

The H_GUEST_RUN_VCPU hcall is used to start execution of a Guest VCPU.
The Hypervisor will update the state of the Guest VCPU based on the
input buff

spapr: nested: Introduce H_GUEST_RUN_VCPU hcall.

The H_GUEST_RUN_VCPU hcall is used to start execution of a Guest VCPU.
The Hypervisor will update the state of the Guest VCPU based on the
input buffer, restore the saved Guest VCPU state, and start its
execution.

The Guest VCPU can stop running for numerous reasons including HCALLs,
hypervisor exceptions, or an outstanding Host Partition Interrupt.
The reason that the Guest VCPU stopped running is communicated through
R4 and the output buffer will be filled in with any relevant state.

Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

98823ce008-Mar-2024 Harsh Prateek Bora <harshpb@linux.ibm.com>

spapr: nested: Use correct source for parttbl info for nested PAPR API.

For nested PAPR API, we use SpaprMachineStateNestedGuest struct to store
partition table info, use the same in spapr_get_pate_

spapr: nested: Use correct source for parttbl info for nested PAPR API.

For nested PAPR API, we use SpaprMachineStateNestedGuest struct to store
partition table info, use the same in spapr_get_pate_nested() via
helper.

Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

64c4390908-Mar-2024 Harsh Prateek Bora <harshpb@linux.ibm.com>

spapr: nested: Introduce H_GUEST_[GET|SET]_STATE hcalls.

Introduce the nested PAPR hcalls:
- H_GUEST_GET_STATE which is used to get state of a nested guest or
a guest VCPU. The value field

spapr: nested: Introduce H_GUEST_[GET|SET]_STATE hcalls.

Introduce the nested PAPR hcalls:
- H_GUEST_GET_STATE which is used to get state of a nested guest or
a guest VCPU. The value field for each element in the request is
destination to be updated to reflect current state on success.
- H_GUEST_SET_STATE which is used to modify the state of a guest or
a guest VCPU. On success, guest (or its VCPU) state shall be
updated as per the value field for the requested element(s).

Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

4a575f9a08-Mar-2024 Harsh Prateek Bora <harshpb@linux.ibm.com>

spapr: nested: Initialize the GSB elements lookup table.

Nested PAPR API provides a standard Guest State Buffer (GSB) format
with unique IDs for each guest state element for which get/set state is
s

spapr: nested: Initialize the GSB elements lookup table.

Nested PAPR API provides a standard Guest State Buffer (GSB) format
with unique IDs for each guest state element for which get/set state is
supported by the API. Some of the elements are read-only and/or guest-wide.
Introducing additional required GSB elements and helper routines for state
exchange of each of the nested guest state elements for which get/set state
should be supported by the API.

[amachhiw: set the PCR whenever logical PVR is set]

Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Shivaprasad G Bhat <sbhat@linux.ibm.com>
Signed-off-by: Amit Machhiwal <amachhiw@linux.vnet.ibm.com>
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

bb23bcce08-Mar-2024 Harsh Prateek Bora <harshpb@linux.ibm.com>

spapr: nested: Extend nested_ppc_state for nested PAPR API

Currently, nested_ppc_state stores a certain set of registers and works
with nested_[load|save]_state() for state transfer as reqd for nest

spapr: nested: Extend nested_ppc_state for nested PAPR API

Currently, nested_ppc_state stores a certain set of registers and works
with nested_[load|save]_state() for state transfer as reqd for nested-hv API.
Extending these with additional registers state as reqd for nested PAPR API.

Acked-by: Nicholas Piggin <npiggin@gmail.com>
Suggested-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

c6664be008-Mar-2024 Harsh Prateek Bora <harshpb@linux.ibm.com>

spapr: nested: Introduce H_GUEST_CREATE_VCPU hcall.

Introduce the nested PAPR hcall H_GUEST_CREATE_VCPU which is used to
create and initialize the specified VCPU resource for the previously
created

spapr: nested: Introduce H_GUEST_CREATE_VCPU hcall.

Introduce the nested PAPR hcall H_GUEST_CREATE_VCPU which is used to
create and initialize the specified VCPU resource for the previously
created guest. Each guest can have multiple VCPUs upto max 2048.
All VCPUs for a guest gets deallocated on guest delete.

Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

f560562608-Mar-2024 Harsh Prateek Bora <harshpb@linux.ibm.com>

spapr: nested: Introduce H_GUEST_[CREATE|DELETE] hcalls.

Introduce the nested PAPR hcalls:
- H_GUEST_CREATE which is used to create and allocate resources for
nested guest being created.
- H

spapr: nested: Introduce H_GUEST_[CREATE|DELETE] hcalls.

Introduce the nested PAPR hcalls:
- H_GUEST_CREATE which is used to create and allocate resources for
nested guest being created.
- H_GUEST_DELETE which is used to delete and deallocate resources
for the nested guest being deleted. It also supports deleting all nested
guests at once using a deleteAll flag.

Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

71c33ef008-Mar-2024 Harsh Prateek Bora <harshpb@linux.ibm.com>

spapr: nested: Introduce H_GUEST_[GET|SET]_CAPABILITIES hcalls.

Introduce the nested PAPR hcalls:
- H_GUEST_GET_CAPABILITIES which is used to query the capabilities
of the API and the L2 guests

spapr: nested: Introduce H_GUEST_[GET|SET]_CAPABILITIES hcalls.

Introduce the nested PAPR hcalls:
- H_GUEST_GET_CAPABILITIES which is used to query the capabilities
of the API and the L2 guests it provides.
- H_GUEST_SET_CAPABILITIES which is used to set the Guest API
capabilities that the Host Partition supports and may use.

[amachhiw: support for p9 compat mode and return register bug fixes]

Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Amit Machhiwal <amachhiw@linux.vnet.ibm.com>
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

21a8d22f08-Mar-2024 Harsh Prateek Bora <harshpb@linux.ibm.com>

spapr: nested: keep nested-hv related code restricted to its API.

spapr_exit_nested and spapr_get_pate_nested_hv contains code which
is specific to nested-hv API. Isolating code flows based on API
h

spapr: nested: keep nested-hv related code restricted to its API.

spapr_exit_nested and spapr_get_pate_nested_hv contains code which
is specific to nested-hv API. Isolating code flows based on API
helps extending it to be used with different API as well.

Suggested-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

1331d0ac08-Mar-2024 Harsh Prateek Bora <harshpb@linux.ibm.com>

spapr: nested: Introduce SpaprMachineStateNested to store related info.

Currently, nested_ptcr is being used by existing nested-hv API to store
nested guest related info. This need to be organised t

spapr: nested: Introduce SpaprMachineStateNested to store related info.

Currently, nested_ptcr is being used by existing nested-hv API to store
nested guest related info. This need to be organised to extend support
for the nested PAPR API which would need to store additional info
related to nested guests in next series of patches.

Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

c2813a3508-Mar-2024 Harsh Prateek Bora <harshpb@linux.ibm.com>

spapr: nested: move nested part of spapr_get_pate into spapr_nested.c

Most of the nested code has already been moved to spapr_nested.c
This logic inside spapr_get_pate is related to nested guests an

spapr: nested: move nested part of spapr_get_pate into spapr_nested.c

Most of the nested code has already been moved to spapr_nested.c
This logic inside spapr_get_pate is related to nested guests and
better suited for spapr_nested.c, hence moving there.

Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

6026fdbd08-Mar-2024 Harsh Prateek Bora <harshpb@linux.ibm.com>

spapr: nested: register nested-hv api hcalls only for cap-nested-hv

Since cap-nested-hv is an optional capability, it makes sense to register
api specfic hcalls only when respective capability is en

spapr: nested: register nested-hv api hcalls only for cap-nested-hv

Since cap-nested-hv is an optional capability, it makes sense to register
api specfic hcalls only when respective capability is enabled. This
requires to introduce a new API to unregister hypercalls to maintain
sanity across guest reboot since caps are re-applied across reboots and
re-registeration of hypercalls would hit assert otherwise.

Reviewed-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

9940412a27-Feb-2024 Caleb Schlossin <calebs@linux.vnet.ibm.com>

ppc/pnv: Improve pervasive topology calculation for big-core

Big (SMT8) cores have a complicated function to map the core, thread ID
to pervasive topology (PIR). Fix this for power8, power9, and pow

ppc/pnv: Improve pervasive topology calculation for big-core

Big (SMT8) cores have a complicated function to map the core, thread ID
to pervasive topology (PIR). Fix this for power8, power9, and power10.

Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Caleb Schlossin <calebs@linux.vnet.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

24a9d20c27-Dec-2023 Nicholas Piggin <npiggin@gmail.com>

ppc/pnv: Set POWER9, POWER10 ibm,pa-features bits

Copy the pa-features arrays from spapr, adjusting slightly as
described in comments.

Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed

ppc/pnv: Set POWER9, POWER10 ibm,pa-features bits

Copy the pa-features arrays from spapr, adjusting slightly as
described in comments.

Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

ce2b853627-Dec-2023 Nicholas Piggin <npiggin@gmail.com>

ppc/pnv: Permit ibm,pa-features set per machine variant

This allows different pa-features for powernv8/9/10.

Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <

ppc/pnv: Permit ibm,pa-features set per machine variant

This allows different pa-features for powernv8/9/10.

Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

d83d350c27-Dec-2023 Benjamin Gray <bgray@linux.ibm.com>

ppc/spapr: Add pa-features for POWER10 machines

Add POWER10 pa-features entry.

Notably DEXCR and [P]HASHST/[P]HASHCHK instruction support is
advertised. Each DEXCR aspect is allocated a bit in the

ppc/spapr: Add pa-features for POWER10 machines

Add POWER10 pa-features entry.

Notably DEXCR and [P]HASHST/[P]HASHCHK instruction support is
advertised. Each DEXCR aspect is allocated a bit in the device tree,
using the 68--71 byte range (inclusive). The functionality of the
[P]HASHST/[P]HASHCHK instructions is separately declared in byte 72,
bit 0 (BE).

Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Benjamin Gray <bgray@linux.ibm.com>
[npiggin: reword title and changelog, adjust a few bits]
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

8b0e3fb827-Dec-2023 Nicholas Piggin <npiggin@gmail.com>

ppc/spapr: Adjust ibm,pa-features for POWER9

"MMR" and "SPR SO" are not implemented in POWER9, so clear those bits.
HTM is not set by default, and only later if the cap is set, so remove
the comment

ppc/spapr: Adjust ibm,pa-features for POWER9

"MMR" and "SPR SO" are not implemented in POWER9, so clear those bits.
HTM is not set by default, and only later if the cap is set, so remove
the comment that suggests otherwise.

Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

17aa684f18-Jan-2024 Nicholas Piggin <npiggin@gmail.com>

ppc/spapr: Remove copy-paste from pa-features

TCG does not support copy/paste instructions. Remove it from
ibm,pa-features. This has never been implemented under TCG or
practically usable under KVM,

ppc/spapr: Remove copy-paste from pa-features

TCG does not support copy/paste instructions. Remove it from
ibm,pa-features. This has never been implemented under TCG or
practically usable under KVM, so it won't be missed.

Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

a5a5778627-Dec-2023 Nicholas Piggin <npiggin@gmail.com>

ppc/spapr|pnv: Remove SAO from pa-features

SAO is a page table attribute that strengthens the memory ordering of
accesses. QEMU with MTTCG does not implement this, so clear it in
ibm,pa-features. Th

ppc/spapr|pnv: Remove SAO from pa-features

SAO is a page table attribute that strengthens the memory ordering of
accesses. QEMU with MTTCG does not implement this, so clear it in
ibm,pa-features. This is an obscure feature that has been removed from
POWER10 ISA v3.1, there isn't much concern with removing it.

Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

8f054d9e23-Jan-2024 Nicholas Piggin <npiggin@gmail.com>

ppc: Drop support for POWER9 and POWER10 DD1 chips

The POWER9 DD1 and POWER10 DD1 chips are not public and are no longer of
any use in QEMU. Remove them.

Reviewed-by: Harsh Prateek Bora <harshpb@li

ppc: Drop support for POWER9 and POWER10 DD1 chips

The POWER9 DD1 and POWER10 DD1 chips are not public and are no longer of
any use in QEMU. Remove them.

Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...

5e97fd4813-Jun-2023 Nicholas Piggin <npiggin@gmail.com>

spapr: set MSR[ME] and MSR[FP] on client entry

The initial MSR state for the OpenFirmware binding specifies
MSR[ME] and MSR[FP] are set.

Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Sign

spapr: set MSR[ME] and MSR[FP] on client entry

The initial MSR state for the OpenFirmware binding specifies
MSR[ME] and MSR[FP] are set.

Reviewed-by: Harsh Prateek Bora <harshpb@linux.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>

show more ...


/openbmc/qemu/MAINTAINERS
/openbmc/qemu/contrib/elf2dmp/addrspace.c
/openbmc/qemu/contrib/elf2dmp/addrspace.h
/openbmc/qemu/contrib/elf2dmp/download.c
/openbmc/qemu/contrib/elf2dmp/download.h
/openbmc/qemu/contrib/elf2dmp/main.c
/openbmc/qemu/contrib/elf2dmp/pdb.c
/openbmc/qemu/contrib/elf2dmp/pdb.h
/openbmc/qemu/contrib/elf2dmp/qemu_elf.c
/openbmc/qemu/contrib/elf2dmp/qemu_elf.h
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/conf.py
/openbmc/qemu/docs/devel/migration/main.rst
/openbmc/qemu/ebpf/ebpf.c
/openbmc/qemu/ebpf/ebpf.h
/openbmc/qemu/ebpf/ebpf_rss-stub.c
/openbmc/qemu/ebpf/ebpf_rss.c
/openbmc/qemu/ebpf/ebpf_rss.h
/openbmc/qemu/ebpf/meson.build
/openbmc/qemu/ebpf/rss.bpf.skeleton.h
/openbmc/qemu/hw/arm/gumstix.c
/openbmc/qemu/hw/arm/mainstone.c
/openbmc/qemu/hw/arm/nseries.c
/openbmc/qemu/hw/arm/palm.c
/openbmc/qemu/hw/arm/spitz.c
/openbmc/qemu/hw/arm/tosa.c
/openbmc/qemu/hw/arm/z2.c
/openbmc/qemu/hw/core/cpu-common.c
/openbmc/qemu/hw/core/loader-fit.c
/openbmc/qemu/hw/core/machine-qmp-cmds.c
/openbmc/qemu/hw/core/machine.c
/openbmc/qemu/hw/core/numa.c
/openbmc/qemu/hw/core/qdev-properties-system.c
/openbmc/qemu/hw/gpio/Kconfig
/openbmc/qemu/hw/gpio/meson.build
/openbmc/qemu/hw/gpio/pcf8574.c
/openbmc/qemu/hw/m68k/virt.c
/openbmc/qemu/hw/misc/ivshmem.c
/openbmc/qemu/hw/net/e1000e_core.c
/openbmc/qemu/hw/net/e1000e_core.h
/openbmc/qemu/hw/net/igb_core.c
/openbmc/qemu/hw/net/igb_core.h
/openbmc/qemu/hw/net/pcnet.c
/openbmc/qemu/hw/net/virtio-net.c
spapr_cpu_core.c
/openbmc/qemu/hw/sparc64/sun4u.c
/openbmc/qemu/hw/vfio/common.c
/openbmc/qemu/hw/vfio/container.c
/openbmc/qemu/hw/vfio/cpr.c
/openbmc/qemu/hw/vfio/iommufd.c
/openbmc/qemu/hw/vfio/meson.build
/openbmc/qemu/hw/vfio/migration.c
/openbmc/qemu/hw/virtio/vhost-user.c
/openbmc/qemu/hw/virtio/virtio-balloon.c
/openbmc/qemu/include/hw/gpio/pcf8574.h
/openbmc/qemu/include/hw/qdev-properties-system.h
/openbmc/qemu/include/hw/vfio/vfio-common.h
/openbmc/qemu/include/hw/vfio/vfio-container-base.h
/openbmc/qemu/include/hw/virtio/virtio-net.h
/openbmc/qemu/include/migration/client-options.h
/openbmc/qemu/include/migration/misc.h
/openbmc/qemu/include/migration/register.h
/openbmc/qemu/include/qemu/help-texts.h
/openbmc/qemu/include/qemu/typedefs.h
/openbmc/qemu/io/channel-file.c
/openbmc/qemu/meson.build
/openbmc/qemu/migration/colo.c
/openbmc/qemu/migration/file.c
/openbmc/qemu/migration/meson.build
/openbmc/qemu/migration/migration-hmp-cmds.c
/openbmc/qemu/migration/migration.c
/openbmc/qemu/migration/migration.h
/openbmc/qemu/migration/multifd-zero-page.c
/openbmc/qemu/migration/multifd-zlib.c
/openbmc/qemu/migration/multifd-zstd.c
/openbmc/qemu/migration/multifd.c
/openbmc/qemu/migration/multifd.h
/openbmc/qemu/migration/options.c
/openbmc/qemu/migration/options.h
/openbmc/qemu/migration/qemu-file.c
/openbmc/qemu/migration/ram.c
/openbmc/qemu/migration/ram.h
/openbmc/qemu/migration/rdma.c
/openbmc/qemu/migration/savevm.c
/openbmc/qemu/migration/trace-events
/openbmc/qemu/net/colo-compare.c
/openbmc/qemu/net/vhost-vdpa.c
/openbmc/qemu/qapi/ebpf.json
/openbmc/qemu/qapi/meson.build
/openbmc/qemu/qapi/migration.json
/openbmc/qemu/qapi/qapi-schema.json
/openbmc/qemu/qga/commands-win32.c
/openbmc/qemu/stubs/colo.c
/openbmc/qemu/system/dirtylimit.c
/openbmc/qemu/system/physmem.c
/openbmc/qemu/system/qdev-monitor.c
/openbmc/qemu/target/loongarch/kvm/kvm.c
/openbmc/qemu/target/ppc/gdbstub.c
/openbmc/qemu/target/ppc/helper_regs.c
/openbmc/qemu/target/riscv/kvm/kvm-cpu.c
/openbmc/qemu/tests/qtest/migration-test.c
/openbmc/qemu/tests/unit/test-vmstate.c
/openbmc/qemu/tools/ebpf/rss.bpf.c
794511bc29-Jan-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

target/ppc: Prefer fast cpu_env() over slower CPU QOM cast macro

Mechanical patch produced running the command documented
in scripts/coccinelle/cpu_env.cocci_template header.

Reviewed-by: Richard H

target/ppc: Prefer fast cpu_env() over slower CPU QOM cast macro

Mechanical patch produced running the command documented
in scripts/coccinelle/cpu_env.cocci_template header.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240129164514.73104-22-philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...


/openbmc/qemu/accel/tcg/cpu-exec.c
mpc8544_guts.c
pnv.c
pnv_xscom.c
ppce500_spin.c
spapr.c
spapr_caps.c
/openbmc/qemu/linux-user/i386/cpu_loop.c
/openbmc/qemu/target/alpha/cpu.c
/openbmc/qemu/target/alpha/gdbstub.c
/openbmc/qemu/target/alpha/helper.c
/openbmc/qemu/target/alpha/mem_helper.c
/openbmc/qemu/target/alpha/translate.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/avr/cpu.c
/openbmc/qemu/target/avr/gdbstub.c
/openbmc/qemu/target/avr/helper.c
/openbmc/qemu/target/avr/translate.c
/openbmc/qemu/target/cris/cpu.c
/openbmc/qemu/target/cris/gdbstub.c
/openbmc/qemu/target/cris/helper.c
/openbmc/qemu/target/cris/translate.c
/openbmc/qemu/target/hexagon/cpu.c
/openbmc/qemu/target/hexagon/gdbstub.c
/openbmc/qemu/target/hppa/mem_helper.c
/openbmc/qemu/target/hppa/translate.c
/openbmc/qemu/target/i386/cpu.c
/openbmc/qemu/target/i386/hvf/x86.c
/openbmc/qemu/target/i386/hvf/x86.h
/openbmc/qemu/target/i386/hvf/x86_descr.c
/openbmc/qemu/target/i386/hvf/x86_descr.h
/openbmc/qemu/target/i386/hvf/x86_emu.h
/openbmc/qemu/target/i386/hvf/x86_mmu.c
/openbmc/qemu/target/i386/hvf/x86_mmu.h
/openbmc/qemu/target/i386/nvmm/nvmm-all.c
/openbmc/qemu/target/i386/whpx/whpx-all.c
/openbmc/qemu/target/loongarch/cpu.c
/openbmc/qemu/target/loongarch/cpu_helper.c
/openbmc/qemu/target/loongarch/gdbstub.c
/openbmc/qemu/target/loongarch/kvm/kvm.c
/openbmc/qemu/target/loongarch/tcg/tlb_helper.c
/openbmc/qemu/target/loongarch/tcg/translate.c
/openbmc/qemu/target/m68k/cpu.c
/openbmc/qemu/target/m68k/gdbstub.c
/openbmc/qemu/target/m68k/helper.c
/openbmc/qemu/target/m68k/m68k-semi.c
/openbmc/qemu/target/m68k/op_helper.c
/openbmc/qemu/target/m68k/translate.c
/openbmc/qemu/target/microblaze/cpu.c
/openbmc/qemu/target/microblaze/gdbstub.c
/openbmc/qemu/target/microblaze/helper.c
/openbmc/qemu/target/microblaze/translate.c
/openbmc/qemu/target/mips/cpu.c
/openbmc/qemu/target/mips/gdbstub.c
/openbmc/qemu/target/mips/kvm.c
/openbmc/qemu/target/mips/sysemu/physaddr.c
/openbmc/qemu/target/mips/tcg/exception.c
/openbmc/qemu/target/mips/tcg/op_helper.c
/openbmc/qemu/target/mips/tcg/sysemu/special_helper.c
/openbmc/qemu/target/mips/tcg/sysemu/tlb_helper.c
/openbmc/qemu/target/mips/tcg/translate.c
/openbmc/qemu/target/nios2/cpu.c
/openbmc/qemu/target/nios2/helper.c
/openbmc/qemu/target/nios2/nios2-semi.c
/openbmc/qemu/target/nios2/translate.c
/openbmc/qemu/target/openrisc/cpu.c
/openbmc/qemu/target/openrisc/gdbstub.c
/openbmc/qemu/target/openrisc/interrupt.c
/openbmc/qemu/target/openrisc/translate.c
/openbmc/qemu/target/ppc/cpu_init.c
/openbmc/qemu/target/ppc/excp_helper.c
/openbmc/qemu/target/ppc/gdbstub.c
/openbmc/qemu/target/ppc/kvm.c
/openbmc/qemu/target/ppc/ppc-qmp-cmds.c
/openbmc/qemu/target/ppc/user_only_helper.c
/openbmc/qemu/target/riscv/cpu.c
/openbmc/qemu/target/rx/cpu.c
/openbmc/qemu/target/rx/translate.c
/openbmc/qemu/target/sh4/cpu.c
/openbmc/qemu/target/sh4/op_helper.c
/openbmc/qemu/target/sparc/cpu.c
/openbmc/qemu/target/tricore/cpu.c
/openbmc/qemu/target/xtensa/cpu.c
97e0310629-Jan-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

hw/core: Declare CPUArchId::cpu as CPUState instead of Object

Do not accept any Object for CPUArchId::cpu field,
restrict it to CPUState type.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.o

hw/core: Declare CPUArchId::cpu as CPUState instead of Object

Do not accept any Object for CPUArchId::cpu field,
restrict it to CPUState type.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240129164514.73104-3-philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...

ee1004bb29-Jan-2024 Philippe Mathieu-Daudé <philmd@linaro.org>

bulk: Access existing variables initialized to &S->F when available

When a variable is initialized to &struct->field, use it
in place. Rationale: while this makes the code more concise,
this also he

bulk: Access existing variables initialized to &S->F when available

When a variable is initialized to &struct->field, use it
in place. Rationale: while this makes the code more concise,
this also helps static analyzers.

Mechanical change using the following Coccinelle spatch script:

@@
type S, F;
identifier s, m, v;
@@
S *s;
...
F *v = &s->m;
<+...
- &s->m
+ v
...+>

Inspired-by: Zhao Liu <zhao1.liu@intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240129164514.73104-2-philmd@linaro.org>
Acked-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
[thuth: Dropped hunks that need a rebase, and fixed sizeof() in pmu_realize()]
Signed-off-by: Thomas Huth <thuth@redhat.com>

show more ...


/openbmc/qemu/.gitlab-ci.d/base.yml
/openbmc/qemu/.gitlab-ci.d/buildtest.yml
/openbmc/qemu/.gitlab-ci.d/opensbi.yml
/openbmc/qemu/backends/iommufd.c
/openbmc/qemu/block.c
/openbmc/qemu/block/copy-before-write.c
/openbmc/qemu/block/nbd.c
/openbmc/qemu/block/nvme.c
/openbmc/qemu/block/qapi.c
/openbmc/qemu/block/qcow2-bitmap.c
/openbmc/qemu/block/qcow2.c
/openbmc/qemu/block/qed.c
/openbmc/qemu/block/snapshot.c
/openbmc/qemu/block/vdi.c
/openbmc/qemu/block/vmdk.c
/openbmc/qemu/blockdev.c
/openbmc/qemu/chardev/char-fe.c
/openbmc/qemu/configs/devices/mips-softmmu/common.mak
/openbmc/qemu/configs/devices/mips64el-softmmu/default.mak
/openbmc/qemu/docs/about/deprecated.rst
/openbmc/qemu/docs/about/removed-features.rst
/openbmc/qemu/docs/devel/acpi-bits.rst
/openbmc/qemu/docs/interop/firmware.json
/openbmc/qemu/hw/block/virtio-blk.c
/openbmc/qemu/hw/core/machine-smp.c
/openbmc/qemu/hw/cxl/cxl-cdat.c
/openbmc/qemu/hw/cxl/cxl-host.c
/openbmc/qemu/hw/display/Kconfig
/openbmc/qemu/hw/display/ati.c
/openbmc/qemu/hw/display/macfb.c
/openbmc/qemu/hw/hyperv/hv-balloon.c
/openbmc/qemu/hw/hyperv/hyperv.c
/openbmc/qemu/hw/hyperv/vmbus.c
/openbmc/qemu/hw/intc/grlib_irqmp.c
/openbmc/qemu/hw/intc/ioapic_common.c
/openbmc/qemu/hw/m68k/mcf5208.c
/openbmc/qemu/hw/mem/cxl_type3.c
/openbmc/qemu/hw/mips/Kconfig
/openbmc/qemu/hw/misc/macio/pmu.c
/openbmc/qemu/hw/misc/pvpanic-pci.c
/openbmc/qemu/hw/misc/xlnx-versal-trng.c
/openbmc/qemu/hw/pci-bridge/cxl_root_port.c
/openbmc/qemu/hw/pci-bridge/cxl_upstream.c
pnv.c
/openbmc/qemu/hw/s390x/s390-virtio-ccw.c
/openbmc/qemu/hw/scsi/lsi53c895a.c
/openbmc/qemu/hw/scsi/trace-events
/openbmc/qemu/hw/scsi/vhost-scsi.c
/openbmc/qemu/hw/vfio/ap.c
/openbmc/qemu/hw/vfio/container.c
/openbmc/qemu/hw/vfio/helpers.c
/openbmc/qemu/hw/vfio/iommufd.c
/openbmc/qemu/hw/vfio/pci-quirks.c
/openbmc/qemu/hw/vfio/pci.c
/openbmc/qemu/hw/vfio/platform.c
/openbmc/qemu/hw/virtio/vhost-user-scmi.c
/openbmc/qemu/hw/virtio/vhost-vsock.c
/openbmc/qemu/hw/virtio/vhost.c
/openbmc/qemu/hw/virtio/virtio-pci.c
/openbmc/qemu/hw/xen/xen_pt.c
/openbmc/qemu/include/hw/cxl/cxl_cdat.h
/openbmc/qemu/include/hw/hyperv/dynmem-proto.h
/openbmc/qemu/include/hw/hyperv/hyperv.h
/openbmc/qemu/include/qapi/error.h
/openbmc/qemu/include/qapi/qmp/qerror.h
/openbmc/qemu/meson.build
/openbmc/qemu/migration/multifd-zlib.c
/openbmc/qemu/migration/options.c
/openbmc/qemu/migration/postcopy-ram.c
/openbmc/qemu/net/vhost-vdpa.c
/openbmc/qemu/replay/replay.c
/openbmc/qemu/scripts/coverity-scan/run-coverity-scan
/openbmc/qemu/scripts/make-release
/openbmc/qemu/system/qdev-monitor.c
/openbmc/qemu/system/vl.c
/openbmc/qemu/target/arm/cpu.c
/openbmc/qemu/target/arm/kvm.c
/openbmc/qemu/target/arm/machine.c
/openbmc/qemu/target/i386/hvf/x86hvf.c
/openbmc/qemu/target/i386/kvm/hyperv-stub.c
/openbmc/qemu/target/i386/kvm/hyperv.c
/openbmc/qemu/target/i386/kvm/hyperv.h
/openbmc/qemu/target/i386/kvm/kvm.c
/openbmc/qemu/target/m68k/helper.c
/openbmc/qemu/target/ppc/kvm.c
/openbmc/qemu/target/s390x/cpu_models.c
/openbmc/qemu/tests/unit/test-smp-parse.c
/openbmc/qemu/util/oslib-posix.c

12345678910>>...128