freebsd-dev/usr.sbin/bhyve
John Baldwin 6450da0774 Support soft power-off via the ACPI S5 state for bhyve guests.
- Implement the PM1_EVT and PM1_CTL registers required by ACPI.
  The PM1_EVT register is mostly a dummy as bhyve doesn't support any
  of the hardware-initiated events.  The only bit of PM1_CNT that is
  implemented are the sleep request bits (SPL_EN and SLP_TYP) which
  request a graceful power off for S5.  In particular, for S5, bhyve
  exits with a non-zero value which terminates the loop in vmrun.sh.
- Emulate the Reset Control register at I/O port 0xcf9 and advertise
  it as the reset register via ACPI.
- Advertise an _S5 package.
- Extend the in/out interface to allow an in/out handler to request
  that the hypervisor trigger a reset or power-off.
- While here, note that all vCPUs in a guest support C1 ("hlt").

Reviewed by:	neel (earlier version)
2013-12-24 16:14:19 +00:00
..
acpi.c Support soft power-off via the ACPI S5 state for bhyve guests. 2013-12-24 16:14:19 +00:00
acpi.h Make the virtual ioapic available unconditionally in a bhyve virtual machine. 2013-10-31 05:44:45 +00:00
ahci.h Import Zhixiang Yu's GSoC'13 AHCI emulation: 2013-10-04 18:31:38 +00:00
atpic.c Allow 8259 registers to be read. This is a transient condition 2013-06-28 06:25:04 +00:00
bhyve.8 mdoc: nuke whitespace. 2013-12-23 15:00:15 +00:00
bhyverun.c Support soft power-off via the ACPI S5 state for bhyve guests. 2013-12-24 16:14:19 +00:00
bhyverun.h Changes required for OpenBSD/amd64: 2013-10-17 22:01:17 +00:00
block_if.c Add the VM name to the process name with setproctitle(). 2013-11-06 00:25:17 +00:00
block_if.h Block-layer backend interface for bhyve block-io device emulations. 2013-10-04 16:52:03 +00:00
consport.c Improve PCI BAR emulation: 2013-04-10 02:12:39 +00:00
dbgport.c Improve PCI BAR emulation: 2013-04-10 02:12:39 +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
elcr.c
inout.c Add support for PCI-to-ISA LPC bridge emulation. If the LPC bus is attached 2013-10-29 00:18:11 +00:00
inout.h Support soft power-off via the ACPI S5 state for bhyve guests. 2013-12-24 16:14:19 +00:00
legacy_irq.c Add support for PCI-to-ISA LPC bridge emulation. If the LPC bus is attached 2013-10-29 00:18:11 +00:00
legacy_irq.h Add support for PCI-to-ISA LPC bridge emulation. If the LPC bus is attached 2013-10-29 00:18:11 +00:00
Makefile Support soft power-off via the ACPI S5 state for bhyve guests. 2013-12-24 16:14:19 +00:00
mem.c Remove obsolete comment about lack of locking for MMIO range lookup. 2013-04-10 18:53:14 +00:00
mem.h Improve PCI BAR emulation: 2013-04-10 02:12:39 +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 Add the VM name to the process name with setproctitle(). 2013-11-06 00:25:17 +00:00
mevent.h Add simplistic periodic timer support to mevent using kqueue's 2013-09-19 04:48:26 +00:00
mptbl.c Extend the support for local interrupts on the local APIC: 2013-12-23 19:29:07 +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 The Data Byte Count (DBC) field of a Physical Region Descriptor 2013-11-26 03:00:54 +00:00
pci_emul.c Add an API to deliver message signalled interrupts to vcpus. This allows 2013-12-16 19:59:31 +00:00
pci_emul.h Add an API to deliver message signalled interrupts to vcpus. This allows 2013-12-16 19:59:31 +00:00
pci_hostbridge.c Changes required for OpenBSD/amd64: 2013-10-17 22:01:17 +00:00
pci_lpc.c Add an ioctl to assert and deassert an ioapic pin atomically. This will be used 2013-11-23 03:56:03 +00:00
pci_lpc.h Add support for PCI-to-ISA LPC bridge emulation. If the LPC bus is attached 2013-10-29 00:18:11 +00:00
pci_passthru.c Rename the ambiguously named 'vm_setup_msi()' and 'vm_setup_msix()' to 2013-12-18 03:58:51 +00:00
pci_uart.c Add support for PCI-to-ISA LPC bridge emulation. If the LPC bus is attached 2013-10-29 00:18:11 +00:00
pci_virtio_block.c Export the block size capability to guests. 2013-10-23 18:54:58 +00:00
pci_virtio_net.c Add the VM name to the process name with setproctitle(). 2013-11-06 00:25:17 +00:00
pit_8254.c Add an ioctl to assert and deassert an ioapic pin atomically. This will be used 2013-11-23 03:56:03 +00:00
pit_8254.h
pm.c Support soft power-off via the ACPI S5 state for bhyve guests. 2013-12-24 16:14:19 +00:00
pmtmr.c Unsynchronized TSCs on the host require special handling in bhyve: 2013-04-10 05:59:07 +00:00
post.c
rtc.c Changes required for OpenBSD/amd64: 2013-10-17 22:01:17 +00:00
rtc.h Implement RTC CMOS nvram. Init some fields that are used 2013-07-11 03:54:35 +00:00
spinup_ap.c Add a new capability, VM_CAP_ENABLE_INVPCID, that can be enabled to expose 2013-10-16 18:20:27 +00:00
spinup_ap.h
uart_emul.c Allow bhyve and bhyveload to attach to tty devices. 2013-11-27 00:21:37 +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 Pass the number of supported vectors to pci_emul_add_msicap() and 2013-09-17 18:42:13 +00:00
virtio.h Major rework of the virtio code. Split out common parts, and modify 2013-07-17 23:37:33 +00:00
xmsr.c Add an option to ignore accesses by the guest to unimplemented MSRs. 2013-12-19 22:27:28 +00:00
xmsr.h Add an option to ignore accesses by the guest to unimplemented MSRs. 2013-12-19 22:27:28 +00:00