freebsd-skq/usr.sbin/bhyve
neel 7aa6460c48 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
..
acpi.c iasl(8) expects integer fields in data tables to be specified as hexadecimal 2014-10-09 19:02:32 +00:00
acpi.h Implement a PCI interrupt router to route PCI legacy INTx interrupts to 2014-05-15 14:16:55 +00:00
ahci.h Import Zhixiang Yu's GSoC'13 AHCI emulation: 2013-10-04 18:31:38 +00:00
atkbdc.c Simplify the meaning of return values from the inout handlers. After this 2014-07-25 20:18:35 +00:00
bhyve.8 Fix improper .Fx macro usage. 2014-11-19 18:19:21 +00:00
bhyverun.c IFC r271888. 2014-09-20 21:46:31 +00:00
bhyverun.h Simplify the meaning of return values from the inout handlers. After this 2014-07-25 20:18:35 +00:00
block_if.c To allow a request to be submitted from within the callback routine of 2014-11-09 21:08:52 +00:00
block_if.h Add a call to synthesize a C/H/S value for block emulations 2014-07-15 00:25:54 +00:00
consport.c Handle single-byte reads from the bvmcons port (0x220) by returning 2014-04-08 21:02:03 +00:00
dbgport.c Mark the I/O ports used by the bhyve console and debug devices as system 2014-02-07 20:53:41 +00:00
dbgport.h Change the behavior of bhyve such that the gdb listening port is opt-in 2013-10-08 16:36:17 +00:00
inout.c Simplify the meaning of return values from the inout handlers. After this 2014-07-25 20:18:35 +00:00
inout.h Simplify the meaning of return values from the inout handlers. After this 2014-07-25 20:18:35 +00:00
ioapic.c Enhance the support for PCI legacy INTx interrupts and enable them in 2014-01-29 14:56:48 +00:00
ioapic.h Enhance the support for PCI legacy INTx interrupts and enable them in 2014-01-29 14:56:48 +00:00
Makefile Convert usr.sbin to LIBADD 2014-11-25 16:57:27 +00:00
mem.c Support PCI extended config space in bhyve. 2014-08-08 03:49:01 +00:00
mem.h Support PCI extended config space in bhyve. 2014-08-08 03:49:01 +00:00
mevent_test.c Add simplistic periodic timer support to mevent using kqueue's 2013-09-19 04:48:26 +00:00
mevent.c Re-adding an event to a kqueue modifies the parameters of the original event. 2014-05-05 16:30:03 +00:00
mevent.h Extend the ACPI power management support to wire a virtual power button up 2013-12-28 04:01:05 +00:00
mptbl.c Implement a PCI interrupt router to route PCI legacy INTx interrupts to 2014-05-15 14:16:55 +00:00
mptbl.h Make the virtual ioapic available unconditionally in a bhyve virtual machine. 2013-10-31 05:44:45 +00:00
pci_ahci.c If the start bit, PxCMD.ST, is cleared and nothing is in-flight then 2014-11-03 12:55:31 +00:00
pci_emul.c Support PCI extended config space in bhyve. 2014-08-08 03:49:01 +00:00
pci_emul.h Support PCI extended config space in bhyve. 2014-08-08 03:49:01 +00:00
pci_hostbridge.c Changes required for OpenBSD/amd64: 2013-10-17 22:01:17 +00:00
pci_irq.c Minor cleanup: 2014-08-13 00:14:26 +00:00
pci_irq.h Implement a PCI interrupt router to route PCI legacy INTx interrupts to 2014-05-15 14:16:55 +00:00
pci_lpc.c Activate vcpus from bhyve(8) using the ioctl VM_ACTIVATE_CPU instead of doing 2014-05-31 23:37:34 +00:00
pci_lpc.h Implement a PCI interrupt router to route PCI legacy INTx interrupts to 2014-05-15 14:16:55 +00:00
pci_passthru.c Use calloc() in favor of malloc + memset. 2014-04-22 18:55:21 +00:00
pci_uart.c Enhance the support for PCI legacy INTx interrupts and enable them in 2014-01-29 14:56:48 +00:00
pci_virtio_block.c Implement the FLUSH operation in the virtio-block emulation. 2014-10-07 17:08:53 +00:00
pci_virtio_net.c Allow vtnet operation without merged rx buffers. 2014-09-09 22:35:02 +00:00
pci_virtio_rnd.c Add a callback to be notified about negotiated features. 2014-09-09 04:11:54 +00:00
pm.c Simplify the meaning of return values from the inout handlers. After this 2014-07-25 20:18:35 +00:00
post.c Rework the DSDT generation code a bit to generate more accurate info about 2014-01-02 21:26:59 +00:00
rtc.c Replace bhyve's minimal RTC emulation with a fully featured one in vmm.ko. 2014-12-30 22:19:34 +00:00
rtc.h Implement RTC CMOS nvram. Init some fields that are used 2013-07-11 03:54:35 +00:00
smbiostbl.c Correct display of bhyve SMBIOS UUIDs with dmidecode by bumping the version. 2014-09-23 01:17:22 +00:00
smbiostbl.h Add SMBIOS support. 2014-03-04 17:12:06 +00:00
spinup_ap.c Use 'cpuset_t' to represent the vcpus active in a virtual machine. 2014-03-20 18:15:37 +00:00
spinup_ap.h
task_switch.c Set the 'inst_length' to '0' early on before any error conditions are detected 2014-08-30 18:35:16 +00:00
uart_emul.c Disable the 'uart_drain()' callback when the emulated receive FIFO is full. 2014-05-05 23:54:13 +00:00
uart_emul.h Add support for PCI-to-ISA LPC bridge emulation. If the LPC bus is attached 2013-10-29 00:18:11 +00:00
virtio.c Add a callback to be notified about negotiated features. 2014-09-09 04:11:54 +00:00
virtio.h Add a callback to be notified about negotiated features. 2014-09-09 04:11:54 +00:00
xmsr.c Don't advertise the "OS visible workarounds" feature in cpuid.80000001H:ECX. 2014-10-19 21:38:58 +00:00
xmsr.h IFC r271888. 2014-09-20 21:46:31 +00:00