freebsd-dev/usr.sbin/bhyve
Corvin Köhne 931bb7bf1c
bhyve: define array to protect passthru regs
GPU passthrough requires a special handling of some PCI config register.
Therefore, we need a flexible approach for implementing it. Adding an
array of handler meets this condition.

Start by using the default handler for all accesses to the PCI config
space. In upcoming commits, we can start to split the default handler
into several handler for each register that requires emulation.

Reviewed by:		markj
MFC after:		1 week
Sponsored by:		Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D39291
2023-04-12 09:22:19 +02:00
..
kbdlayout bhyve/kdblayout: add some missing keys to german layout 2022-11-15 07:48:27 +01:00
acpi_device.c bhyve: allow device specific DSDT entries 2023-04-12 08:33:47 +02:00
acpi_device.h bhyve: allow device specific DSDT entries 2023-04-12 08:33:47 +02:00
acpi.c bhyve: check for errors when writing device specific DSDT entries 2023-04-12 08:33:29 +02:00
acpi.h bhyve: maintain a list of acpi devices 2023-02-14 08:28:31 +01:00
ahci.h
atkbdc.c bhyve: Remove the unused vcpu argument from all of the I/O port handlers. 2022-12-09 10:35:44 -08:00
atkbdc.h
audio.c bhyve: Address compiler warnings in audio.c 2022-09-29 12:36:44 -04:00
audio.h bhyve: Address compiler warnings in audio.c 2022-09-29 12:36:44 -04:00
basl.c bhyve: use dynamic ACPI table offsets 2022-11-21 09:28:01 +01:00
basl.h bhyve: build SPCR ACPI table 2022-12-06 12:58:27 +01:00
bhyve_config.5 bhyve: fix spelling mistake of pcireg option 2023-03-29 11:33:06 +02:00
bhyve.8 bhyve: add cmdline option to enable qemu's fwcfg 2023-03-17 09:35:36 +01:00
bhyvegc.c
bhyvegc.h
bhyverun.c bhyve: Remove vmctx member from struct vm_snapshot_meta. 2023-03-24 11:49:06 -07:00
bhyverun.h libvmmapi: Add a struct vcpu and use it in most APIs. 2023-03-24 11:49:06 -07:00
block_if.c bhyve: don't flush readonly device at blockif_pause 2023-03-06 14:04:07 +01:00
block_if.h
bootrom.c libvmmapi: Add a struct vcpu and use it in most APIs. 2023-03-24 11:49:06 -07:00
bootrom.h
config.c bhyve: Fix a typo in a comment 2022-11-14 09:01:00 -05:00
config.h
console.c
console.h
debug.h
fwctl.c bhyve: Remove the unused vcpu argument from all of the I/O port handlers. 2022-12-09 10:35:44 -08:00
fwctl.h
gdb.c libvmmapi: Add a struct vcpu and use it in most APIs. 2023-03-24 11:49:06 -07:00
gdb.h libvmmapi: Add a struct vcpu and use it in most APIs. 2023-03-24 11:49:06 -07:00
hda_codec.c bhyve: Make hda_ops function tables const 2022-10-23 11:11:33 -04:00
hda_reg.h
hdac_reg.h
inout.c libvmmapi: Add a struct vcpu and use it in most APIs. 2023-03-24 11:49:06 -07:00
inout.h libvmmapi: Add a struct vcpu and use it in most APIs. 2023-03-24 11:49:06 -07:00
ioapic.c
ioapic.h
iov.c bhyve: Avoid arithmetic on void pointers 2022-10-23 11:11:33 -04:00
iov.h
ipc.h bhyve: Remove trailing semicolon 2023-03-14 20:39:34 -06:00
kernemu_dev.c libvmmapi: Add a struct vcpu and use it in most APIs. 2023-03-24 11:49:06 -07:00
kernemu_dev.h
Makefile bhyve: add cmdline option to enable qemu's fwcfg 2023-03-17 09:35:36 +01:00
Makefile.depend
Makefile.depend.options
mem.c libvmmapi: Add a struct vcpu and use it in most APIs. 2023-03-24 11:49:06 -07:00
mem.h libvmmapi: Add a struct vcpu and use it in most APIs. 2023-03-24 11:49:06 -07:00
mevent_test.c
mevent.c bhyve: Annotate unused function parameters 2022-10-08 11:33:21 -04:00
mevent.h
mptbl.c bhyve: Annotate unused function parameters 2022-10-08 11:33:21 -04:00
mptbl.h
net_backends.c bhyve: Define an accessor for net backend private data 2022-11-11 10:01:40 -05:00
net_backends.h
net_utils.c
net_utils.h
pci_ahci.c bhyve: Remove vmctx member from struct vm_snapshot_meta. 2023-03-24 11:49:06 -07:00
pci_e82545.c bhyve: Remove vmctx member from struct vm_snapshot_meta. 2023-03-24 11:49:06 -07:00
pci_emul.c bhyve: add helper to read PCI IDs from bhyve config 2023-03-27 10:10:24 +02:00
pci_emul.h bhyve: add helper to read PCI IDs from bhyve config 2023-03-27 10:10:24 +02:00
pci_fbuf.c bhyve: Remove useless return at the end of void function 2023-03-01 12:04:41 -05:00
pci_hda.c bhyve: Fix a buffer overread in the PCI hda device model. 2023-01-20 09:58:38 -08:00
pci_hda.h bhyve: Remove trailing semicolon 2023-03-14 20:39:34 -06:00
pci_hostbridge.c bhyve: make use of helper to read PCI IDs from bhyve config 2023-03-27 10:10:24 +02:00
pci_irq.c bhyve: Address some signed/unsigned comparison warnings 2022-10-25 11:16:57 -04:00
pci_irq.h
pci_lpc.c bhyve: do not exit if LPC finds no host selector 2023-04-11 08:39:21 +02:00
pci_lpc.h bhyve: add cmdline option to enable qemu's fwcfg 2023-03-17 09:35:36 +01:00
pci_nvme.c bhyve: Remove trailing semicolon 2023-03-14 20:39:34 -06:00
pci_passthru.c bhyve: define array to protect passthru regs 2023-04-12 09:22:19 +02:00
pci_passthru.h bhyve: define array to protect passthru regs 2023-04-12 09:22:19 +02:00
pci_uart.c bhyve: Remove vmctx argument from PCI device model methods. 2023-01-19 10:30:18 -08:00
pci_virtio_9p.c bhyve: Remove vmctx argument from PCI device model methods. 2023-01-19 10:30:18 -08:00
pci_virtio_block.c bhyve: Remove vmctx argument from PCI device model methods. 2023-01-19 10:30:18 -08:00
pci_virtio_console.c bhyve: Remove vmctx argument from PCI device model methods. 2023-01-19 10:30:18 -08:00
pci_virtio_input.c bhyve: Remove useless return at the end of void function 2023-03-01 12:04:41 -05:00
pci_virtio_net.c bhyve: Remove vmctx argument from PCI device model methods. 2023-01-19 10:30:18 -08:00
pci_virtio_rnd.c bhyve: Remove vmctx argument from PCI device model methods. 2023-01-19 10:30:18 -08:00
pci_virtio_scsi.c bhyve: Remove vmctx argument from PCI device model methods. 2023-01-19 10:30:18 -08:00
pci_xhci.c bhyve: Remove vmctx member from struct vm_snapshot_meta. 2023-03-24 11:49:06 -07:00
pci_xhci.h bhyve: Drop volatile qualifiers from xhci hw struct fields 2022-11-11 10:01:52 -05:00
pctestdev.c libvmmapi: Add a struct vcpu and use it in most APIs. 2023-03-24 11:49:06 -07:00
pctestdev.h
pm.c bhyve: Remove the unused vcpu argument from all of the I/O port handlers. 2022-12-09 10:35:44 -08:00
post.c bhyve: Remove the unused vcpu argument from all of the I/O port handlers. 2022-12-09 10:35:44 -08:00
ps2kbd.c bhyve: Fix some warnings in the ps2 emulation code 2022-10-23 11:11:33 -04:00
ps2kbd.h
ps2mouse.c bhyve: Fix some warnings in the ps2 emulation code 2022-10-23 11:11:33 -04:00
ps2mouse.h
qemu_fwcfg.c bhyve: introduce acpi_device_emul struct 2023-04-05 09:06:41 +02:00
qemu_fwcfg.h bhyve: Accept a variable-length string name for qemu_fwcfg_add_file. 2023-03-22 12:34:34 -07:00
rfb.c bhyve: Make sure that the VNC version is initialized 2022-10-27 10:48:55 -04:00
rfb.h
rtc.c bhyve: Annotate unused function parameters 2022-10-08 11:33:21 -04:00
rtc.h
smbiostbl.c bhyve: Address an unused parameter warning in the smbios code 2022-11-18 14:11:48 -05:00
smbiostbl.h
snapshot.c bhyve: Remove vmctx member from struct vm_snapshot_meta. 2023-03-24 11:49:06 -07:00
snapshot.h bhyve: Remove vmctx member from struct vm_snapshot_meta. 2023-03-24 11:49:06 -07:00
sockstream.c
sockstream.h
spinup_ap.c libvmmapi: Add a struct vcpu and use it in most APIs. 2023-03-24 11:49:06 -07:00
spinup_ap.h libvmmapi: Add a struct vcpu and use it in most APIs. 2023-03-24 11:49:06 -07:00
task_switch.c libvmmapi: Add a struct vcpu and use it in most APIs. 2023-03-24 11:49:06 -07:00
uart_emul.c bhyve: Address some signed/unsigned comparison warnings 2022-10-25 11:16:57 -04:00
uart_emul.h
usb_emul.c
usb_emul.h bhyve: Remove trailing semicolon 2023-03-14 20:39:34 -06:00
usb_mouse.c bhyve: USB device model structures can be qualified with "static" 2022-10-23 11:11:33 -04:00
vga.c libvmmapi: Add a struct vcpu and use it in most APIs. 2023-03-24 11:49:06 -07:00
vga.h bhyve: Put the prototype for vga_render() in a header 2022-10-23 11:11:33 -04:00
virtio.c bhyve: Remove vmctx member from struct vm_snapshot_meta. 2023-03-24 11:49:06 -07:00
virtio.h bhyve: Remove vmctx argument from PCI device model methods. 2023-01-19 10:30:18 -08:00
vmgenc.c
vmgenc.h
xmsr.c libvmmapi: Add a struct vcpu and use it in most APIs. 2023-03-24 11:49:06 -07:00
xmsr.h libvmmapi: Add a struct vcpu and use it in most APIs. 2023-03-24 11:49:06 -07:00