mirror of
https://github.com/libvirt/libvirt.git
synced 2026-07-31 00:28:11 -05:00
xen: parse and generate hpet item in sxpr
Recent versions of Xen disable the virtual HPET by default. This is usually more precise because tick policies are not implemented for the HPET in Xen. However, there may be several reasons to control the HPET manually: 1) to test the emulation; 2) because distros may provide the knob while leaving the default to "enabled" for compatibility reasons. This patch provides support for the hpet item in both sexpr and xm formats, and translates it to a <timer> element. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
committed by
Eric Blake
parent
fa4732724e
commit
e547e44cb0
@@ -0,0 +1,9 @@
|
||||
(domain (domid 1)(name 'fvtest')(memory 400)(maxmem 400)(vcpus 1)\
|
||||
(uuid 'b5d70dd275cdaca517769660b059d8bc')(on_poweroff 'destroy')\
|
||||
(on_reboot 'restart')(on_crash 'restart')\
|
||||
(image (hvm (kernel '/usr/lib/xen/boot/hvmloader')(vcpus 1)(boot c)\
|
||||
(cdrom '/root/boot.iso')(acpi 1)(usb 1)(parallel none)(serial none)\
|
||||
(device_model '/usr/lib64/xen/bin/qemu-dm')(hpet 1)(vnc 1)))\
|
||||
(device (vbd (dev 'ioemu:hda')(uname 'file:/root/foo.img')(mode 'w')))\
|
||||
(device (vif (mac '00:16:3e:1b:b1:47')(bridge 'xenbr0')(script 'vif-bridge')\
|
||||
(model 'e1000')(type ioemu))))\
|
||||
@@ -0,0 +1,44 @@
|
||||
<domain type='xen' id='1'>
|
||||
<name>fvtest</name>
|
||||
<uuid>b5d70dd2-75cd-aca5-1776-9660b059d8bc</uuid>
|
||||
<memory>409600</memory>
|
||||
<currentMemory>409600</currentMemory>
|
||||
<vcpu>1</vcpu>
|
||||
<os>
|
||||
<type>hvm</type>
|
||||
<loader>/usr/lib/xen/boot/hvmloader</loader>
|
||||
<boot dev='hd'/>
|
||||
</os>
|
||||
<features>
|
||||
<acpi/>
|
||||
</features>
|
||||
<clock offset='utc'>
|
||||
<timer name='hpet' present='yes'/>
|
||||
</clock>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>restart</on_crash>
|
||||
<devices>
|
||||
<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
|
||||
<disk type='file' device='disk'>
|
||||
<driver name='file'/>
|
||||
<source file='/root/foo.img'/>
|
||||
<target dev='hda' bus='ide'/>
|
||||
</disk>
|
||||
<disk type='file' device='cdrom'>
|
||||
<driver name='file'/>
|
||||
<source file='/root/boot.iso'/>
|
||||
<target dev='hdc' bus='ide'/>
|
||||
<readonly/>
|
||||
</disk>
|
||||
<interface type='bridge'>
|
||||
<mac address='00:16:3e:1b:b1:47'/>
|
||||
<source bridge='xenbr0'/>
|
||||
<script path='vif-bridge'/>
|
||||
<target dev='vif1.0'/>
|
||||
<model type='e1000'/>
|
||||
</interface>
|
||||
<input type='mouse' bus='ps2'/>
|
||||
<graphics type='vnc' port='5901' autoport='no'/>
|
||||
</devices>
|
||||
</domain>
|
||||
@@ -0,0 +1,9 @@
|
||||
(domain (domid 1)(name 'fvtest')(memory 400)(maxmem 400)(vcpus 1)\
|
||||
(uuid 'b5d70dd275cdaca517769660b059d8bc')(on_poweroff 'destroy')\
|
||||
(on_reboot 'restart')(on_crash 'restart')\
|
||||
(image (hvm (kernel '/usr/lib/xen/boot/hvmloader')(vcpus 1)(boot c)\
|
||||
(cdrom '/root/boot.iso')(acpi 1)(usb 1)(parallel none)(serial none)\
|
||||
(device_model '/usr/lib64/xen/bin/qemu-dm')(hpet 0)(vnc 1)))\
|
||||
(device (vbd (dev 'ioemu:hda')(uname 'file:/root/foo.img')(mode 'w')))\
|
||||
(device (vif (mac '00:16:3e:1b:b1:47')(bridge 'xenbr0')(script 'vif-bridge')\
|
||||
(model 'e1000')(type ioemu))))\
|
||||
@@ -0,0 +1,44 @@
|
||||
<domain type='xen' id='1'>
|
||||
<name>fvtest</name>
|
||||
<uuid>b5d70dd2-75cd-aca5-1776-9660b059d8bc</uuid>
|
||||
<memory>409600</memory>
|
||||
<currentMemory>409600</currentMemory>
|
||||
<vcpu>1</vcpu>
|
||||
<os>
|
||||
<type>hvm</type>
|
||||
<loader>/usr/lib/xen/boot/hvmloader</loader>
|
||||
<boot dev='hd'/>
|
||||
</os>
|
||||
<features>
|
||||
<acpi/>
|
||||
</features>
|
||||
<clock offset='utc'>
|
||||
<timer name='hpet' present='no'/>
|
||||
</clock>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>restart</on_crash>
|
||||
<devices>
|
||||
<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
|
||||
<disk type='file' device='disk'>
|
||||
<driver name='file'/>
|
||||
<source file='/root/foo.img'/>
|
||||
<target dev='hda' bus='ide'/>
|
||||
</disk>
|
||||
<disk type='file' device='cdrom'>
|
||||
<driver name='file'/>
|
||||
<source file='/root/boot.iso'/>
|
||||
<target dev='hdc' bus='ide'/>
|
||||
<readonly/>
|
||||
</disk>
|
||||
<interface type='bridge'>
|
||||
<mac address='00:16:3e:1b:b1:47'/>
|
||||
<source bridge='xenbr0'/>
|
||||
<script path='vif-bridge'/>
|
||||
<target dev='vif1.0'/>
|
||||
<model type='e1000'/>
|
||||
</interface>
|
||||
<input type='mouse' bus='ps2'/>
|
||||
<graphics type='vnc' port='5901' autoport='no'/>
|
||||
</devices>
|
||||
</domain>
|
||||
@@ -157,6 +157,8 @@ mymain(void)
|
||||
DO_TEST("fv-usbmouse", "fv-usbmouse", 1);
|
||||
DO_TEST("fv-usbtablet", "fv-usbtablet", 1);
|
||||
DO_TEST("fv-kernel", "fv-kernel", 1);
|
||||
DO_TEST("fv-force-hpet", "fv-force-hpet", 1);
|
||||
DO_TEST("fv-force-nohpet", "fv-force-nohpet", 1);
|
||||
|
||||
DO_TEST("fv-serial-null", "fv-serial-null", 1);
|
||||
DO_TEST("fv-serial-file", "fv-serial-file", 1);
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
name = "XenGuest2"
|
||||
uuid = "c7a5fdb2-cdaf-9455-926a-d65c16db1809"
|
||||
maxmem = 579
|
||||
memory = 394
|
||||
vcpus = 1
|
||||
builder = "hvm"
|
||||
kernel = "/usr/lib/xen/boot/hvmloader"
|
||||
boot = "d"
|
||||
pae = 1
|
||||
acpi = 1
|
||||
apic = 1
|
||||
localtime = 0
|
||||
hpet = 1
|
||||
on_poweroff = "destroy"
|
||||
on_reboot = "restart"
|
||||
on_crash = "restart"
|
||||
device_model = "/usr/lib/xen/bin/qemu-dm"
|
||||
sdl = 0
|
||||
vnc = 1
|
||||
vncunused = 1
|
||||
vnclisten = "127.0.0.1"
|
||||
vncpasswd = "123poi"
|
||||
disk = [ "phy:/dev/HostVG/XenGuest2,hda,w", "file:/root/boot.iso,hdc:cdrom,r" ]
|
||||
vif = [ "mac=00:16:3e:66:92:9c,bridge=xenbr1,script=vif-bridge,model=e1000,type=ioemu" ]
|
||||
parallel = "none"
|
||||
serial = "none"
|
||||
@@ -0,0 +1,45 @@
|
||||
<domain type='xen'>
|
||||
<name>XenGuest2</name>
|
||||
<uuid>c7a5fdb2-cdaf-9455-926a-d65c16db1809</uuid>
|
||||
<memory>592896</memory>
|
||||
<currentMemory>403456</currentMemory>
|
||||
<vcpu>1</vcpu>
|
||||
<os>
|
||||
<type arch='i686' machine='xenfv'>hvm</type>
|
||||
<loader>/usr/lib/xen/boot/hvmloader</loader>
|
||||
<boot dev='cdrom'/>
|
||||
</os>
|
||||
<features>
|
||||
<acpi/>
|
||||
<apic/>
|
||||
<pae/>
|
||||
</features>
|
||||
<clock offset='utc'>
|
||||
<timer name='hpet' present='yes'/>
|
||||
</clock>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>restart</on_crash>
|
||||
<devices>
|
||||
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
|
||||
<disk type='block' device='disk'>
|
||||
<driver name='phy'/>
|
||||
<source dev='/dev/HostVG/XenGuest2'/>
|
||||
<target dev='hda' bus='ide'/>
|
||||
</disk>
|
||||
<disk type='file' device='cdrom'>
|
||||
<driver name='file'/>
|
||||
<source file='/root/boot.iso'/>
|
||||
<target dev='hdc' bus='ide'/>
|
||||
<readonly/>
|
||||
</disk>
|
||||
<interface type='bridge'>
|
||||
<mac address='00:16:3e:66:92:9c'/>
|
||||
<source bridge='xenbr1'/>
|
||||
<script path='vif-bridge'/>
|
||||
<model type='e1000'/>
|
||||
</interface>
|
||||
<input type='mouse' bus='ps2'/>
|
||||
<graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1' passwd='123poi'/>
|
||||
</devices>
|
||||
</domain>
|
||||
@@ -0,0 +1,26 @@
|
||||
name = "XenGuest2"
|
||||
uuid = "c7a5fdb2-cdaf-9455-926a-d65c16db1809"
|
||||
maxmem = 579
|
||||
memory = 394
|
||||
vcpus = 1
|
||||
builder = "hvm"
|
||||
kernel = "/usr/lib/xen/boot/hvmloader"
|
||||
boot = "d"
|
||||
pae = 1
|
||||
acpi = 1
|
||||
apic = 1
|
||||
localtime = 0
|
||||
hpet = 0
|
||||
on_poweroff = "destroy"
|
||||
on_reboot = "restart"
|
||||
on_crash = "restart"
|
||||
device_model = "/usr/lib/xen/bin/qemu-dm"
|
||||
sdl = 0
|
||||
vnc = 1
|
||||
vncunused = 1
|
||||
vnclisten = "127.0.0.1"
|
||||
vncpasswd = "123poi"
|
||||
disk = [ "phy:/dev/HostVG/XenGuest2,hda,w", "file:/root/boot.iso,hdc:cdrom,r" ]
|
||||
vif = [ "mac=00:16:3e:66:92:9c,bridge=xenbr1,script=vif-bridge,model=e1000,type=ioemu" ]
|
||||
parallel = "none"
|
||||
serial = "none"
|
||||
@@ -0,0 +1,45 @@
|
||||
<domain type='xen'>
|
||||
<name>XenGuest2</name>
|
||||
<uuid>c7a5fdb2-cdaf-9455-926a-d65c16db1809</uuid>
|
||||
<memory>592896</memory>
|
||||
<currentMemory>403456</currentMemory>
|
||||
<vcpu>1</vcpu>
|
||||
<os>
|
||||
<type arch='i686' machine='xenfv'>hvm</type>
|
||||
<loader>/usr/lib/xen/boot/hvmloader</loader>
|
||||
<boot dev='cdrom'/>
|
||||
</os>
|
||||
<features>
|
||||
<acpi/>
|
||||
<apic/>
|
||||
<pae/>
|
||||
</features>
|
||||
<clock offset='utc'>
|
||||
<timer name='hpet' present='no'/>
|
||||
</clock>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>restart</on_crash>
|
||||
<devices>
|
||||
<emulator>/usr/lib/xen/bin/qemu-dm</emulator>
|
||||
<disk type='block' device='disk'>
|
||||
<driver name='phy'/>
|
||||
<source dev='/dev/HostVG/XenGuest2'/>
|
||||
<target dev='hda' bus='ide'/>
|
||||
</disk>
|
||||
<disk type='file' device='cdrom'>
|
||||
<driver name='file'/>
|
||||
<source file='/root/boot.iso'/>
|
||||
<target dev='hdc' bus='ide'/>
|
||||
<readonly/>
|
||||
</disk>
|
||||
<interface type='bridge'>
|
||||
<mac address='00:16:3e:66:92:9c'/>
|
||||
<source bridge='xenbr1'/>
|
||||
<script path='vif-bridge'/>
|
||||
<model type='e1000'/>
|
||||
</interface>
|
||||
<input type='mouse' bus='ps2'/>
|
||||
<graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1' passwd='123poi'/>
|
||||
</devices>
|
||||
</domain>
|
||||
@@ -231,6 +231,9 @@ mymain(void)
|
||||
DO_TEST("fullvirt-serial-udp", 2);
|
||||
DO_TEST("fullvirt-serial-unix", 2);
|
||||
|
||||
DO_TEST("fullvirt-force-hpet", 2);
|
||||
DO_TEST("fullvirt-force-nohpet", 2);
|
||||
|
||||
DO_TEST("fullvirt-parallel-tcp", 2);
|
||||
|
||||
DO_TEST("fullvirt-sound", 2);
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
(vm (name 'fvtest')(memory 400)(maxmem 400)(vcpus 1)\
|
||||
(uuid 'b5d70dd2-75cd-aca5-1776-9660b059d8bc')(on_poweroff 'destroy')\
|
||||
(on_reboot 'restart')(on_crash 'restart')\
|
||||
(image (hvm (kernel '/usr/lib/xen/boot/hvmloader')(vcpus 1)(boot c)\
|
||||
(cdrom '/root/boot.iso')(acpi 1)(usb 1)(parallel none)(serial none)\
|
||||
(device_model '/usr/lib64/xen/bin/qemu-dm')(hpet 1)(vnc 1)))\
|
||||
(device (vbd (dev 'ioemu:hda')(uname 'file:/root/foo.img')(mode 'w')))\
|
||||
(device (vif (mac '00:16:3e:1b:b1:47')(bridge 'xenbr0')(script 'vif-bridge')\
|
||||
(model 'e1000')(type ioemu))))\
|
||||
@@ -0,0 +1,39 @@
|
||||
<domain type='xen'>
|
||||
<name>fvtest</name>
|
||||
<uuid>b5d70dd275cdaca517769660b059d8bc</uuid>
|
||||
<os>
|
||||
<type>hvm</type>
|
||||
<loader>/usr/lib/xen/boot/hvmloader</loader>
|
||||
<boot dev='hd'/>
|
||||
</os>
|
||||
<memory>409600</memory>
|
||||
<vcpu>1</vcpu>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>restart</on_crash>
|
||||
<features>
|
||||
<acpi/>
|
||||
</features>
|
||||
<clock offset='utc'>
|
||||
<timer name='hpet' present='yes'/>
|
||||
</clock>
|
||||
<devices>
|
||||
<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
|
||||
<interface type='bridge'>
|
||||
<source bridge='xenbr0'/>
|
||||
<mac address='00:16:3e:1b:b1:47'/>
|
||||
<script path='vif-bridge'/>
|
||||
<model type='e1000'/>
|
||||
</interface>
|
||||
<disk type='file' device='cdrom'>
|
||||
<source file='/root/boot.iso'/>
|
||||
<target dev='hdc'/>
|
||||
<readonly/>
|
||||
</disk>
|
||||
<disk type='file'>
|
||||
<source file='/root/foo.img'/>
|
||||
<target dev='ioemu:hda'/>
|
||||
</disk>
|
||||
<graphics type='vnc' port='5917' keymap='ja'/>
|
||||
</devices>
|
||||
</domain>
|
||||
@@ -0,0 +1,9 @@
|
||||
(vm (name 'fvtest')(memory 400)(maxmem 400)(vcpus 1)\
|
||||
(uuid 'b5d70dd2-75cd-aca5-1776-9660b059d8bc')(on_poweroff 'destroy')\
|
||||
(on_reboot 'restart')(on_crash 'restart')\
|
||||
(image (hvm (kernel '/usr/lib/xen/boot/hvmloader')(vcpus 1)(boot c)\
|
||||
(cdrom '/root/boot.iso')(acpi 1)(usb 1)(parallel none)(serial none)\
|
||||
(device_model '/usr/lib64/xen/bin/qemu-dm')(hpet 0)(vnc 1)))\
|
||||
(device (vbd (dev 'ioemu:hda')(uname 'file:/root/foo.img')(mode 'w')))\
|
||||
(device (vif (mac '00:16:3e:1b:b1:47')(bridge 'xenbr0')(script 'vif-bridge')\
|
||||
(model 'e1000')(type ioemu))))\
|
||||
@@ -0,0 +1,39 @@
|
||||
<domain type='xen'>
|
||||
<name>fvtest</name>
|
||||
<uuid>b5d70dd275cdaca517769660b059d8bc</uuid>
|
||||
<os>
|
||||
<type>hvm</type>
|
||||
<loader>/usr/lib/xen/boot/hvmloader</loader>
|
||||
<boot dev='hd'/>
|
||||
</os>
|
||||
<memory>409600</memory>
|
||||
<vcpu>1</vcpu>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>restart</on_crash>
|
||||
<features>
|
||||
<acpi/>
|
||||
</features>
|
||||
<clock offset='utc'>
|
||||
<timer name='hpet' present='no'/>
|
||||
</clock>
|
||||
<devices>
|
||||
<emulator>/usr/lib64/xen/bin/qemu-dm</emulator>
|
||||
<interface type='bridge'>
|
||||
<source bridge='xenbr0'/>
|
||||
<mac address='00:16:3e:1b:b1:47'/>
|
||||
<script path='vif-bridge'/>
|
||||
<model type='e1000'/>
|
||||
</interface>
|
||||
<disk type='file' device='cdrom'>
|
||||
<source file='/root/boot.iso'/>
|
||||
<target dev='hdc'/>
|
||||
<readonly/>
|
||||
</disk>
|
||||
<disk type='file'>
|
||||
<source file='/root/foo.img'/>
|
||||
<target dev='ioemu:hda'/>
|
||||
</disk>
|
||||
<graphics type='vnc' port='5917' keymap='ja'/>
|
||||
</devices>
|
||||
</domain>
|
||||
@@ -143,6 +143,8 @@ mymain(void)
|
||||
DO_TEST("fv-usbmouse", "fv-usbmouse", "fvtest", 1);
|
||||
DO_TEST("fv-usbmouse", "fv-usbmouse", "fvtest", 1);
|
||||
DO_TEST("fv-kernel", "fv-kernel", "fvtest", 1);
|
||||
DO_TEST("fv-force-hpet", "fv-force-hpet", "fvtest", 1);
|
||||
DO_TEST("fv-force-nohpet", "fv-force-nohpet", "fvtest", 1);
|
||||
|
||||
DO_TEST("fv-serial-null", "fv-serial-null", "fvtest", 1);
|
||||
DO_TEST("fv-serial-file", "fv-serial-file", "fvtest", 1);
|
||||
|
||||
Reference in New Issue
Block a user