qemu/hw
David Hildenbrand 1e86400298 s390x/s390-virtio-ccw: prepare for memory devices
Let's prepare our address space for memory devices if enabled via
"maxmem" and if we have CONFIG_MEM_DEVICE enabled at all. Note that
CONFIG_MEM_DEVICE will be selected automatically once we add support
for devices.

Just like on other architectures, the region container for memory devices
is placed directly above our initial memory. For now, we only align the
start address of the region up to 1 GiB, but we won't add any additional
space to the region for internal alignment purposes; this can be done in
the future if really required.

The RAM size returned via SCLP is not modified, as this only
covers initial RAM (and standby memory we don't implement) and not memory
devices; clarify that in the docs of read_SCP_info(). Existing OSes without
support for memory devices will keep working as is, even when memory
devices would be attached the VM.

Guest OSs which support memory devices, such as virtio-mem, will
consult diag500(), to find out the maximum possible pfn. Guest OSes that
don't support memory devices, don't have to be changed and will continue
relying on information provided by SCLP.

There are no remaining maxram_size users in s390x code, and the remaining
ram_size users only care about initial RAM:
* hw/s390x/ipl.c
* hw/s390x/s390-hypercall.c
* hw/s390x/sclp.c
* target/s390x/kvm/pv.c

Message-ID: <20241219144115.2820241-11-david@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
2024-12-21 15:59:59 +01:00
..
9pfs hw/9pfs: Constify all Property 2024-12-15 12:54:19 -06:00
acpi hw/acpi: Constify all Property 2024-12-15 12:54:23 -06:00
adc hw/adc: Constify all Property 2024-12-15 12:54:25 -06:00
alpha alpha: switch boards to "default y" 2024-05-03 15:47:47 +02:00
arm hw/arm: Constify all Property 2024-12-15 12:54:27 -06:00
audio hw/audio: Constify all Property 2024-12-15 12:54:30 -06:00
avr hw/avr: Constify all Property 2024-12-15 12:54:33 -06:00
block hw/block: Constify all Property 2024-12-15 12:54:38 -06:00
char hw/char: Constify all Property 2024-12-15 12:54:40 -06:00
core x86/loader: fix efi binary loading 2024-12-16 14:20:33 -05:00
cpu hw/cpu: Constify all Property 2024-12-15 12:54:47 -06:00
cxl hw/cxl: Constify all Property 2024-12-15 12:54:49 -06:00
display hw/display: Constify all Property 2024-12-15 12:54:51 -06:00
dma hw/dma: Constify all Property 2024-12-15 12:54:54 -06:00
fsi hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
gpio hw/gpio: Constify all Property 2024-12-15 12:54:56 -06:00
hppa hw: Use pci_bus_add_fw_cfg_extra_pci_roots() 2024-12-14 00:16:20 +01:00
hyperv hw/hyperv: Constify all Property 2024-12-15 12:54:59 -06:00
i2c hw/i2c: Constify all Property 2024-12-15 12:55:01 -06:00
i386 x86/loader: fix efi binary loading 2024-12-16 14:20:33 -05:00
ide hw/ide: Constify all Property 2024-12-15 12:55:06 -06:00
input hw/input: Constify all Property 2024-12-15 12:55:09 -06:00
intc loongarch queue 2024-12-19 15:46:43 -05:00
ipack hw/ipack: Constify all Property 2024-12-15 12:55:14 -06:00
ipmi hw/ipmi: Constify all Property 2024-12-15 12:55:16 -06:00
isa hw/isa: Constify all Property 2024-12-15 12:55:19 -06:00
loongarch hw/intc/loongarch_pch: Code cleanup about loongarch_pch_pic 2024-12-19 15:23:29 +08:00
m68k hw/m68k: Constify all Property 2024-12-15 12:55:21 -06:00
mem hw/mem: Constify all Property 2024-12-15 12:55:29 -06:00
microblaze hw/microblaze/s3adsp1800: Declare machine type using DEFINE_TYPES macro 2024-11-05 23:32:13 +00:00
mips hw/mips: Constify all Property 2024-12-15 12:55:31 -06:00
misc hw/misc: Constify all Property 2024-12-15 12:55:39 -06:00
net hw/net: Constify all Property 2024-12-15 12:55:41 -06:00
nubus hw/nubus: Constify all Property 2024-12-15 12:55:44 -06:00
nvme hw/nvme: Constify all Property 2024-12-15 12:55:46 -06:00
nvram hw/nvram: Constify all Property 2024-12-15 12:55:49 -06:00
openrisc hw/openrisc/openrisc_sim: keep serial@90000000 as default 2024-12-03 12:26:24 +01:00
pci hw/pci: Constify all Property 2024-12-15 12:55:56 -06:00
pci-bridge hw/pci-bridge: Constify all Property 2024-12-15 12:55:51 -06:00
pci-host hw/pci-host: Constify all Property 2024-12-15 12:55:54 -06:00
ppc hw/ppc: Constify all Property 2024-12-15 12:55:59 -06:00
remote hw/remote: Constify all Property 2024-12-15 12:56:01 -06:00
riscv hw/riscv: Constify all Property 2024-12-15 12:56:03 -06:00
rtc hw/rtc: Constify all Property 2024-12-15 12:56:06 -06:00
rx hw/rx: Constify all Property 2024-12-15 12:56:08 -06:00
s390x s390x/s390-virtio-ccw: prepare for memory devices 2024-12-21 15:59:59 +01:00
scsi hw/scsi: Constify all Property 2024-12-15 12:56:12 -06:00
sd hw/sd: Constify all Property 2024-12-15 12:56:15 -06:00
sensor hw/sensor: Replace type_register() with type_register_static() 2024-12-10 18:49:25 +01:00
sh4 hw/sh4/r2d: Include missing 'exec/tswap.h' header 2024-12-14 00:16:20 +01:00
smbios smbios: make memory device size configurable per Machine 2024-07-22 20:15:41 -04:00
sparc hw/sparc: Constify all Property 2024-12-15 12:56:17 -06:00
sparc64 hw/sparc64: Constify all Property 2024-12-15 12:56:19 -06:00
ssi hw/ssi: Constify all Property 2024-12-15 12:56:22 -06:00
timer hw/timer: Constify all Property 2024-12-15 12:56:26 -06:00
tpm hw/tpm: Constify all Property 2024-12-15 12:56:29 -06:00
tricore hw: Use device_class_set_legacy_reset() instead of opencoding 2024-09-13 15:31:44 +01:00
ufs hw/ufs: Constify all Property 2024-12-15 12:56:32 -06:00
usb hw/usb: Constify all Property 2024-12-15 12:56:34 -06:00
vfio hw/vfio: Constify all Property 2024-12-15 12:56:37 -06:00
virtio virtio-mem: unplug memory only during system resets, not device resets 2024-12-21 15:59:59 +01:00
watchdog hw/watchdog: Constify all Property 2024-12-15 12:56:42 -06:00
xen hw/xen: Constify all Property 2024-12-15 12:56:45 -06:00
xenpv hw/xen: Register framebuffer backend via xen_backend_init() 2024-06-04 11:53:43 +02:00
xtensa hw/xtensa: Include missing 'exec/tswap.h' header 2024-12-14 00:16:20 +01:00
Kconfig hw: Remove PCMCIA subsystem 2024-10-15 15:16:17 +01:00
meson.build hw: Remove PCMCIA subsystem 2024-10-15 15:16:17 +01:00