Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
qemu: Add support for max physical address size
This patch maps /domain/cpu/maxphysaddr into -cpu parameters: - <maxphysaddr mode='passthrough'/> becomes host-phys-bits=on - <maxphysaddr mode='emualte' bits='42'/> becomes phys-bits=42 Passthrough mode can only be used if the chosen CPU model is 'host-passthrough'. Also validate that an explicitly specified bits value does not exceed the physical address bits on the host. The feature is available since QEMU 2.7.0. Signed-off-by: Dario Faggioli <dfaggioli@suse.com> Signed-off-by: Jim Fehlig <jfehlig@suse.com> Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
- Loading branch information
Showing
15 changed files
with
251 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
LC_ALL=C \ | ||
PATH=/bin \ | ||
HOME=/tmp/lib/domain--1-foo \ | ||
USER=test \ | ||
LOGNAME=test \ | ||
XDG_DATA_HOME=/tmp/lib/domain--1-foo/.local/share \ | ||
XDG_CACHE_HOME=/tmp/lib/domain--1-foo/.cache \ | ||
XDG_CONFIG_HOME=/tmp/lib/domain--1-foo/.config \ | ||
QEMU_AUDIO_DRV=none \ | ||
/usr/bin/qemu-system-x86_64 \ | ||
-name guest=foo,debug-threads=on \ | ||
-S \ | ||
-object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-foo/master-key.aes \ | ||
-machine pc,usb=off,dump-guest-core=off \ | ||
-accel kvm \ | ||
-cpu host,phys-bits=42 \ | ||
-m 214 \ | ||
-overcommit mem-lock=off \ | ||
-smp 1,sockets=1,cores=1,threads=1 \ | ||
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ | ||
-display none \ | ||
-no-user-config \ | ||
-nodefaults \ | ||
-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ | ||
-mon chardev=charmonitor,id=monitor,mode=control \ | ||
-rtc base=utc \ | ||
-no-shutdown \ | ||
-no-acpi \ | ||
-boot strict=on \ | ||
-usb \ | ||
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ | ||
-msg timestamp=on |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<domain type='kvm'> | ||
<name>foo</name> | ||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> | ||
<memory unit='KiB'>219136</memory> | ||
<currentMemory unit='KiB'>219136</currentMemory> | ||
<vcpu placement='static'>1</vcpu> | ||
<os> | ||
<type arch='x86_64' machine='pc'>hvm</type> | ||
<boot dev='hd'/> | ||
</os> | ||
<cpu mode='host-passthrough'> | ||
<maxphysaddr mode='emulate' bits='42'/> | ||
</cpu> | ||
<clock offset='utc'/> | ||
<on_poweroff>destroy</on_poweroff> | ||
<on_reboot>restart</on_reboot> | ||
<on_crash>destroy</on_crash> | ||
<devices> | ||
</devices> | ||
</domain> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
LC_ALL=C \ | ||
PATH=/bin \ | ||
HOME=/tmp/lib/domain--1-foo \ | ||
USER=test \ | ||
LOGNAME=test \ | ||
XDG_DATA_HOME=/tmp/lib/domain--1-foo/.local/share \ | ||
XDG_CACHE_HOME=/tmp/lib/domain--1-foo/.cache \ | ||
XDG_CONFIG_HOME=/tmp/lib/domain--1-foo/.config \ | ||
QEMU_AUDIO_DRV=none \ | ||
/usr/bin/qemu-system-x86_64 \ | ||
-name guest=foo,debug-threads=on \ | ||
-S \ | ||
-object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-foo/master-key.aes \ | ||
-machine pc,usb=off,dump-guest-core=off \ | ||
-accel kvm \ | ||
-cpu core2duo,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,ds-cpl=on,vmx=on,est=on,tm2=on,cx16=on,xtpr=on,lahf-lm=on,phys-bits=42 \ | ||
-m 214 \ | ||
-overcommit mem-lock=off \ | ||
-smp 1,sockets=1,cores=1,threads=1 \ | ||
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ | ||
-display none \ | ||
-no-user-config \ | ||
-nodefaults \ | ||
-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ | ||
-mon chardev=charmonitor,id=monitor,mode=control \ | ||
-rtc base=utc \ | ||
-no-shutdown \ | ||
-no-acpi \ | ||
-boot strict=on \ | ||
-usb \ | ||
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ | ||
-msg timestamp=on |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<domain type='kvm'> | ||
<name>foo</name> | ||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> | ||
<memory unit='KiB'>219136</memory> | ||
<currentMemory unit='KiB'>219136</currentMemory> | ||
<vcpu placement='static'>1</vcpu> | ||
<os> | ||
<type arch='x86_64' machine='pc'>hvm</type> | ||
<boot dev='hd'/> | ||
</os> | ||
<cpu mode='host-model'> | ||
<maxphysaddr bits='42' mode='emulate'/> | ||
</cpu> | ||
<clock offset='utc'/> | ||
<on_poweroff>destroy</on_poweroff> | ||
<on_reboot>restart</on_reboot> | ||
<on_crash>destroy</on_crash> | ||
<devices> | ||
</devices> | ||
</domain> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
unsupported configuration: if using CPU maximum physical address mode='emulate', bits= must be specified too |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<domain type='kvm'> | ||
<name>foo</name> | ||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> | ||
<memory unit='KiB'>219136</memory> | ||
<currentMemory unit='KiB'>219136</currentMemory> | ||
<vcpu placement='static'>1</vcpu> | ||
<os> | ||
<type arch='x86_64' machine='pc'>hvm</type> | ||
<boot dev='hd'/> | ||
</os> | ||
<cpu mode='host-passthrough'> | ||
<maxphysaddr mode='emulate'/> | ||
</cpu> | ||
<clock offset='utc'/> | ||
<on_poweroff>destroy</on_poweroff> | ||
<on_reboot>restart</on_reboot> | ||
<on_crash>destroy</on_crash> | ||
<devices> | ||
</devices> | ||
</domain> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
LC_ALL=C \ | ||
PATH=/bin \ | ||
HOME=/tmp/lib/domain--1-foo \ | ||
USER=test \ | ||
LOGNAME=test \ | ||
XDG_DATA_HOME=/tmp/lib/domain--1-foo/.local/share \ | ||
XDG_CACHE_HOME=/tmp/lib/domain--1-foo/.cache \ | ||
XDG_CONFIG_HOME=/tmp/lib/domain--1-foo/.config \ | ||
QEMU_AUDIO_DRV=none \ | ||
/usr/bin/qemu-system-x86_64 \ | ||
-name guest=foo,debug-threads=on \ | ||
-S \ | ||
-object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-foo/master-key.aes \ | ||
-machine pc,usb=off,dump-guest-core=off \ | ||
-accel kvm \ | ||
-cpu host,host-phys-bits=on \ | ||
-m 214 \ | ||
-overcommit mem-lock=off \ | ||
-smp 1,sockets=1,cores=1,threads=1 \ | ||
-uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \ | ||
-display none \ | ||
-no-user-config \ | ||
-nodefaults \ | ||
-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ | ||
-mon chardev=charmonitor,id=monitor,mode=control \ | ||
-rtc base=utc \ | ||
-no-shutdown \ | ||
-no-acpi \ | ||
-boot strict=on \ | ||
-usb \ | ||
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x2 \ | ||
-msg timestamp=on |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<domain type='kvm'> | ||
<name>foo</name> | ||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> | ||
<memory unit='KiB'>219136</memory> | ||
<currentMemory unit='KiB'>219136</currentMemory> | ||
<vcpu placement='static'>1</vcpu> | ||
<os> | ||
<type arch='x86_64' machine='pc'>hvm</type> | ||
<boot dev='hd'/> | ||
</os> | ||
<cpu mode='host-passthrough'> | ||
<maxphysaddr mode='passthrough'/> | ||
</cpu> | ||
<clock offset='utc'/> | ||
<on_poweroff>destroy</on_poweroff> | ||
<on_reboot>restart</on_reboot> | ||
<on_crash>destroy</on_crash> | ||
<devices> | ||
</devices> | ||
</domain> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
unsupported configuration: CPU maximum physical address bits mode 'passthrough' can only be used with 'host-passthrough' CPUs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<domain type='kvm'> | ||
<name>foo</name> | ||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> | ||
<memory unit='KiB'>219136</memory> | ||
<currentMemory unit='KiB'>219136</currentMemory> | ||
<vcpu placement='static'>1</vcpu> | ||
<os> | ||
<type arch='x86_64' machine='pc'>hvm</type> | ||
<boot dev='hd'/> | ||
</os> | ||
<cpu mode='host-model'> | ||
<maxphysaddr mode='passthrough'/> | ||
</cpu> | ||
<clock offset='utc'/> | ||
<on_poweroff>destroy</on_poweroff> | ||
<on_reboot>restart</on_reboot> | ||
<on_crash>destroy</on_crash> | ||
<devices> | ||
</devices> | ||
</domain> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
unsupported configuration: CPU maximum physical address bits number specification cannot be used with mode='passthrough' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
<domain type='kvm'> | ||
<name>foo</name> | ||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid> | ||
<memory unit='KiB'>219136</memory> | ||
<currentMemory unit='KiB'>219136</currentMemory> | ||
<vcpu placement='static'>1</vcpu> | ||
<os> | ||
<type arch='x86_64' machine='pc'>hvm</type> | ||
<boot dev='hd'/> | ||
</os> | ||
<cpu mode='host-passthrough'> | ||
<maxphysaddr mode='passthrough' bits='42'/> | ||
</cpu> | ||
<clock offset='utc'/> | ||
<on_poweroff>destroy</on_poweroff> | ||
<on_reboot>restart</on_reboot> | ||
<on_crash>destroy</on_crash> | ||
<devices> | ||
</devices> | ||
</domain> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters