qemu/hw
David Hildenbrand c331d3e136 memory-device: add device class function set_addr()
To be able to factor out address assignment of memory devices, we will
have to read (get_addr()) and write (set_addr()) the address.

We can't use properties for this purpose, as properties are device
specific. E.g. while the address property for a DIMM is called "addr", it
might be called differently (e.g. "memaddr") for other devices.

Especially virtio based memory devices cannot use "addr" as that is already
reserved and used for the address on the bus (for the proxy device).

Also, it might be possible to have memory devices without address
properties (e.g. internal DIMM-like thingies).

In contrast to get_addr(), we expect that set_addr() can fail.

Keep it simple for now for pc-dimm and simply set the static property, that
will fail once realized.

Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20181005092024.14344-13-david@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2018-10-24 06:44:59 -03:00
..
9pfs fsdev: Clean up error reporting in qemu_fsdev_add() 2018-10-19 14:51:34 +02:00
acpi pci, pc, virtio: fixes, features 2018-09-24 18:49:11 +01:00
adc Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
alpha hw/alpha/typhoon: Remove unuseful code 2018-10-24 06:44:59 -03:00
arm hw/arm/virt: add DT property /secure-chosen/stdout-path indicating secure UART 2018-10-16 16:15:01 +01:00
audio es1370: more fixes for ADC_FRAMEADR and ADC_FRAMECNT 2018-10-19 13:44:00 +02:00
block block: Remove deprecated -drive option serial 2018-08-15 12:50:39 +02:00
bt hw/bt: Replace fprintf(stderr, "*\n" with error_report() 2018-01-22 09:51:00 +01:00
char chardev: mark the calls that allow an implicit mux monitor 2018-10-03 14:45:05 +04:00
core machine: fix a typo 2018-10-24 06:44:59 -03:00
cpu hw/cpu/a15mpcore: If CPU has EL2, enable it on the GIC and wire it up 2018-08-24 13:17:34 +01:00
cris hw/cris: Use the IEC binary prefix definitions 2018-07-02 15:41:15 +02:00
display cpus hw target: Use warn_report() & friends to report warnings 2018-10-19 14:51:34 +02:00
dma hw/dma/pl080: Remove hw_error() if DMA is enabled 2018-08-20 11:24:33 +01:00
gpio hw/i2c: Use DeviceClass::realize instead of I2CSlaveClass::init 2018-06-01 15:14:31 +02:00
hppa hw/hppa/dino: Remove unuseful code 2018-10-24 06:44:59 -03:00
hyperv hyperv_testdev: add SynIC message and event testmodes 2018-10-19 13:44:14 +02:00
i2c i2c: switch ddc to use the new edid generator 2018-10-15 09:57:33 +02:00
i386 pc-dimm: pass PCDIMMDevice to pc_dimm_.*plug 2018-10-24 06:44:59 -03:00
ide replay: replay BH for IDE trim operation 2018-10-02 19:09:13 +02:00
input ps2: prevent changing irq state on save and load 2018-10-02 18:47:55 +02:00
intc ioapic: Fix error handling in realize() 2018-10-19 14:51:34 +02:00
ipack hw/ipack: Use the IEC binary prefix definitions 2018-07-02 15:41:12 +02:00
ipmi ipmi: Use proper struct reference for BT vmstate 2018-08-23 18:46:25 +02:00
isa i2c: pm_smbus: Add the ability to force block transfer enable 2018-08-23 18:46:25 +02:00
lm32 hw/lm32: Use the IEC binary prefix definitions 2018-07-02 15:41:15 +02:00
m68k hw/m68k: Use the IEC binary prefix definitions 2018-07-02 15:41:14 +02:00
mem memory-device: add device class function set_addr() 2018-10-24 06:44:59 -03:00
microblaze hw/microblaze/xlnx-zynqmp-pmu: Fix introspection problem in 'xlnx, zynqmp-pmu-soc' 2018-07-23 15:21:25 +01:00
mips hw/mips/malta: Remove unuseful code 2018-10-24 06:44:59 -03:00
misc Error reporting patches for 2018-10-22 2018-10-23 17:20:23 +01:00
moxie change get_image_size return type to int64_t 2018-10-02 19:08:49 +02:00
net Error reporting patches for 2018-10-22 2018-10-23 17:20:23 +01:00
nios2 hw/nios2: Use the IEC binary prefix definitions 2018-07-02 15:41:15 +02:00
nvram hw/nvram/fw_cfg: Use memberwise copy of MemoryRegionOps struct 2018-10-02 19:09:14 +02:00
openrisc Change references to serial_hds[] to serial_hd() 2018-04-26 13:57:00 +01:00
pci qmp, hmp: make subsystem/system-vendor identities optional 2018-10-11 19:58:26 +01:00
pci-bridge hw/pci: add PCI resource reserve capability to legacy PCI bridge 2018-09-07 17:05:18 -04:00
pci-host hw/pci-host/bonito: Use DeviceState::realize rather than SysBusDevice::init 2018-10-24 06:44:59 -03:00
pcmcia
ppc memory-device: add and use memory_device_get_region_size() 2018-10-24 06:44:59 -03:00
rdma config: split PVRDMA from RDMA 2018-08-18 18:01:34 +03:00
riscv Error reporting & miscellaneous patches for 2018-09-24 2018-09-25 11:37:39 +01:00
s390x hw/s390x: Include the tod-qemu also for builds with --disable-tcg 2018-10-12 11:32:19 +02:00
scsi scsi-disk: fix rerror/werror=ignore 2018-10-19 13:44:13 +02:00
sd sdhci: add i.MX SD Stable Clock bit 2018-08-20 11:24:32 +01:00
sh4 hw/sh4/sh_pci: Use DeviceState::realize rather than SysBusDevice::init 2018-10-24 06:44:59 -03:00
smbios smbios: Clean up error handling in smbios_add() 2018-10-19 14:51:34 +02:00
sparc sun4m: don't use legacy fw_cfg_init_mem() function 2018-08-20 19:18:31 +01:00
sparc64 hw/sparc64/niagara: Model the I/O Bridge with the 'unimplemented_device' 2018-10-24 06:44:59 -03:00
ssi hw/ssi/xilinx_spi: Use DeviceState::realize rather than SysBusDevice::init 2018-10-24 06:44:59 -03:00
timer hw/timer/sun4v-rtc: Use DeviceState::realize rather than SysBusDevice::init 2018-10-24 06:44:59 -03:00
tpm tpm: extend TPM TIS with state migration support 2018-05-24 12:07:04 -04:00
tricore hw/tricore: Use the IEC binary prefix definitions 2018-07-02 15:41:14 +02:00
unicore32 hw/input/i8042: Extract declarations from i386/pc.h into input/i8042.h 2018-03-12 16:12:48 +01:00
usb error: Fix use of error_prepend() with &error_fatal, &error_abort 2018-10-19 14:51:34 +02:00
vfio vfio: Clean up error reporting after previous commit 2018-10-19 14:51:34 +02:00
virtio Error reporting patches for 2018-10-22 2018-10-23 17:20:23 +01:00
watchdog qapi: Drop qapi_event_send_FOO()'s Error ** argument 2018-08-28 18:21:38 +02:00
xen xen/pt: Fix incomplete conversion to realize() 2018-10-19 14:51:34 +02:00
xenpv hw/xen: Use the IEC binary prefix definitions 2018-07-02 15:41:13 +02:00
xtensa hw/xtensa: Use the IEC binary prefix definitions 2018-07-02 15:41:14 +02:00
Makefile.objs memory-device: introduce separate config option 2018-10-24 06:44:59 -03:00