freebsd-dev/usr.sbin/bhyve
Neel Natu 1c05219285 If a vcpu disables its local apic and then executes a 'HLT' then spin down the
vcpu and destroy its thread context. Also modify the 'HLT' processing to ignore
pending interrupts in the IRR if interrupts have been disabled by the guest.
The interrupt cannot be injected into the guest in any case so resuming it
is futile.

With this change "halt" from a Linux guest works correctly.

Reviewed by:	grehan@
Tested by:	Tycho Nightingale (tycho.nightingale@pluribusnetworks.com)
2013-12-07 22:18:36 +00:00
..
acpi.c Add support for level triggered interrupt pins on the vioapic. Prior to this 2013-11-27 22:18:08 +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
bhyverun.c If a vcpu disables its local apic and then executes a 'HLT' then spin down the 2013-12-07 22:18:36 +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
dbgport.c
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 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.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 Move the ioapic device model from userspace into vmm.ko. This is needed for 2013-11-12 22:51:03 +00:00
mem.c
mem.h
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 Fix the processor table entry structure to use a fixed-width type for 2013-12-05 21:51:54 +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 ioctl to assert and deassert an ioapic pin atomically. This will be used 2013-11-23 03:56:03 +00:00
pci_emul.h Add an ioctl to assert and deassert an ioapic pin atomically. This will be used 2013-11-23 03:56:03 +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
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
pmtmr.c
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
xmsr.h