bhyve: add UTC clock support

Bhyve as of r279225 (FreeBSD -CURRENT) or r284894 (FreeBSD 10-STABLE)
supports using UTC time offset via the '-u' argument to bhyve(8). By
default it's still using localtime.

Make the bhyve driver use UTC clock if it's requested by specifying
<clock offset='utc'> in domain XML and if the bhyve(8) binary supports
the '-u' flag.
This commit is contained in:
Roman Bogorodskiy
2015-07-19 11:20:35 +03:00
parent 830344d6e7
commit 6cb9ef1bab
25 changed files with 117 additions and 15 deletions

View File

@@ -1,3 +1,3 @@
/usr/sbin/bhyve -c 1 -m 214 -A -I -H -P -s 0:0,hostbridge \
/usr/sbin/bhyve -c 1 -m 214 -A -I -u -H -P -s 0:0,hostbridge \
-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
-s 2:0,ahci-hd,/tmp/freebsd.img bhyve

View File

@@ -1,3 +1,3 @@
/usr/sbin/bhyve -c 1 -m 214 -H -P -s 0:0,hostbridge \
/usr/sbin/bhyve -c 1 -m 214 -u -H -P -s 0:0,hostbridge \
-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
-s 2:0,ahci-hd,/tmp/freebsd.img bhyve

View File

@@ -1,3 +1,3 @@
/usr/sbin/bhyve -c 1 -m 214 -H -P -s 0:0,hostbridge \
/usr/sbin/bhyve -c 1 -m 214 -u -H -P -s 0:0,hostbridge \
-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
-s 2:0,ahci-hd,/tmp/freebsd.img bhyve

View File

@@ -1,4 +1,4 @@
/usr/sbin/bhyve -c 1 -m 214 -H -P -s 0:0,hostbridge \
/usr/sbin/bhyve -c 1 -m 214 -u -H -P -s 0:0,hostbridge \
-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
-s 2:0,ahci-hd,/tmp/freebsd.img \
-s 1,lpc -l com1,/dev/nmdm0A bhyve

View File

@@ -1,3 +1,3 @@
/usr/sbin/bhyve -c 1 -m 214 -H -P -s 0:0,hostbridge \
/usr/sbin/bhyve -c 1 -m 214 -u -H -P -s 0:0,hostbridge \
-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
-s 2:0,ahci-hd,/tmp/freebsd.img bhyve

View File

@@ -1,3 +1,3 @@
/usr/sbin/bhyve -c 1 -m 214 -H -P -s 0:0,hostbridge \
/usr/sbin/bhyve -c 1 -m 214 -u -H -P -s 0:0,hostbridge \
-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
-s 2:0,ahci-cd,/tmp/cdrom.iso bhyve

View File

@@ -1,3 +1,3 @@
/usr/sbin/bhyve -c 1 -m 214 -H -P -s 0:0,hostbridge \
/usr/sbin/bhyve -c 1 -m 214 -u -H -P -s 0:0,hostbridge \
-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
-s 2:0,ahci-cd,/tmp/cdrom.iso bhyve

View File

@@ -1,3 +1,3 @@
/usr/sbin/bhyve -c 1 -m 214 -H -P -s 0:0,hostbridge \
/usr/sbin/bhyve -c 1 -m 214 -u -H -P -s 0:0,hostbridge \
-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
-s 2:0,virtio-blk,/tmp/freebsd.img bhyve

View File

@@ -1,4 +1,4 @@
/usr/sbin/bhyve -c 1 -m 214 -H -P -s 0:0,hostbridge \
/usr/sbin/bhyve -c 1 -m 214 -u -H -P -s 0:0,hostbridge \
-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
-s 2:0,ahci-hd,/tmp/freebsd1.img \
-s 2:0,ahci-hd,/tmp/freebsd2.img \

View File

@@ -1,4 +1,4 @@
/usr/sbin/bhyve -c 1 -m 214 -H -P -s 0:0,hostbridge \
/usr/sbin/bhyve -c 1 -m 214 -u -H -P -s 0:0,hostbridge \
-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
-s 2:0,ahci-hd,/tmp/freebsd1.img \
-s 2:0,ahci-hd,/tmp/freebsd2.img \

View File

@@ -1,3 +1,3 @@
/usr/sbin/bhyve -c 1 -m 214 -H -P -s 0:0,hostbridge \
/usr/sbin/bhyve -c 1 -m 214 -u -H -P -s 0:0,hostbridge \
-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
-s 2:0,ahci-hd,/tmp/freebsd.img bhyve

View File

@@ -0,0 +1,3 @@
/usr/sbin/bhyve -c 1 -m 214 -H -P -s 0:0,hostbridge \
-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
-s 2:0,ahci-hd,/tmp/freebsd.img bhyve

View File

@@ -0,0 +1 @@
/usr/sbin/bhyveload -m 214 -d /tmp/freebsd.img bhyve

View File

@@ -0,0 +1,23 @@
<domain type='bhyve'>
<name>bhyve</name>
<uuid>df3be7e7-a104-11e3-aeb0-50e5492bd3dc</uuid>
<memory>219136</memory>
<vcpu>1</vcpu>
<os>
<type>hvm</type>
</os>
<clock offset='localtime'/>
<devices>
<disk type='file'>
<driver name='file' type='raw'/>
<source file='/tmp/freebsd.img'/>
<target dev='hda' bus='sata'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</disk>
<interface type='bridge'>
<model type='virtio'/>
<source bridge="virbr0"/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
</devices>
</domain>

View File

@@ -1,3 +1,3 @@
/usr/sbin/bhyve -c 1 -m 214 -H -P -s 0:0,hostbridge \
/usr/sbin/bhyve -c 1 -m 214 -u -H -P -s 0:0,hostbridge \
-s 3:0,virtio-net,faketapdev,mac=52:54:00:22:ee:11 \
-s 2:0,ahci-hd,/tmp/freebsd.img bhyve

View File

@@ -1,4 +1,4 @@
/usr/sbin/bhyve -c 1 -m 214 -H -P -s 0:0,hostbridge \
/usr/sbin/bhyve -c 1 -m 214 -u -H -P -s 0:0,hostbridge \
-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
-s 2:0,ahci-hd,/tmp/freebsd.img \
-s 1,lpc -l com1,/dev/nmdm0A bhyve

View File

@@ -1,4 +1,4 @@
/usr/sbin/bhyve -c 1 -m 214 -H -P -s 0:0,hostbridge \
/usr/sbin/bhyve -c 1 -m 214 -u -H -P -s 0:0,hostbridge \
-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
-s 2:0,ahci-hd,/tmp/freebsd.img \
-s 1,lpc -l com1,/dev/nmdm0A bhyve

View File

@@ -1,4 +1,4 @@
/usr/sbin/bhyve -c 1 -m 214 -H -P -s 0:0,hostbridge \
/usr/sbin/bhyve -c 1 -m 214 -u -H -P -s 0:0,hostbridge \
-s 3:0,virtio-net,faketapdev,mac=52:54:00:00:00:00 \
-s 2:0,ahci-hd,/tmp/freebsd.img \
-s 1,lpc -l com1,/dev/nmdm0A bhyve

View File

@@ -118,6 +118,7 @@ mymain(void)
} while (0)
driver.grubcaps = BHYVE_GRUB_CAP_CONSDEV;
driver.bhyvecaps = BHYVE_CAP_RTC_UTC;
DO_TEST("base");
DO_TEST("acpiapic");
@@ -133,6 +134,7 @@ mymain(void)
DO_TEST("custom-loader");
DO_TEST("disk-cdrom-grub");
DO_TEST("serial-grub");
DO_TEST("localtime");
driver.grubcaps = 0;