mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 09:43:56 -06:00
pc-dimm: assign and verify the "addr" property during pre_plug
We can assign and verify the address before realizing and trying to plug. reading/writing the address property should never fail for DIMMs, so let's reduce error handling a bit by using &error_abort. Getting access to the memory region now might however fail. So forward errors from get_memory_region() properly. As all memory devices should use the alignment of the underlying memory region for guest physical address asignment, do detection of the alignment in pc_dimm_pre_plug(), but allow pc.c to overwrite the alignment for compatibility handling. Reviewed-by: Eric Auger <eric.auger@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> Acked-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20180801133444.11269-5-david@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
57f0b73cf8
commit
b0e624435b
4 changed files with 37 additions and 42 deletions
|
@ -79,8 +79,8 @@ typedef struct PCDIMMDeviceClass {
|
|||
Error **errp);
|
||||
} PCDIMMDeviceClass;
|
||||
|
||||
void pc_dimm_pre_plug(DeviceState *dev, MachineState *machine, Error **errp);
|
||||
void pc_dimm_plug(DeviceState *dev, MachineState *machine, uint64_t align,
|
||||
Error **errp);
|
||||
void pc_dimm_pre_plug(DeviceState *dev, MachineState *machine,
|
||||
const uint64_t *legacy_align, Error **errp);
|
||||
void pc_dimm_plug(DeviceState *dev, MachineState *machine, Error **errp);
|
||||
void pc_dimm_unplug(DeviceState *dev, MachineState *machine);
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue