I found an interesting commit in VMware Open Tools GIT repository:
Commit Date: 14 March 2012 16:04:58 GMT
Add support for injecting ACPI tables to EFI
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
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.
This can be used to add new and replace existing ACPI tables and I have successfully used it to add a SLIC table into the BIOS without having to directly modify