mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
virtio-pmem: add virtio device
This is the implementation of virtio-pmem device. Support will require machine changes for the architectures that will support it, so it will not yet be compiled. It can be unlocked with VIRTIO_PMEM_SUPPORTED per machine and disabled globally via VIRTIO_PMEM. We cannot use the "addr" property as that is already used e.g. for virtio-pci/pci devices. And we will have e.g. virtio-pmem-pci as a proxy. So we have to choose a different one (unfortunately). "memaddr" it is. That name should ideally be used by all other virtio-* based memory devices in the future. -device virtio-pmem-pci,id=p0,bus=bux0,addr=0x01,memaddr=0x1000000... Acked-by: Markus Armbruster <armbru@redhat.com> [ QAPI bits ] Signed-off-by: Pankaj Gupta <pagupta@redhat.com> [ MemoryDevice/MemoryRegion changes, cleanups, addr property "memaddr", split up patches, unplug handler ] Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20190619094907.10131-2-pagupta@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com>
This commit is contained in:
parent
d85d65cc29
commit
5f503cd9f3
5 changed files with 276 additions and 1 deletions
|
@ -2738,16 +2738,42 @@
|
|||
}
|
||||
}
|
||||
|
||||
##
|
||||
# @VirtioPMEMDeviceInfo:
|
||||
#
|
||||
# VirtioPMEM state information
|
||||
#
|
||||
# @id: device's ID
|
||||
#
|
||||
# @memaddr: physical address in memory, where device is mapped
|
||||
#
|
||||
# @size: size of memory that the device provides
|
||||
#
|
||||
# @memdev: memory backend linked with device
|
||||
#
|
||||
# Since: 4.1
|
||||
##
|
||||
{ 'struct': 'VirtioPMEMDeviceInfo',
|
||||
'data': { '*id': 'str',
|
||||
'memaddr': 'size',
|
||||
'size': 'size',
|
||||
'memdev': 'str'
|
||||
}
|
||||
}
|
||||
|
||||
##
|
||||
# @MemoryDeviceInfo:
|
||||
#
|
||||
# Union containing information about a memory device
|
||||
#
|
||||
# nvdimm is included since 2.12. virtio-pmem is included since 4.1.
|
||||
#
|
||||
# Since: 2.1
|
||||
##
|
||||
{ 'union': 'MemoryDeviceInfo',
|
||||
'data': { 'dimm': 'PCDIMMDeviceInfo',
|
||||
'nvdimm': 'PCDIMMDeviceInfo'
|
||||
'nvdimm': 'PCDIMMDeviceInfo',
|
||||
'virtio-pmem': 'VirtioPMEMDeviceInfo'
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue