#15196: Patch ACPI/DSDT on the fly and allow fixed DSDT.aml to be sideloaded
----------------------------+----------------------------
Reporter: probono | Owner: tqh
Type: bug | Status: new
Priority: normal | Milestone: Unscheduled
Component: Drivers/ACPI | Version: R1/Development
Resolution: | Keywords:
Blocked By: | Blocking:
Has a Patch: 0 | Platform: x86-64
----------------------------+----------------------------
Comment (by probono):
Not sure what it all means, but this is what I get when trying to
disassemble under Linux:
{{{
ubuntu@ubuntu:~/linux-acpi$ iasl -e dmar.dat fidt.dat msdm.dat ssdt4.dat
ssdt8.dat apic.dat dsdt.dat fpdt.dat ssdt1.dat ssdt5.dat tpm2.dat
'asf!.dat' facp.dat hpet.dat ssdt2.dat ssdt6.dat uefi.dat csrt.dat
facs.dat mcfg.dat ssdt3.dat ssdt7.dat -d dsdt.dat
Intel ACPI Component Architecture
ASL+ Optimizing Compiler version 20160108-32
Copyright (c) 2000 - 2016 Intel Corporation
Input file dsdt.dat, Length 0x1666E (91758) bytes
ACPI: DSDT 0x0000000000000000 01666E (v02 ACRSYS ACRPRDCT 01072009 INTL
20120913)
External object resolution file ssdt7.dat
Input file ssdt7.dat, Length 0x5AA (1450) bytes
ACPI: SSDT 0x0000000000000000 0005AA (v02 PmRef ApIst 00003000 INTL
20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file ssdt3.dat
Input file ssdt3.dat, Length 0x539 (1337) bytes
ACPI: SSDT 0x0000000000000000 000539 (v02 PmRef Cpu0Ist 00003000 INTL
20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file mcfg.dat
Input file mcfg.dat, Length 0x3C (60) bytes
mcfg.dat: Table [MCFG] is not an AML table - ignoring
External object resolution file facs.dat
Input file facs.dat, Length 0x40 (64) bytes
ACPI Warning: Table header for [FACS] has invalid ASCII character(s)
(20160108/acfileio-466)
facs.dat: Table [FACS] is not an AML table - ignoring
External object resolution file csrt.dat
Input file csrt.dat, Length 0xC4 (196) bytes
csrt.dat: Table [CSRT] is not an AML table - ignoring
External object resolution file uefi.dat
Input file uefi.dat, Length 0x42 (66) bytes
uefi.dat: Table [UEFI] is not an AML table - ignoring
External object resolution file ssdt6.dat
Input file ssdt6.dat, Length 0x3D3 (979) bytes
ACPI: SSDT 0x0000000000000000 0003D3 (v02 PmRef Cpu0Cst 00003001 INTL
20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file ssdt2.dat
Input file ssdt2.dat, Length 0xC7D (3197) bytes
ACPI: SSDT 0x0000000000000000 000C7D (v02 Ther_R Ther_Rvp 00001000 INTL
20120913)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
External object resolution file hpet.dat
Input file hpet.dat, Length 0x38 (56) bytes
hpet.dat: Table [HPET] is not an AML table - ignoring
External object resolution file facp.dat
Input file facp.dat, Length 0x10C (268) bytes
ACPI: FACP 0x0000000000000000 00010C (v05 ACRSYS ACRPRDCT 01072009 AMI
00010013)
Pass 1 parse of [FACP]
ACPI Warning: Invalid character(s) in name (0x00001850), repaired: [P***]
(20160108/utstring-311)
ACPI Warning: Invalid character(s) in name (0x80000018), repaired: [****]
(20160108/utstring-311)
ACPI Warning: Invalid character(s) in name (0x03E90065), repaired: [****]
(20160108/utstring-311)
ACPI Warning: Invalid character(s) in name (0x00180402), repaired: [****]
(20160108/utstring-311)
ACPI Warning: Invalid character(s) in name (0x00001850), repaired: [P***]
(20160108/utstring-311)
ACPI Warning: Invalid character(s) in name (0x00000018), repaired: [****]
(20160108/utstring-311)
Pass 2 parse of [FACP]
ACPI Error: Unknown opcode 0xEF at table offset 0x0025, ignoring
(20160108/psobject-117)
/*
Error: Unknown opcode 0xEF at table offset 0x0025, context:
0015: 44 43 54 09 20 07 01 41 4D 49 20 13 00 01 00 80 // DCT. ..AMI
.....
0025: EF CF 9B D0 A1 C1 9A 01 01 09 00 B2 00 00 00 A0 //
................
0035: A1 00 00 00 18 00 00 00 00 00 00 04 18 00 00 00 //
................
*/
ACPI Error: Unknown opcode 0xCF at table offset 0x0026, ignoring
(20160108/psobject-117)
/*
Error: Unknown opcode 0xCF at table offset 0x0026, context:
0016: 43 54 09 20 07 01 41 4D 49 20 13 00 01 00 80 EF // CT. ..AMI
......
0026: CF 9B D0 A1 C1 9A 01 01 09 00 B2 00 00 00 A0 A1 //
................
0036: 00 00 00 18 00 00 00 00 00 00 04 18 00 00 00 00 //
................
*/
ACPI Error: Unknown opcode 0x9B at table offset 0x0027, ignoring
(20160108/psobject-117)
/*
Error: Unknown opcode 0x9B at table offset 0x0027, context:
0017: 54 09 20 07 01 41 4D 49 20 13 00 01 00 80 EF CF // T. ..AMI
.......
0027: 9B D0 A1 C1 9A 01 01 09 00 B2 00 00 00 A0 A1 00 //
................
0037: 00 00 18 00 00 00 00 00 00 04 18 00 00 00 00 00 //
................
*/
ACPI Error: Unknown opcode 0xD0 at table offset 0x0028, ignoring
(20160108/psobject-117)
/*
Error: Unknown opcode 0xD0 at table offset 0x0028, context:
0018: 09 20 07 01 41 4D 49 20 13 00 01 00 80 EF CF 9B // . ..AMI
........
0028: D0 A1 C1 9A 01 01 09 00 B2 00 00 00 A0 A1 00 00 //
................
0038: 00 18 00 00 00 00 00 00 04 18 00 00 00 00 00 00 //
................
*/
Segmentation fault (core dumped)
}}}
`Segmentation fault (core dumped)` is frightening me... but maybe I am
just doing it wrong.
--
Ticket URL: <https://dev.haiku-os.org/ticket/15196#comment:3>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.