Правка dsdt

Доброго времени.
Решил попробовать поравить свои dsdt-таблицы.
Выполняю все по мануалу из вики.

# cat /sys/firmware/acpi/tables/DSDT > dsdt.dat

Появляется dsdt.dat

iasl -d dsdt.dat

На выходе получаю:
Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20180531
Copyright © 2000 - 2018 Intel Corporation

Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20180531
Copyright © 2000 - 2018 Intel Corporation

Input file dsdt.dat, Length 0x10C73 (68723) bytes
ACPI: DSDT 0x0000000000000000 010C73 (v02 ACRSYS ACRPRDCT 00000000 1025 00040000)
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)

Parsing completed

Found 15 external control methods, reparsing with new information
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)

Parsing completed
Disassembly completed
ASL Output: dsdt.dsl - 655533 bytes

iASL Warning: There were 15 external control methods found during
disassembly, but only 0 were resolved (15 unresolved). Additional
ACPI tables may be required to properly disassemble the code. This
resulting disassembler output file may not compile because the
disassembler did not know how many arguments to assign to the
unresolved methods. Note: SSDTs can be dynamically loaded at
runtime and may or may not be available via the host OS.

To specify the tables needed to resolve external control method
references, the -e option can be used to specify the filenames.
Example iASL invocations:
iasl -e ssdt1.aml ssdt2.aml ssdt3.aml -d dsdt.aml
iasl -e dsdt.aml ssdt2.aml -d ssdt1.aml
iasl -e ssdt*.aml -d dsdt.aml

In addition, the -fe option can be used to specify a file containing
control method external declarations with the associated method
argument counts. Each line of the file must be of the form:
External (<method pathname>, MethodObj, <argument count>)
Invocation:
iasl -fe refs.txt -d dsdt.aml
Создается dsdt.dsl с предупреждениями (что и написано выше), препятствующими диассемблированию.

External (_GPE.OSUP, MethodObj)    // Warning: Unknown method, guessing 1 arguments
    External (_SB_.PCI0.GFX0.AINT, MethodObj)    // Warning: Unknown method, guessing 2 arguments
    External (_SB_.PCI0.GFX0.GHDS, MethodObj)    // Warning: Unknown method, guessing 1 arguments
    External (_SB_.PCI0.GFX0.GLID, MethodObj)    // Warning: Unknown method, guessing 1 arguments
    External (_SB_.PCI0.GFX0.GSCI, MethodObj)    // Warning: Unknown method, guessing 0 arguments
    External (_SB_.PCI0.GFX0.WKAR, MethodObj)    // Warning: Unknown method, guessing 2 arguments
    External (_SB_.PCI0.PAUD.PUAM, MethodObj)    // Warning: Unknown method, guessing 0 arguments
    External (_SB_.PCI0.PEG0.HPME, MethodObj)    // Warning: Unknown method, guessing 0 arguments
    External (_SB_.PCI0.PEG0.PEGP.EPON, MethodObj)    // Warning: Unknown method, guessing 0 arguments
    External (_SB_.PCI0.PEG1.HPME, MethodObj)    // Warning: Unknown method, guessing 0 arguments
    External (_SB_.PCI0.PEG2.HPME, MethodObj)    // Warning: Unknown method, guessing 0 arguments
    External (_SB_.PCI0.RP05.PEGP.EPON, MethodObj)    // Warning: Unknown method, guessing 0 arguments
    External (_SB_.PCI0.XHC_.DUAM, MethodObj)    // Warning: Unknown method, guessing 0 arguments
.......
    External (PS0X, MethodObj)    // Warning: Unknown method, guessing 0 arguments
    External (PS3X, MethodObj)    // Warning: Unknown method, guessing 0 arguments
To specify the tables needed to resolve external control method
references, the -e option can be used to specify the filenames.
Согласно этому пытаюсь
cat /sys/firmware/acpi/tables/DSDT > dsdt.aml
cat /sys/firmware/acpi/tables/SSDT1-5 > ssdt1-5.aml
cat /sys/firmware/acpi/tables/dynamic/SSDT6-8 > ssdt6-8.aml
После следую подсказке:
iasl -e ssdt1.aml ssdt2.aml ssdt3.aml ssdt4.aml ssdt5.aml ssdt6.aml ssdt7.aml ssdt8.aml -d dsdt.aml
В итоге получаю то же самое предупреждение, только
iASL Warning: There were 15 external control methods found during
disassembly, but only 8 were resolved (7 unresolved).
Т.е 7 варнингов.
После попытки компиляции получаю:
iasl -tc dsdt.dsl
iasl -tc dsdt.dsl

Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20180531
Copyright © 2000 - 2018 Intel Corporation

Error 6092 - Could not open file "dsdt.aml" (AML Output) - Permission denied

dsdt.dsl 3794: Switch (Local0)
Warning 3124 - ^ Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer

dsdt.dsl 4818: Switch (Local0)
Warning 3124 - ^ Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer

dsdt.dsl 5029: Switch (Local0)
Warning 3124 - ^ Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer

dsdt.dsl 7290: Switch (PEPY)
Warning 3124 - ^ Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer

dsdt.dsl 9274: Switch (Arg0)
Warning 3124 - ^ Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer

dsdt.dsl 9341: Switch (Arg0)
Warning 3124 - ^ Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer

dsdt.dsl 16911: Switch (Local1)
Warning 3124 - ^ Switch expression is not a static Integer/Buffer/String data type, defaulting to Intege
sudo iasl -tc dsdt.dsl
Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20180531
Copyright © 2000 - 2018 Intel Corporation

iASL: Segmentation Fault
iASL: Terminating
Это же предупреждение получается, если я пытаю скомпилировать невзирая на варнинги (про методы) в первом посте.
Morisson, раньше стоял пакет iasl и все работало нормально, но недавно этот пакет удалили и вместо него появился пакет acpica
[2018-06-03 16:42] [ALPM] removed iasl (20180105-1)
[2018-06-03 16:42] [ALPM] installed acpica (20180531-1)
функции вроде бы все те же, но …. появился bug - при компиляции получаем (и не мы одни)
iASL: Segmentation Fault
iASL: Terminating
Мне особо не нужно, а потому решил подождать, чем это все закончится.
Ошибки не исчезают с опытом - они просто умнеют
Ага. Тогда ясно.. Я думал, что что-то не так делаю((
Спасибо. Видимо не судьба пока мне что-то разломать)

PS. Так-то почитал, править- не сильно хитрое дело,- все гуглится
Morisson
PS. Так-то почитал, править- не сильно хитрое дело,- все гуглится
Сложности могут быть при загрузке - с подсовыванием DSDT
Ошибки не исчезают с опытом - они просто умнеют
До этого еще дойти надо)
Меня тоже это напрягает немного и что то все не исправляют никак!
dmesg | grep -i erro
[    0.709409] RAS: Correctable Errors collector initialized.
[    1.135412] ACPI BIOS Error (bug): Failure looking up [\_SB.PCI0.SAT0.SPT0._GTF.DSSP], AE_NOT_FOUND (20180313/psargs-330)
[    1.135419] ACPI Error: Method parse/execution failed \_SB.PCI0.SAT0.SPT0._GTF, AE_NOT_FOUND (20180313/psparse-516)
[    1.136627] ACPI BIOS Error (bug): Failure looking up [\_SB.PCI0.SAT0.SPT0._GTF.DSSP], AE_NOT_FOUND (20180313/psargs-330)
[    1.136635] ACPI Error: Method parse/execution failed \_SB.PCI0.SAT0.SPT0._GTF, AE_NOT_FOUND (20180313/psparse-516)
[    1.149188] ACPI BIOS Error (bug): Failure looking up [\_SB.PCI0.SAT0.SPT1._GTF.DSSP], AE_NOT_FOUND (20180313/psargs-330)
[    1.149195] ACPI Error: Method parse/execution failed \_SB.PCI0.SAT0.SPT1._GTF, AE_NOT_FOUND (20180313/psparse-516)
[    1.149974] ACPI BIOS Error (bug): Failure looking up [\_SB.PCI0.SAT0.SPT1._GTF.DSSP], AE_NOT_FOUND (20180313/psargs-330)
[    1.149981] ACPI Error: Method parse/execution failed \_SB.PCI0.SAT0.SPT1._GTF, AE_NOT_FOUND (20180313/psparse-516)
 
Зарегистрироваться или войдите чтобы оставить сообщение.