freebsd-nq/sys/amd64/vmm/io
Neel Natu 0dafa5cd4b Replace bhyve's minimal RTC emulation with a fully featured one in vmm.ko.
The new RTC emulation supports all interrupt modes: periodic, update ended
and alarm. It is also capable of maintaining the date/time and NVRAM contents
across virtual machine reset. Also, the date/time fields can now be modified
by the guest.

Since bhyve now emulates both the PIT and the RTC there is no need for
"Legacy Replacement Routing" in the HPET so get rid of it.

The RTC device state can be inspected via bhyvectl as follows:
bhyvectl --vm=vm --get-rtc-time
bhyvectl --vm=vm --set-rtc-time=<unix_time_secs>
bhyvectl --vm=vm --rtc-nvram-offset=<offset> --get-rtc-nvram
bhyvectl --vm=vm --rtc-nvram-offset=<offset> --set-rtc-nvram=<value>

Reviewed by:	tychon
Discussed with:	grehan
Differential Revision:	https://reviews.freebsd.org/D1385
MFC after:	2 weeks
2014-12-30 22:19:34 +00:00
..
iommu.c Re-write bhyve's I/O MMU handling in terms of PCI RID. 2014-04-01 15:54:03 +00:00
iommu.h Re-write bhyve's I/O MMU handling in terms of PCI RID. 2014-04-01 15:54:03 +00:00
ppt.c Re-write bhyve's I/O MMU handling in terms of PCI RID. 2014-04-01 15:54:03 +00:00
ppt.h There is no need to initialize the IOMMU if no passthru devices have been 2014-01-21 03:01:34 +00:00
vatpic.c Implement "special mask mode" in vatpic. 2014-12-28 00:53:52 +00:00
vatpic.h Change the type of the first argument to the I/O emulation handlers to 2014-10-26 19:03:06 +00:00
vatpit.c Change the type of the first argument to the I/O emulation handlers to 2014-10-26 19:03:06 +00:00
vatpit.h Change the type of the first argument to the I/O emulation handlers to 2014-10-26 19:03:06 +00:00
vhpet.c Replace bhyve's minimal RTC emulation with a fully featured one in vmm.ko. 2014-12-30 22:19:34 +00:00
vhpet.h Add HPET device emulation to bhyve. 2013-11-25 19:04:51 +00:00
vioapic.c Use spinlocks to lock accesses to the vioapic. 2014-02-17 22:57:51 +00:00
vioapic.h Add support for level triggered interrupt pins on the vioapic. Prior to this 2013-11-27 22:18:08 +00:00
vlapic_priv.h Fix a race wherein the source of an interrupt vector is wrongly 2014-03-15 23:09:34 +00:00
vlapic.c IFC @r272185 2014-09-27 22:15:50 +00:00
vlapic.h Add reserved bit checking when doing %CR8 emulation and inject #GP if required. 2014-06-09 20:51:08 +00:00
vpmtmr.c Change the type of the first argument to the I/O emulation handlers to 2014-10-26 19:03:06 +00:00
vpmtmr.h Change the type of the first argument to the I/O emulation handlers to 2014-10-26 19:03:06 +00:00
vrtc.c Replace bhyve's minimal RTC emulation with a fully featured one in vmm.ko. 2014-12-30 22:19:34 +00:00
vrtc.h Replace bhyve's minimal RTC emulation with a fully featured one in vmm.ko. 2014-12-30 22:19:34 +00:00