qemu-e2k/hw/s390x
Pierre Morel c809bbc8e9 s390x/cpu topology: add topology entries on CPU hotplug
The topology information are attributes of the CPU and are
specified during the CPU device creation.

On hot plug we:
- calculate the default values for the topology for drawers,
  books and sockets in the case they are not specified.
- verify the CPU attributes
- check that we have still room on the desired socket

The possibility to insert a CPU in a mask is dependent on the
number of cores allowed in a socket, a book or a drawer, the
checking is done during the hot plug of the CPU to have an
immediate answer.

If the complete topology is not specified, the core is added
in the physical topology based on its core ID and it gets
defaults values for the modifier attributes.

This way, starting QEMU without specifying the topology can
still get some advantage of the CPU topology.

Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
Reviewed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
Co-developed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
Message-ID: <20231016183925.2384704-4-nsg@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
2023-10-20 07:16:53 +02:00
..
3270-ccw.c
Kconfig s390x: Fix QEMU abort by selecting S390_FLIC_KVM 2023-07-18 09:36:27 +02:00
ap-bridge.c qbus: Rename qbus_create() to qbus_new() 2021-09-30 13:44:08 +01:00
ap-device.c
ccw-device.c
ccw-device.h
cpu-topology.c s390x/cpu topology: add topology entries on CPU hotplug 2023-10-20 07:16:53 +02:00
css-bridge.c qbus: Rename qbus_create() to qbus_new() 2021-09-30 13:44:08 +01:00
css.c s390x/css: revert SCSW ctrl/flag bits on error 2022-11-06 12:27:35 +01:00
event-facility.c hw/s390x/event-facility: Replace DO_UPCAST(SCLPEvent) by SCLP_EVENT() 2023-02-14 09:11:27 +01:00
ipl.c hw/s390x: Move KVM specific PV from hw/ to target/s390x/kvm/ 2023-07-10 15:34:23 +02:00
ipl.h s390x: Fix spelling errors 2022-11-16 10:15:26 +01:00
meson.build s390x/cpu topology: add topology entries on CPU hotplug 2023-10-20 07:16:53 +02:00
s390-ccw.c misc: fix commonly doubled up words 2022-08-01 11:58:02 +02:00
s390-pci-bus.c s390x: Convert DPRINTF to trace events 2023-08-23 12:06:44 +02:00
s390-pci-inst.c s390x: Convert DPRINTF to trace events 2023-08-23 12:06:44 +02:00
s390-pci-kvm.c hw/s390x: Move KVM specific PV from hw/ to target/s390x/kvm/ 2023-07-10 15:34:23 +02:00
s390-pci-vfio.c vfio: Implement a common device info helper 2023-06-30 06:02:51 +02:00
s390-skeys-kvm.c
s390-skeys.c
s390-stattrib-kvm.c
s390-stattrib.c migration: Move rate_limit_max and rate_limit_used to migration_stats 2023-05-18 18:40:51 +02:00
s390-virtio-ccw.c s390x/cpu topology: add topology entries on CPU hotplug 2023-10-20 07:16:53 +02:00
s390-virtio-hcall.c
s390-virtio-hcall.h
sclp.c Mark remaining global TypeInfo instances as const 2022-02-21 13:30:20 +00:00
sclpcpu.c
sclpquiesce.c
tod-kvm.c hw/s390x: Move KVM specific PV from hw/ to target/s390x/kvm/ 2023-07-10 15:34:23 +02:00
tod-tcg.c Mark remaining global TypeInfo instances as const 2022-02-21 13:30:20 +00:00
tod.c Mark remaining global TypeInfo instances as const 2022-02-21 13:30:20 +00:00
trace-events s390x: Convert DPRINTF to trace events 2023-08-23 12:06:44 +02:00
trace.h
vhost-scsi-ccw.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
vhost-user-fs-ccw.c
vhost-vsock-ccw.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-9p.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-balloon.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-blk.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-crypto.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-gpu.c modules: introduces module_kconfig directive 2022-06-06 09:26:53 +02:00
virtio-ccw-input.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-net.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-rng.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-scsi.c virtio-ccw: move device type declarations to .c files 2022-04-06 14:31:56 +02:00
virtio-ccw-serial.c Drop duplicate #include 2023-02-08 07:28:05 +01:00
virtio-ccw.c hw/virtio: Remove unnecessary 'virtio-access.h' header 2023-06-23 02:54:44 -04:00
virtio-ccw.h virtio-ccw: do not include headers for all virtio devices 2022-04-06 14:31:56 +02:00