]> git.ipfire.org Git - thirdparty/open-vm-tools.git/commitdiff
Add support for injecting ACPI tables to EFI
authorVMware, Inc <>
Tue, 13 Mar 2012 20:04:59 +0000 (13:04 -0700)
committerDmitry Torokhov <dtor@vmware.com>
Wed, 14 Mar 2012 16:04:58 +0000 (09:04 -0700)
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>
open-vm-tools/lib/include/backdoor_def.h

index 73531692234b446b7948dcb9e206722d1764370e..c0b5588cfae99ebcbdc17ee0b689f558a2128751 100644 (file)
 #  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