freebsd-dev/usr.sbin/bhyve
Corvin Köhne 49b947c01d
bhyve: add basl support for pointers
Some ACPI tables like XSDT contain pointers to other ACPI tables. When
an ACPI table is loaded by qemu's loader, the address in the guest
memory is unknown. For that reason, the qemu loader supports patching
those pointers. Basl keeps track of all pointers and causes the qemu
loader to patch all pointers.

The qemu ACPI table loader is unsupport yet. However, in a future commit
bhyve will use dynamic ACPI table offsets based on the size and
alignment requirements of each ACPI table. Therefore, tracking ACPI
table pointer is required too.

Reviewed by:		jhb
Approved by:		manu (mentor)
MFC after:		2 weeks
Sponsored by:		Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D36991
2022-11-15 08:27:11 +01:00
..
kbdlayout bhyve/kdblayout: add some missing keys to german layout 2022-11-15 07:48:27 +01:00
acpi.c bhyve: use basl to load ACPI tables 2022-11-15 08:27:06 +01:00
acpi.h bhyve(8): Add VM Generation Counter ACPI device 2020-04-15 02:00:17 +00:00
ahci.h
atkbdc.c bhyve: Address -Wno-unused warnings in atkbd.c 2022-09-29 12:36:44 -04:00
atkbdc.h Initial support for bhyve save and restore. 2020-05-05 00:02:04 +00:00
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: add basl support for pointers 2022-11-15 08:27:11 +01:00
basl.h bhyve: add basl support for pointers 2022-11-15 08:27:11 +01:00
bhyve_config.5 bhyve: Support other schemes for naming pass-through devices. 2022-08-19 14:58:55 -07:00
bhyve.8 bhyve: Support other schemes for naming pass-through devices. 2022-08-19 14:58:55 -07:00
bhyvegc.c
bhyvegc.h
bhyverun.c bhyve: Address some signed/unsigned comparison warnings 2022-10-25 11:16:57 -04:00
bhyverun.h bhyve: Avoid shadowing global variables in bhyverun.c 2022-10-25 11:16:56 -04:00
block_if.c bhyve: Address some signed/unsigned comparison warnings 2022-10-25 11:16:57 -04:00
block_if.h bhyve: Snapshot impovements for 'blockif' backend 2022-06-23 11:46:06 -07:00
bootrom.c bhyve: Annotate unused function parameters 2022-10-08 11:33:21 -04:00
bootrom.h bhyve: add varfile option to nvlist of lpc device 2022-03-02 22:50:24 -09:00
config.c bhyve: Fix a typo in a comment 2022-11-14 09:01:00 -05:00
config.h bhyve(4): Remove a double word in a source code comment 2022-09-04 13:57:00 +02:00
console.c Append Keyboard Layout specified option for using VNC. 2021-04-21 12:40:44 +02:00
console.h Append Keyboard Layout specified option for using VNC. 2021-04-21 12:40:44 +02:00
debug.h bhyve: add wrapper for debug printf statements 2020-01-08 22:55:22 +00:00
fwctl.c bhyve: Address warnings about potential unaligned accesses in fwctl.c 2022-11-11 10:01:27 -05:00
fwctl.h
gdb.c bhyve: Address some signed/unsigned comparison warnings 2022-10-25 11:16:57 -04:00
gdb.h byhve: add option to specify IP address for gdb 2021-08-21 19:43:17 +02:00
hda_codec.c bhyve: Make hda_ops function tables const 2022-10-23 11:11:33 -04:00
hda_reg.h bhyve: clean up trailing whitespaces 2021-12-27 19:58:10 +02:00
hdac_reg.h
inout.c bhyve: Annotate unused function parameters 2022-10-08 11:33:21 -04:00
inout.h bhyve: clean up trailing whitespaces 2021-12-27 19:58:10 +02:00
ioapic.c
ioapic.h
iov.c bhyve: Avoid arithmetic on void pointers 2022-10-23 11:11:33 -04:00
iov.h bhyve: enable virtio-net mergeable rx buffers for tap(4) 2020-02-20 21:07:23 +00:00
ipc.h bhyve: Use the proper type for string literals 2022-10-23 11:11:33 -04:00
kernemu_dev.c vmm(4), bhyve(8): Expose kernel-emulated special devices to userspace 2020-05-15 15:54:22 +00:00
kernemu_dev.h vmm(4), bhyve(8): Expose kernel-emulated special devices to userspace 2020-05-15 15:54:22 +00:00
Makefile bhyve: add basic basl implementation 2022-11-15 08:27:01 +01:00
Makefile.depend Initial support for bhyve save and restore. 2020-05-05 00:02:04 +00:00
Makefile.depend.options Add Makefile.depend.options 2019-12-11 17:37:37 +00:00
mem.c bhyve: Mark variables and functions as static where appropriate 2022-08-16 14:21:44 -04:00
mem.h bhyve: Allocate mmio_hint array based on number of guest CPUs. 2022-03-09 15:38:49 -08:00
mevent_test.c bhyve: clean up trailing whitespaces 2021-12-27 19:58:10 +02:00
mevent.c bhyve: Annotate unused function parameters 2022-10-08 11:33:21 -04:00
mevent.h bhyve: clean up trailing whitespaces 2021-12-27 19:58:10 +02:00
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 Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
net_utils.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
net_utils.h Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
pci_ahci.c bhyve: Address signed/unsigned comparison warnings in the AHCI model 2022-10-25 11:16:57 -04:00
pci_e82545.c bhyve: Address some signed/unsigned comparison warnings 2022-10-25 11:16:57 -04:00
pci_emul.c bhyve: Address some signed/unsigned comparison warnings 2022-10-25 11:16:57 -04:00
pci_emul.h bhyve: Sprinkle const qualifiers where appropriate 2022-08-16 14:21:44 -04:00
pci_fbuf.c bhyve: Put the prototype for vga_render() in a header 2022-10-23 11:11:33 -04:00
pci_hda.c bhyve: Address some signed/unsigned comparison warnings 2022-10-25 11:16:57 -04:00
pci_hda.h bhyve: Make hda_ops function tables const 2022-10-23 11:11:33 -04:00
pci_hostbridge.c bhyve: Annotate unused function parameters 2022-10-08 11:33:21 -04: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: Annotate unused function parameters 2022-10-08 11:33:21 -04:00
pci_lpc.h bhyve: Use "void" instead of empty parameter lists 2022-08-16 14:21:44 -04:00
pci_nvme.c bhyve: nvme controller obey async event setting when reporting critical temperature 2022-11-15 07:48:26 +01:00
pci_passthru.c bhyve: Address some signed/unsigned comparison warnings 2022-10-25 11:16:57 -04:00
pci_passthru.h bhyve: export funcs for read/write pci config 2022-03-10 12:30:02 +01:00
pci_uart.c bhyve: Annotate unused function parameters 2022-10-08 11:33:21 -04:00
pci_virtio_9p.c bhyve: Annotate unused function parameters 2022-10-08 11:33:21 -04:00
pci_virtio_block.c bhyve: Annotate unused function parameters 2022-10-08 11:33:21 -04:00
pci_virtio_console.c bhyve: Avoid arithmetic on void pointers 2022-10-23 11:11:33 -04:00
pci_virtio_input.c bhyve: Address some signed/unsigned comparison warnings 2022-10-25 11:16:57 -04:00
pci_virtio_net.c bhyve: Handle snapshots of unconfigured virtio-net devices 2022-10-23 14:50:43 -04:00
pci_virtio_rnd.c bhyve: Annotate unused function parameters 2022-10-08 11:33:21 -04:00
pci_virtio_scsi.c bhyve: Avoid arithmetic on void pointers 2022-10-23 11:11:33 -04:00
pci_xhci.c bhyve: Simplify control flow in the xhci device model 2022-11-14 15:08:45 -05:00
pci_xhci.h bhyve: Drop volatile qualifiers from xhci hw struct fields 2022-11-11 10:01:52 -05:00
pctestdev.c bhyve: Annotate unused function parameters 2022-10-08 11:33:21 -04:00
pctestdev.h Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
pm.c bhyve: Annotate unused function parameters 2022-10-08 11:33:21 -04:00
post.c bhyve: Annotate unused function parameters 2022-10-08 11:33:21 -04:00
ps2kbd.c bhyve: Fix some warnings in the ps2 emulation code 2022-10-23 11:11:33 -04:00
ps2kbd.h Initial support for bhyve save and restore. 2020-05-05 00:02:04 +00:00
ps2mouse.c bhyve: Fix some warnings in the ps2 emulation code 2022-10-23 11:11:33 -04:00
ps2mouse.h bhyve: clean up trailing whitespaces 2021-12-27 19:58:10 +02:00
rfb.c bhyve: Make sure that the VNC version is initialized 2022-10-27 10:48:55 -04:00
rfb.h bhyve: Sprinkle const qualifiers where appropriate 2022-08-16 14:21:44 -04:00
rtc.c bhyve: Annotate unused function parameters 2022-10-08 11:33:21 -04:00
rtc.h Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
smbiostbl.c bhyve: Avoid shadowing global variables in bhyverun.c 2022-10-25 11:16:56 -04:00
smbiostbl.h
snapshot.c bhyve: Drop volatile qualifiers from snapshot code 2022-11-11 10:02:26 -05:00
snapshot.h bhyve/snapshot: use a string for cmd element in the nvlist 2022-02-15 08:12:15 -09:00
sockstream.c
sockstream.h
spinup_ap.c vmm: permit some IPIs to be handled by userspace 2022-10-14 12:03:05 +02:00
spinup_ap.h bhyve: create all vcpus on startup 2022-09-07 09:05:36 +02:00
task_switch.c bhyve: Address some signed/unsigned comparison warnings 2022-10-25 11:16:57 -04:00
uart_emul.c bhyve: Address some signed/unsigned comparison warnings 2022-10-25 11:16:57 -04:00
uart_emul.h Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
usb_emul.c Refactor configuration management in bhyve. 2021-03-18 16:30:26 -07:00
usb_emul.h bhyve: Use the proper type for string literals 2022-10-23 11:11:33 -04:00
usb_mouse.c bhyve: USB device model structures can be qualified with "static" 2022-10-23 11:11:33 -04:00
vga.c bhyve: Annotate unused function parameters 2022-10-08 11:33:21 -04:00
vga.h bhyve: Put the prototype for vga_render() in a header 2022-10-23 11:11:33 -04:00
virtio.c bhyve: Drop volatile qualifiers from virtio rings 2022-11-11 10:02:10 -05:00
virtio.h bhyve: Drop volatile qualifiers from virtio rings 2022-11-11 10:02:10 -05:00
vmgenc.c bhyve(8): Correct copyright boilerplate for r359950 2020-04-15 05:55:14 +00:00
vmgenc.h bhyve(8): Correct copyright boilerplate for r359950 2020-04-15 05:55:14 +00:00
xmsr.c bhyve: Implement MSR_MISC_FEATURES_ENABLES 2022-10-27 11:34:41 -06:00
xmsr.h