Links

ACPI Tables

Surface RT ACPI Tables.

ACPI Tables

  • APIC - Advanced Programmable Interrupt Controller
  • BGRT - Boot Graphics Resource Table
  • DBG2 - Debug Port Table 2
  • CSRT - Core System Resource Table
  • DSDT - Differentiated System Description Table
  • FACP - Fixed ACPI Description Table
  • FPDT - Firmware Performance Data Table
  • MSDM - Microsoft Data Management table
  • RSDP - Root System Description Pointer
  • SSDT - Secondary System Description Table
  • TPM2 - Trusted Platform Module 2.0
  • WDSA - Windows Specific Table. Contains tCover information
  • XSDT - Extended System Description Table Fields
ACPI-Tables-SurfaceRT.zip
17KB
Binary
ACPI-Tables-SurfaceRT-decompiled.zip
41KB
Binary

Get ACPI-Tables from Surface RT

You need to be able to run unsigned EFI apps. get ShellBinPkg.zip from https://github.com/tianocore/edk2/releases/tag/edk2-stable201911 And use the startup script below. Dumped tables should be in the dump folder
startup.nsh
564B
Binary

Decompile ACPI-Tables

To decompile ACPI on Linux you would normally use IASL. But all Tables are compiled with the Microsoft ASL compiler. Since MS_ASL isn't as strict as IASL, IASL detects some errors and won't decompile all tables.

IASL

Decompile with IASL
iasl -da APIC0000.bin BGRT0000.bin CSRT0000.bin DBG20000.bin FACP0000.bin FPDT0000.bin MSDM0000.bin TPM20000.bin XSDT0000.bin

MS ASL

microsoft_asl.exe
155KB
Binary
Decompile with MS_ASL
wine microsoft_asl.exe /u /e DSDT0000.bin
wine microsoft_asl.exe /u /e SSDT0000.bin
wine microsoft_asl.exe /u /e SSDT0001.bin
wine microsoft_asl.exe /u /e WDSA0000.bin
You can't decompile RSDP0000.bin but it only contains 2 Pointers