qemu/include/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.h Use OBJECT_DECLARE_TYPE when possible 2020-09-18 14:12:32 -04:00
adapter.h s390x/virtio-ccw: wire up irq routing and irqfds 2014-05-20 13:05:58 +02:00
ap-bridge.h s390x/ap: base Adjunct Processor (AP) object model 2018-10-12 11:32:18 +02:00
ap-device.h ap-device: Rename AP_DEVICE_TYPE to TYPE_AP_DEVICE 2020-09-09 13:20:22 -04:00
cpu-topology.h s390x/cpu topology: add topology entries on CPU hotplug 2023-10-20 07:16:53 +02:00
css-bridge.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 2020-09-18 14:12:32 -04:00
css.h css: fix actl handling for unit exceptions 2021-09-06 16:23:08 +02:00
ebcdic.h Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
event-facility.h qom: Remove module_obj_name parameter from OBJECT_DECLARE* macros 2020-09-18 14:12:32 -04:00
ioinst.h s390x/css: fix PMCW invalid mask 2022-01-17 08:34:19 +01:00
s390-ccw.h Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
s390-pci-bus.h s390x: spelling fixes 2023-07-25 17:13:45 +03:00
s390-pci-clp.h Clean up ill-advised or unusual header guards 2022-05-11 16:50:01 +02:00
s390-pci-inst.h s390x/pci: create a header dedicated to PCI CLP 2020-11-01 12:30:52 -07:00
s390-pci-kvm.h s390x/pci: enable adapter event notification for interpreted devices 2022-09-26 17:23:47 +02:00
s390-pci-vfio.h s390x/pci: add routine to get host function handle from CLP info 2022-09-26 17:23:47 +02:00
s390-virtio-ccw.h Revert "s390x/s390-virtio-ccw: add zpcii-disable machine property" 2022-11-08 10:10:57 +01:00
s390_flic.h s390x: move S390_ADAPTER_SUPPRESSIBLE 2021-03-26 09:33:50 +01:00
sclp.h s390x: spelling fixes 2023-07-25 17:13:45 +03:00
storage-attributes.h Use OBJECT_DECLARE_TYPE when possible 2020-09-18 14:12:32 -04:00
storage-keys.h hw/s390x/s390-skeys: lazy storage key enablement under TCG 2021-09-06 16:24:05 +02:00
tod.h target/s390x: start moving TCG-only code to tcg/ 2021-07-07 14:01:56 +02:00
vfio-ccw.h vfio/ccw: Remove redundant definition of TYPE_VFIO_CCW 2023-10-18 10:10:49 +02:00