And support for removing ACPI tables from the guest for both EFI and
legacy BIOS. And make both processes available in beta/release builds
too. Only restricted functionality is setting vendor of the platform
in ACPI to match SLIC table - that works only in obj builds, or if
table comes from NX1000.
Both of the options are usable mainly for debugging, but we have had
requests in the past to be able to expose some random stuff via ACPI,
and this provides way how to do that.
Option for adding table(s) is acpi.addtable.filename -
- for example acpi.addtable.filename = "/.vmware/waet.tbl" to add ACPI
tables from waet.tbl to the VM.
Option for removing table(s) is acpi.skiptables - and it lists table
signatures to remove - for example acpi.skiptables = "WAET,BOOT,HPET"
to remove WAET, BOOT, and HPET from the VM.
acpi.skiptables is processed before acpi.addtable, so you can use this
mechanism to replace arbitrary ACPI table - by blacklisting table
generated by the BIOS, and injecting tweaked replacement.
If you blacklist vital tables (RSDT, FACS, FADT, DSDT), you are on
your own. Your guest probably won't boot, or maybe even firmware will
crash.
Making all this available for user required some additional changes in
slicvendor handling. Most important is that exclusion is now per
vendor/device, rather than one VM on the box. And in obj build this
restriction can be overriden with config option.
Signed-off-by: Dmitry Torokhov <dtor@vmware.com>
# define BDOOR_CMD_FAS_GET_PLATFORM_NAME 2
# define BDOOR_CMD_FAS_GET_PCIE_OSC_MASK 3
# define BDOOR_CMD_FAS_GET_APIC_ROUTING 4
+# define BDOOR_CMD_FAS_GET_TABLE_SKIP 5
#define BDOOR_CMD_SENDPSHAREHINTS 66
#define BDOOR_CMD_ENABLE_USB_MOUSE 67
#define BDOOR_CMD_GET_VCPU_INFO 68