mirror of
https://github.com/virt-manager/virt-manager.git
synced 2024-10-26 08:55:13 +03:00
cli: Add --memdev target.address_base for virtio-mem and virtio-pmem
Libvirt(since 9.4.0) allows to control this attribute for virtio-{mem,pmem}. Now add it into virt-install. Example: virt-install \ --name test \ --os-variant opensusetumbleweed \ --cdrom /isos/openSUSE-Tumbleweed-DVD-x86_64-Current.iso \ --disk /vms/tw/disk0.qcow2 \ --vcpu 2 \ --cpu cell0.cpus=0,cell0.memory=4194304,\ cell1.cpus=1,cell1.memory=4194304 \ --memory maxMemory=65536,maxMemory.slots=8 \ --memdev model=virtio-mem,\ target.node=0,\ target.block=2048,\ target.size=8192,\ target.requested=2097152,\ target.address_base=0x280000000 \ --memdev model=virtio-pmem,\ source.path=/tmp/virtio_pmem,\ target.size=4096,\ target.address_base=0x480000000 It results in the following domain XML snippet: <memory model='virtio-mem'> <target> <size unit='KiB'>8388608</size> <node>0</node> <block unit='KiB'>2048</block> <requested unit='KiB'>2097152</requested> <current unit='KiB'>0</current> <address base='0x280000000'/> </target> <alias name='virtiomem0'/> <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/> </memory> <memory model='virtio-pmem' access='shared'> <source> <path>/tmp/virtio_pmem</path> </source> <target> <size unit='KiB'>2097152</size> <address base='0x480000000'/> </target> <alias name='virtiopmem0'/> <address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/> </memory> Reviewed-by: Cole Robinson <crobinso@redhat.com> Signed-off-by: Lin Ma <lma@suse.de>
This commit is contained in:
parent
7a974a3a72
commit
febddd4b01
@ -6,7 +6,7 @@
|
||||
<libosinfo:os id="http://fedoraproject.org/fedora/unknown"/>
|
||||
</libosinfo:libosinfo>
|
||||
</metadata>
|
||||
<maxMemory slots="3">2097152</maxMemory>
|
||||
<maxMemory slots="3">4194304</maxMemory>
|
||||
<vcpu>2</vcpu>
|
||||
<os>
|
||||
<type arch="x86_64" machine="q35">hvm</type>
|
||||
@ -122,6 +122,24 @@
|
||||
<readonly/>
|
||||
</target>
|
||||
</memory>
|
||||
<memory model="virtio-mem">
|
||||
<target>
|
||||
<size>524288</size>
|
||||
<node>0</node>
|
||||
<block>2048</block>
|
||||
<requested>524288</requested>
|
||||
<address base="0x180000000"/>
|
||||
</target>
|
||||
</memory>
|
||||
<memory model="virtio-pmem">
|
||||
<source>
|
||||
<path>/tmp/virtio_pmem</path>
|
||||
</source>
|
||||
<target>
|
||||
<size>524288</size>
|
||||
<address base="0x1a0000000"/>
|
||||
</target>
|
||||
</memory>
|
||||
</devices>
|
||||
<on_reboot>destroy</on_reboot>
|
||||
</domain>
|
||||
@ -133,7 +151,7 @@
|
||||
<libosinfo:os id="http://fedoraproject.org/fedora/unknown"/>
|
||||
</libosinfo:libosinfo>
|
||||
</metadata>
|
||||
<maxMemory slots="3">2097152</maxMemory>
|
||||
<maxMemory slots="3">4194304</maxMemory>
|
||||
<vcpu>2</vcpu>
|
||||
<os>
|
||||
<type arch="x86_64" machine="q35">hvm</type>
|
||||
@ -248,5 +266,23 @@
|
||||
<readonly/>
|
||||
</target>
|
||||
</memory>
|
||||
<memory model="virtio-mem">
|
||||
<target>
|
||||
<size>524288</size>
|
||||
<node>0</node>
|
||||
<block>2048</block>
|
||||
<requested>524288</requested>
|
||||
<address base="0x180000000"/>
|
||||
</target>
|
||||
</memory>
|
||||
<memory model="virtio-pmem">
|
||||
<source>
|
||||
<path>/tmp/virtio_pmem</path>
|
||||
</source>
|
||||
<target>
|
||||
<size>524288</size>
|
||||
<address base="0x1a0000000"/>
|
||||
</target>
|
||||
</memory>
|
||||
</devices>
|
||||
</domain>
|
||||
|
@ -898,7 +898,7 @@ c.add_compare(""
|
||||
|
||||
# --memdev setup has a lot of interconnected validation, it's easier to keep this separate
|
||||
c.add_compare("--pxe "
|
||||
"--memory hotplugmemorymax=2048,hotplugmemoryslots=3 "
|
||||
"--memory hotplugmemorymax=4096,hotplugmemoryslots=3 "
|
||||
"--cpu cell0.cpus=0,cell0.memory=1048576 "
|
||||
|
||||
"--memdev dimm,access=private,target_size=256,target_node=0,"
|
||||
@ -912,6 +912,12 @@ c.add_compare("--pxe "
|
||||
"address.type=dimm,address.base=0x100000000,address.slot=1,"
|
||||
"source.pmem=on,source.alignsize=2048,target.readonly=on "
|
||||
|
||||
"--memdev virtio-mem,target_node=0,target.block=2048,"
|
||||
"target_size=512,target.requested=524288,target.address_base=0x180000000 "
|
||||
|
||||
"--memdev virtio-pmem,source.path=/tmp/virtio_pmem,"
|
||||
"target_size=512,target.address_base=0x1a0000000 "
|
||||
|
||||
"", "memory-hotplug", precompare_check="5.3.0")
|
||||
|
||||
|
||||
|
@ -4366,6 +4366,7 @@ class ParserMemdev(VirtCLIParser):
|
||||
cls.add_arg("target.current", "target.current")
|
||||
cls.add_arg("target.requested", "target.requested")
|
||||
cls.add_arg("target.readonly", "target.readonly", is_onoff=True)
|
||||
cls.add_arg("target.address_base", "target.address_base")
|
||||
cls.add_arg("source.pagesize", "source.pagesize")
|
||||
cls.add_arg("source.path", "source.path")
|
||||
cls.add_arg("source.nodemask", "source.nodemask", can_comma=True)
|
||||
|
@ -19,6 +19,7 @@ class _DeviceMemoryTarget(XMLBuilder):
|
||||
block = XMLProperty("./block", is_int=True)
|
||||
requested = XMLProperty("./requested", is_int=True)
|
||||
current = XMLProperty("./current", is_int=True)
|
||||
address_base = XMLProperty("./address/@base")
|
||||
|
||||
|
||||
class _DeviceMemorySource(XMLBuilder):
|
||||
|
Loading…
Reference in New Issue
Block a user