freebsd-dev/usr.sbin/bhyve
Peter Grehan 4d1e669cad Rework how guest MMIO regions are dealt with.
- New memory region interface. An RB tree holds the regions,
with a last-found per-vCPU cache to deal with the common case
of repeated guest accesses to MMIO registers in the same page.

- Support memory-mapped BARs in PCI emulation.

 mem.c/h - memory region interface

 instruction_emul.c/h - remove old region interface.
 Use gpa from EPT exit to avoid a tablewalk to
 determine operand address. Determine operand size
 and use when calling through to region handler.

 fbsdrun.c - call into region interface on paging
  exit. Distinguish between instruction emul error
  and region not found

 pci_emul.c/h - implement new BAR callback api.
 Split BAR alloc routine into routines that
 require/don't require the BAR phys address.

 ioapic.c
 pci_passthru.c
 pci_virtio_block.c
 pci_virtio_net.c
 pci_uart.c  - update to new BAR callback i/f

Reviewed by:	neel
Obtained from:	NetApp
2012-10-19 18:11:17 +00:00
..
atpic.c
consport.c
dbgport.c
dbgport.h
elcr.c
fbsdrun.c Rework how guest MMIO regions are dealt with. 2012-10-19 18:11:17 +00:00
fbsdrun.h Add an option "-a" to present the local apic in the XAPIC mode instead of the 2012-09-26 00:06:17 +00:00
inout.c
inout.h
instruction_emul.c Rework how guest MMIO regions are dealt with. 2012-10-19 18:11:17 +00:00
instruction_emul.h Rework how guest MMIO regions are dealt with. 2012-10-19 18:11:17 +00:00
ioapic.c Rework how guest MMIO regions are dealt with. 2012-10-19 18:11:17 +00:00
ioapic.h Device model for ioapic emulation. 2012-08-05 00:00:52 +00:00
Makefile Rework how guest MMIO regions are dealt with. 2012-10-19 18:11:17 +00:00
mem.c Rework how guest MMIO regions are dealt with. 2012-10-19 18:11:17 +00:00
mem.h Rework how guest MMIO regions are dealt with. 2012-10-19 18:11:17 +00:00
mevent_test.c
mevent.c
mevent.h
pci_emul.c Rework how guest MMIO regions are dealt with. 2012-10-19 18:11:17 +00:00
pci_emul.h Rework how guest MMIO regions are dealt with. 2012-10-19 18:11:17 +00:00
pci_hostbridge.c
pci_passthru.c Rework how guest MMIO regions are dealt with. 2012-10-19 18:11:17 +00:00
pci_uart.c Rework how guest MMIO regions are dealt with. 2012-10-19 18:11:17 +00:00
pci_virtio_block.c Rework how guest MMIO regions are dealt with. 2012-10-19 18:11:17 +00:00
pci_virtio_net.c Rework how guest MMIO regions are dealt with. 2012-10-19 18:11:17 +00:00
pit_8254.c Catch up with CURRENTs different timer usage compared to 8.1. A counter 2011-05-24 01:08:53 +00:00
pit_8254.h
post.c
rtc.c
spinup_ap.c Add an option "-a" to present the local apic in the XAPIC mode instead of the 2012-09-26 00:06:17 +00:00
spinup_ap.h Add an explicit exit code 'SPINUP_AP' to tell the controlling process that an 2012-09-25 02:33:25 +00:00
uart.c
virtio.h
xmsr.c Add an explicit exit code 'SPINUP_AP' to tell the controlling process that an 2012-09-25 02:33:25 +00:00
xmsr.h