Подскажите как лучше извлекать dsdt? Может имеет смысл извлечь разными способами и потом сравнить сранить?
- Скопировал
/sys/firmware/acpi/tables/DSDT
. - Извлёк через UEFITool Raw section 44534454 из bin-файла с сайта производителя.
Извлекаю dsdt, чтобы поправить acpi apic.
Arch 5.16.4
Сравнение бинарных файлов:
$ cmp -l arch.dat UEFITool.aml | gawk '{printf "%08X %02X %02X\n", $1, strtonum(0$2), strtonum(0$3)}'
0000000A 1B EB
0000000B 41 49
0000000C 43 4E
0000000D 52 53
0000000E 53 59
0000000F 59 44
00000010 53 45
00000011 41 48
00000012 43 32
00000013 52 4F
00000014 50 20
00000015 52 42
00000016 44 49
00000017 43 4F
00000018 54 53
0000001D 31 49
0000001E 30 4E
0000001F 32 54
00000020 35 4C
00000021 00 17
00000022 00 01
00000023 04 13
00000024 00 20
0000025A 98 AA
0000025B A9 55
0000025C 7B AA
0000025D 8F 55
0000025F 88 AA
00000260 01 55
00000261 00 AA
00000262 00 55
000003E3 98 AA
000003E4 AC 55
000003E5 7B AA
000003E6 8F 55
000003E8 0B AA
000003E9 00 55
000003EA 00 AA
000003EB 00 55
000008D4 18 AA
000008D5 00 55
000008D6 3A AA
000008D7 8F 55
000008D9 04 AA
000008DA 10 55
000008DB 00 AA
000008DC 00 55
00001468 30 F0
00001469 FD FF
000048BD 18 00
000048BE AD 00
000048BF 7B FF
000048C0 8F FF
000048C2 00 55
000048C3 02 AA
Сравнение выводов iasl -d:
$ diff iaslarch iaslUEFITool
5c5
< File appears to be binary: found 8861 non-ASCII characters, disassembling
---
> File appears to be binary: found 8853 non-ASCII characters, disassembling
7,8c7,8
< Input file arch.dat, Length 0x6806 (26630) bytes
< ACPI: DSDT 0x0000000000000000 006806 (v01 ACRSYS ACRPRDCT 00040000 1025 00040000)
---
> Input file UEFITool.aml, Length 0x6806 (26630) bytes
> ACPI: DSDT 0x0000000000000000 006806 (v01 INSYDE H2O BIOS 00040000 INTL 20130117)
22c22
< ASL Output: arch.dsl - 243074 bytes
---
> ASL Output: UEFITool.dsl - 243085 bytes
Сравнение dsl файлов:
$ diff arch.dsl UEFITool.dsl
8c8
< * Disassembly of arch.dat, Wed Feb 23 11:22:54 2022
---
> * Disassembly of UEFITool.aml, Wed Feb 23 11:27:07 2022
14,16c14,16
< * Checksum 0x1B
< * OEM ID "ACRSYS"
< * OEM Table ID "ACRPRDCT"
---
> * Checksum 0xEB
> * OEM ID "INSYDE"
> * OEM Table ID "H2O BIOS"
18,19c18,19
< * Compiler ID "1025"
< * Compiler Version 0x00040000 (262144)
---
> * Compiler ID "INTL"
> * Compiler Version 0x20130117 (538116375)
21c21
< DefinitionBlock ("", "DSDT", 1, "ACRSYS", "ACRPRDCT", 0x00040000)
---
> DefinitionBlock ("", "DSDT", 1, "INSYDE", "H2O BIOS", 0x00040000)
223c223
< OperationRegion (GNVS, SystemMemory, 0x8F7BA998, 0x00000188)
---
> OperationRegion (GNVS, SystemMemory, 0x55AA55AA, 0x55AA55AA)
300c300
< OperationRegion (OGNS, SystemMemory, 0x8F7BAC98, 0x0000000B)
---
> OperationRegion (OGNS, SystemMemory, 0x55AA55AA, 0x55AA55AA)
547c547
< OperationRegion (MDBG, SystemMemory, 0x8F3A0018, 0x00001004)
---
> OperationRegion (MDBG, SystemMemory, 0x55AA55AA, 0x55AA55AA)
1158c1158
< Name (BAR3, 0xFD300000)
---
> Name (BAR3, 0xFFF00000)
6070c6070
< OperationRegion (COMP, SystemMemory, 0x8F7BAD18, 0x0200)
---
> OperationRegion (COMP, SystemMemory, 0xFFFF0000, 0xAA55)