Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ASRock H97M-ITxac Error 6126 - syntax error, unexpected '}' during DSDT Patching #184

Closed
1 task done
iG8R opened this issue Mar 12, 2024 · 11 comments
Closed
1 task done

Comments

@iG8R
Copy link

iG8R commented Mar 12, 2024

System

  • Motherboard: ASRock H97M-ITxac (CPU - 4790K Haswell)
  • BIOS Version: 1.90 (https://www.asrock.com/mb/Intel/H97M-ITXac/index.ru.asp#BIOS not 2.00 due to updated Haswell CPU Microcode to revision 24)
  • GPU: 3080Ti
  • [?] CSM is turned off. Make sure to confirm this in the BIOS and not with GPU-Z or similar since it can be inaccurate
  • [?] 4G decoding is enabled. Make sure to confirm this in the BIOS and not with GPU-Z or similar since it can be inaccurate
  • [?] UEFIPatch is applied (see Using UEFIPatch for more information). On some motherboards DSDT Patching is also needed
  • I have read Common issues (and fixes)

Description

Hello.

I went through the following steps, but bumped into an issue which I have no idea how to fix.
Maybe someone can help me in this situation.

1. Added FFS module (https://github.com/xCuri0/ReBarUEFI/wiki/Adding-FFS-module)

Original BIOS - H97M-ITXac(1.90)ROM.zip
Modified it by adding ReBarDxe.ffs - H9MXAC_190wReBarDxe.ffs.zip

2. Used UEFIPatch https://github.com/xCuri0/ReBarUEFI/wiki/Using-UEFIPatch to apply patches.txt and BdwUSB3.txt

Patched previously modified ROM - H9MXAC_190wReBarDxe.ffs.rom.patched.zip

There were no pad file issues.

3. Continued with DSDT Patching (https://github.com/xCuri0/ReBarUEFI/wiki/DSDT-Patching) and then a bummer awaited me.

  • I've extracted body from the AmiBoardInfo (GUID 9F3A0016-AE55-4288-829D-D22FD344C34) module PE32 image section to AmiBoardInfo.efi - AmiBoardInfo.zip
  • then extracted the compiled DSDT from AmiBoardInfo to DSDT.aml
    DSDT.aml.zip
  • used iasl DSDT.aml to decompile the DSDT.aml to DSDT.dsl
  • renamed DSDT.dsl to DSDTMod.dsl
  • added new QWordMemory and M1LN sections
    iasl.exe - iasl.exe.zip
    resulted file - DSDTmod.dsl.zip
  • tried to compile the modified DSDT by running iasl DSDTMod.dsl, but iasl reports the following errors
f:\_Downloads\AmiBoardInfoTool (UEFI)>iasl.exe DSDTmod.dsl

Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20230628
Copyright (c) 2000 - 2023 Intel Corporation

Error    6126 -  Compiler aborting due to parser-detected syntax error(s)


DSDTmod.dsl  13265:         }
Error    6126 -            ^ syntax error, unexpected '}'

DSDTmod.dsl  17503:
Error    6126 - syntax error, unexpected $end and premature End-Of-File

Error    6126 -  Compiler aborting due to parser-detected syntax error(s)


DSDTmod.dsl  13265:         }
Error    6126 -            ^ syntax error, unexpected '}'

DSDTmod.dsl  17503:
Error    6126 - syntax error, unexpected $end and premature End-Of-File

Input file:    DSDTmod.dsl - Compilation aborted due to parser-detected syntax error(s)

Compilation failed. 3 Errors, 0 Warnings, 0 Remarks
No AML files were generated due to syntax error(s)

Which I don't even have a clue how to fix, since I see absolutely no errors.
Maybe someone has some ideas?

@crashr
Copy link

crashr commented Mar 20, 2024

Line 13264 looks suspicios to me. That makes no sence after a Return statement. Maybe just delete ist? A quick and dirty test:

$ grep -A1 Return DSDTmod.dsl | egrep -v "{|}" | grep -v "\-\-" | grep -v Return

            Arg0

@iG8R
Copy link
Author

iG8R commented Mar 20, 2024

Thanks a lot for the answer.
After deleting

 13261:	        If (CondRefOf (MDBG))
 13262:	        {
 13263:	            Return (MDBG) /* External reference */
-13264:	            Arg0
 13265:	        }
 13266:	        Return (Zero)

Got the following:

Log (click here to unfold)
f:\_Downloads\AmiBoardInfoTool (UEFI)>iasl DSDTMod.dsl

Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20230628
Copyright (c) 2000 - 2023 Intel Corporation

DSDTMod.dsl    632:         If (CondRefOf (\_OSI, Local0))
Warning  3144 -    Method Local is set but never used ^  (Local0)

DSDTMod.dsl   1875:         Device (PCI0)
Warning  3073 -        Multiple types ^  (Device object requires either a _HID or _ADR, but not both)

DSDTMod.dsl   2337:                 CreateQWordField (BUF0, \_SB.PCI0._YAF._LEN, M2LN)  // _LEN: Length
Warning  3134 -                Statement is unreachable ^

DSDTMod.dsl   3061:                         IO (Decode16,
Error    6090 -                                       ^ Min/Max/Length/Gran are all zero, but no resource tag

DSDTMod.dsl   3120:                         Acquire (MUT0, 0x0FFF)
Warning  3130 -                                                ^ Result is not used, possible operator timeout will be missed

DSDTMod.dsl   3466:                 Method (SIOS, 1, NotSerialized)
Remark   2120 -                               ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.LPCB.SIOS)

DSDTMod.dsl   3470:                     OperationRegion (KBIO, SystemIO, 0x60, 0x05)
Warning  3175 -                                            ^ Static OperationRegion should be declared outside control method

DSDTMod.dsl   3470:                     OperationRegion (KBIO, SystemIO, 0x60, 0x05)
Remark   2173 -                                            ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPCB.SIOS)

DSDTMod.dsl   3604:                 Method (SIOW, 1, NotSerialized)
Remark   2146 - Method Argument is never used ^  (Arg0)

DSDTMod.dsl   3676:                 Device (CIR)
Warning  3141 -           Missing dependency ^  (Device has a _SRS, missing a _PRS, required)

DSDTMod.dsl   3694:                     Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
Remark   2120 -                                   ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.LPCB.CIR._CRS)

DSDTMod.dsl   3696:                         Name (BUF1, ResourceTemplate ()
Remark   2173 -                                     ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPCB.CIR._CRS)

DSDTMod.dsl   4025:                 Device (PS2K)
Warning  3141 -            Missing dependency ^  (Device has a _PRS, missing a _SRS, required)

DSDTMod.dsl   4103:                 Device (PS2M)
Warning  3141 -            Missing dependency ^  (Device has a _PRS, missing a _SRS, required)

DSDTMod.dsl   7039:                 OperationRegion (LGPI, SystemIO, Local0, 0x04)
Remark   2173 -                                        ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.RDGI)

DSDTMod.dsl   7057:                 OperationRegion (LGPI, SystemIO, Local0, 0x04)
Remark   2173 -                                        ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.RDGP)

DSDTMod.dsl   7075:                 OperationRegion (LGPI, SystemIO, Local0, 0x04)
Remark   2173 -                                        ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.WTGP)

DSDTMod.dsl   7091:                 OperationRegion (LGPI, SystemIO, Local0, 0x04)
Remark   2173 -                                        ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.WTIN)

DSDTMod.dsl   7107:                 OperationRegion (LGPI, SystemIO, Local0, 0x04)
Remark   2173 -                                        ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.WPGP)

DSDTMod.dsl   7122:                 OperationRegion (LGPI, SystemIO, Local0, 0x04)
Remark   2173 -                                        ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.GP2N)

DSDTMod.dsl   7137:                 OperationRegion (LGP2, SystemIO, Local0, 0x04)
Remark   2173 -                                        ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.GP2A)

DSDTMod.dsl   7156:                 OperationRegion (LGPI, SystemIO, Local0, 0x02)
Remark   2173 -                                        ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.GP2A)

DSDTMod.dsl   7192:                 OperationRegion (LGPI, SystemIO, Local0, 0x02)
Remark   2173 -                                        ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.GP2B)

DSDTMod.dsl   7254:             Method (GPEH, 0, NotSerialized)
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.GLAN.GPEH)

DSDTMod.dsl   7289:             Method (GPEH, 0, NotSerialized)
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.EHC1.GPEH)

DSDTMod.dsl   7321:                         Name (UPCA, Package (0x04)
Remark   2173 -                                     ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC1.HUBN.PR01._UPC)

DSDTMod.dsl   7333:                         Name (PLDP, Package (0x01)
Remark   2173 -                                     ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC1.HUBN.PR01._PLD)

DSDTMod.dsl   7365:                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8") /* Unknown UUID */))
Remark   2184 -                                                                      Unknown UUID string ^

DSDTMod.dsl   7415:                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8") /* Unknown UUID */))
Remark   2184 -                                                                      Unknown UUID string ^

DSDTMod.dsl   7465:                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8") /* Unknown UUID */))
Remark   2184 -                                                                      Unknown UUID string ^

DSDTMod.dsl   7515:                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8") /* Unknown UUID */))
Remark   2184 -                                                                      Unknown UUID string ^

DSDTMod.dsl   7591:             Method (GPEH, 0, NotSerialized)
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.EHC2.GPEH)

DSDTMod.dsl   7623:                         Name (UPCA, Package (0x04)
Remark   2173 -                                     ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC2.HUBN.PR01._UPC)

DSDTMod.dsl   7635:                         Name (PLDP, Package (0x01)
Remark   2173 -                                     ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC2.HUBN.PR01._PLD)

DSDTMod.dsl   7657:                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8") /* Unknown UUID */))
Remark   2184 -                                                                      Unknown UUID string ^

DSDTMod.dsl   7707:                             If ((Arg0 == ToUUID ("a5fc708f-8775-4ba6-bd0c-ba90a1ec72f8") /* Unknown UUID */))
Remark   2184 -                                                                      Unknown UUID string ^

DSDTMod.dsl   7824:             Method (GPEH, 0, NotSerialized)
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.XHC.GPEH)

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

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

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

DSDTMod.dsl   8031:             Method (_PS0, 0, Serialized)  // _PS0: Power State 0
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.XHC._PS0)

DSDTMod.dsl   8045:                 OperationRegion (MCA1, SystemMemory, SRMB, 0x9000)
Remark   2173 -                                        ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.XHC._PS0)

DSDTMod.dsl   8097:                     OperationRegion (PSCA, SystemMemory, Local3, 0x40)
Remark   2173 -                                            ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.XHC._PS0)

DSDTMod.dsl   8203:                 OperationRegion (MCA1, SystemMemory, SRMB, 0x9000)
Remark   2173 -                                        ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.XHC._PS3)

DSDTMod.dsl   8260:                 If ((Arg0 == ToUUID ("7c9512a9-1705-4cb4-af7d-506a2423ab71") /* Unknown UUID */))
Remark   2184 -                                                          Unknown UUID string ^

DSDTMod.dsl   8268:             Method (POSC, 3, Serialized)
Remark   2146 -                           ^ Method Argument is never used (Arg1)

DSDTMod.dsl   8344:                 Method (_PS0, 0, Serialized)  // _PS0: Power State 0
Warning  3115 -                               ^ Not all control paths return a value (\_SB.PCI0.XHC.RHUB._PS0)

DSDTMod.dsl   8542:             OperationRegion (ICB1, SystemMemory, (Arg0 + 0x84), 0x04)
Remark   2173 -                                    ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPD3)

DSDTMod.dsl   8549:             Local0 = TEMP /* \_SB_.PCI0.LPD3.TEMP */
Warning  3144 -                     ^ Method Local is set but never used (Local0)

DSDTMod.dsl   8554:             OperationRegion (ICB1, SystemMemory, (Arg0 + 0x84), 0x04)
Remark   2173 -                                    ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPD0)

DSDTMod.dsl   8561:             Local0 = TEMP /* \_SB_.PCI0.LPD0.TEMP */
Warning  3144 -                     ^ Method Local is set but never used (Local0)

DSDTMod.dsl   8566:             Name (RBUF, ResourceTemplate ()
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LCRS)

DSDTMod.dsl   8586:             Name (PKG, Package (0x01)
Remark   2173 -                        ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.PKG1)

DSDTMod.dsl   8596:             Name (PKG, Package (0x03)
Remark   2173 -                        ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.PKG3)

DSDTMod.dsl   8881:         Device (SDMA)
Error    6141 -    Missing dependency ^  (Device object requires a _HID or _ADR)

DSDTMod.dsl   8930:         Device (I2C0)
Error    6141 -    Missing dependency ^  (Device object requires a _HID or _ADR)

DSDTMod.dsl   9004:                 Name (DBUF, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C0._CRS)

DSDTMod.dsl   9051:         Device (I2C1)
Error    6141 -    Missing dependency ^  (Device object requires a _HID or _ADR)

DSDTMod.dsl   9122:                 Name (DBUF, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C1._CRS)

DSDTMod.dsl   9169:         Device (SPI0)
Error    6141 -    Missing dependency ^  (Device object requires a _HID or _ADR)

DSDTMod.dsl   9250:         Device (SPI1)
Error    6141 -    Missing dependency ^  (Device object requires a _HID or _ADR)

DSDTMod.dsl   9296:                 Name (DBUF, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.SPI1._CRS)

DSDTMod.dsl   9343:         Device (UA00)
Error    6141 -    Missing dependency ^  (Device object requires a _HID or _ADR)

DSDTMod.dsl   9424:         Device (UA01)
Error    6141 -    Missing dependency ^  (Device object requires a _HID or _ADR)

DSDTMod.dsl   9470:                 Name (DBUF, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.UA01._CRS)

DSDTMod.dsl   9517:         Device (SDHC)
Error    6141 -    Missing dependency ^  (Device object requires a _HID or _ADR)

DSDTMod.dsl   9587:         Device (ACD0)
Warning  3073 -        Multiple types ^  (Device object requires either a _HID or _ADR, but not both)

DSDTMod.dsl   9587:         Device (ACD0)
Warning  3141 -    Missing dependency ^  (Device has a _SRS, missing a _PRS, required)

DSDTMod.dsl   9631:             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
Remark   2120 -                           ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.I2C0.ACD0._CRS)

DSDTMod.dsl   9633:                 Name (RBUF, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C0.ACD0._CRS)

DSDTMod.dsl   9640:                 Name (IRB0, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C0.ACD0._CRS)

DSDTMod.dsl   9647:                 Name (IRB1, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C0.ACD0._CRS)

DSDTMod.dsl   9654:                 Name (IRB2, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C0.ACD0._CRS)

DSDTMod.dsl   9663:                     CreateByteField (IRB0, \_SB.PCI0.I2C0.ACD0._CRS._Y2A._INT, VAL1)  // _INT: Interrupts
Warning  3128 -                                                  ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)

DSDTMod.dsl   9665:                     CreateByteField (IRB1, \_SB.PCI0.I2C0.ACD0._CRS._Y2B._INT, VAL3)  // _INT: Interrupts
Warning  3128 -                                                  ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)

DSDTMod.dsl   9717:         Device (ACD1)
Warning  3073 -        Multiple types ^  (Device object requires either a _HID or _ADR, but not both)

DSDTMod.dsl   9717:         Device (ACD1)
Warning  3141 -    Missing dependency ^  (Device has a _SRS, missing a _PRS, required)

DSDTMod.dsl   9735:             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
Remark   2120 -                           ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.I2C0.ACD1._CRS)

DSDTMod.dsl   9737:                 Name (RBUF, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C0.ACD1._CRS)

DSDTMod.dsl   9756:                     CreateByteField (RBUF, \_SB.PCI0.I2C0.ACD1._CRS._Y2C._INT, VAL1)  // _INT: Interrupts
Warning  3128 -                                                  ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)

DSDTMod.dsl   9793:         Device (ACD2)
Warning  3073 -        Multiple types ^  (Device object requires either a _HID or _ADR, but not both)

DSDTMod.dsl   9793:         Device (ACD2)
Warning  3141 -    Missing dependency ^  (Device has a _SRS, missing a _PRS, required)

DSDTMod.dsl   9829:             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
Remark   2120 -                           ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.I2C0.ACD2._CRS)

DSDTMod.dsl   9831:                 Name (RBUF, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C0.ACD2._CRS)

DSDTMod.dsl   9862:                     CreateByteField (RBUF, \_SB.PCI0.I2C0.ACD2._CRS._Y2D._INT, VAL3)  // _INT: Interrupts
Warning  3128 -                                                  ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)

DSDTMod.dsl   9866:                 Name (RBF4, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C0.ACD2._CRS)

DSDTMod.dsl   9910:         Device (ACD3)
Warning  3073 -        Multiple types ^  (Device object requires either a _HID or _ADR, but not both)

DSDTMod.dsl   9910:         Device (ACD3)
Warning  3141 -    Missing dependency ^  (Device has a _SRS, missing a _PRS, required)

DSDTMod.dsl   9968:         Device (SHUB)
Warning  3073 -        Multiple types ^  (Device object requires either a _HID or _ADR, but not both)

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

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

DSDTMod.dsl  10016:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.I2C0.SHUB._DSM)

DSDTMod.dsl  10016:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3107 -                           ^ Reserved method must return a value (Integer/String/Buffer/Package/Reference required for _DSM)

DSDTMod.dsl  10045:             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
Remark   2120 -                           ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.I2C0.SHUB._CRS)

DSDTMod.dsl  10047:                 Name (SBFI, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C0.SHUB._CRS)

DSDTMod.dsl  10093:         Device (DFUD)
Warning  3073 -        Multiple types ^  (Device object requires either a _HID or _ADR, but not both)

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

DSDTMod.dsl  10127:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.I2C0.DFUD._DSM)

DSDTMod.dsl  10127:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3107 -                           ^ Reserved method must return a value (Integer/String/Buffer/Package/Reference required for _DSM)

DSDTMod.dsl  10156:             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
Remark   2120 -                           ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.I2C0.DFUD._CRS)

DSDTMod.dsl  10158:                 Name (SBFI, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C0.DFUD._CRS)

DSDTMod.dsl  10204:         Device (TPD4)
Warning  3073 -        Multiple types ^  (Device object requires either a _HID or _ADR, but not both)

DSDTMod.dsl  10210:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.I2C0.TPD4._DSM)

DSDTMod.dsl  10210:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3107 -                           ^ Reserved method must return a value (Integer/String/Buffer/Package/Reference required for _DSM)

DSDTMod.dsl  10251:             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
Remark   2120 -                           ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.I2C0.TPD4._CRS)

DSDTMod.dsl  10253:                 Name (SBFI, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C0.TPD4._CRS)

DSDTMod.dsl  10299:         Device (TPD9)
Warning  3073 -        Multiple types ^  (Device object requires either a _HID or _ADR, but not both)

DSDTMod.dsl  10306:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.I2C0.TPD9._DSM)

DSDTMod.dsl  10306:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3107 -                           ^ Reserved method must return a value (Integer/String/Buffer/Package/Reference required for _DSM)

DSDTMod.dsl  10354:             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
Remark   2120 -                           ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.I2C0.TPD9._CRS)

DSDTMod.dsl  10356:                 Name (SBFI, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C0.TPD9._CRS)

DSDTMod.dsl  10374:         Device (TPL0)
Warning  3073 -        Multiple types ^  (Device object requires either a _HID or _ADR, but not both)

DSDTMod.dsl  10381:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.I2C1.TPL0._DSM)

DSDTMod.dsl  10381:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3107 -                           ^ Reserved method must return a value (Integer/String/Buffer/Package/Reference required for _DSM)

DSDTMod.dsl  10429:             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
Remark   2120 -                           ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.I2C1.TPL0._CRS)

DSDTMod.dsl  10431:                 Name (SBFI, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C1.TPL0._CRS)

DSDTMod.dsl  10444:                     CreateByteField (SBFI, \_SB.PCI0.I2C1.TPL0._CRS._Y2E._INT, VAL4)  // _INT: Interrupts
Warning  3128 -                                                  ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)

DSDTMod.dsl  10452:         Device (TPFU)
Warning  3073 -        Multiple types ^  (Device object requires either a _HID or _ADR, but not both)

DSDTMod.dsl  10470:             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
Remark   2120 -                           ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.I2C1.TPFU._CRS)

DSDTMod.dsl  10472:                 Name (SBFI, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C1.TPFU._CRS)

DSDTMod.dsl  10493:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.I2C1.TPL1._DSM)

DSDTMod.dsl  10493:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3107 -                           ^ Reserved method must return a value (Integer/String/Buffer/Package/Reference required for _DSM)

DSDTMod.dsl  10541:             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
Remark   2120 -                           ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.I2C1.TPL1._CRS)

DSDTMod.dsl  10543:                 Name (SBFI, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C1.TPL1._CRS)

DSDTMod.dsl  10554:                 CreateByteField (SBFI, \_SB.PCI0.I2C1.TPL1._CRS._Y2F._INT, VAL4)  // _INT: Interrupts
Warning  3128 -                                              ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)

DSDTMod.dsl  10569:         Device (TPL2)
Warning  3073 -        Multiple types ^  (Device object requires either a _HID or _ADR, but not both)

DSDTMod.dsl  10576:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.I2C1.TPL2._DSM)

DSDTMod.dsl  10576:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3107 -                           ^ Reserved method must return a value (Integer/String/Buffer/Package/Reference required for _DSM)

DSDTMod.dsl  10624:             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
Remark   2120 -                           ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.I2C1.TPL2._CRS)

DSDTMod.dsl  10626:                 Name (SBFI, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C1.TPL2._CRS)

DSDTMod.dsl  10633:                 Name (IRBY, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C1.TPL2._CRS)

DSDTMod.dsl  10640:                 Name (IRBU, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C1.TPL2._CRS)

DSDTMod.dsl  10649:                     CreateByteField (IRBU, \_SB.PCI0.I2C1.TPL2._CRS._Y30._INT, VAL4)  // _INT: Interrupts
Warning  3128 -                                                  ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)

DSDTMod.dsl  10668:         Device (TPL3)
Warning  3073 -        Multiple types ^  (Device object requires either a _HID or _ADR, but not both)

DSDTMod.dsl  10675:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.I2C1.TPL3._DSM)

DSDTMod.dsl  10675:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3107 -                           ^ Reserved method must return a value (Integer/String/Buffer/Package/Reference required for _DSM)

DSDTMod.dsl  10725:                 Name (SBFI, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C1.TPL3._CRS)

DSDTMod.dsl  10736:                 CreateByteField (SBFI, \_SB.PCI0.I2C1.TPL3._CRS._Y32._INT, VAL4)  // _INT: Interrupts
Warning  3128 -                                              ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)

DSDTMod.dsl  10751:         Device (TPD0)
Warning  3073 -        Multiple types ^  (Device object requires either a _HID or _ADR, but not both)

DSDTMod.dsl  10758:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.I2C1.TPD0._DSM)

DSDTMod.dsl  10758:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3107 -                           ^ Reserved method must return a value (Integer/String/Buffer/Package/Reference required for _DSM)

DSDTMod.dsl  10808:                 Name (SBFI, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C1.TPD0._CRS)

DSDTMod.dsl  10821:                     CreateByteField (SBFI, \_SB.PCI0.I2C1.TPD0._CRS._Y33._INT, VAL3)  // _INT: Interrupts
Warning  3128 -                                                  ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)

DSDTMod.dsl  10827:                     CreateByteField (SBFI, \_SB.PCI0.I2C1.TPD0._CRS._Y33._INT, VAL4)  // _INT: Interrupts
Warning  3128 -                                                  ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)

DSDTMod.dsl  10835:         Device (TPD1)
Warning  3073 -        Multiple types ^  (Device object requires either a _HID or _ADR, but not both)

DSDTMod.dsl  10842:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.I2C1.TPD1._DSM)

DSDTMod.dsl  10842:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3107 -                           ^ Reserved method must return a value (Integer/String/Buffer/Package/Reference required for _DSM)

DSDTMod.dsl  10892:                 Name (SBFI, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C1.TPD1._CRS)

DSDTMod.dsl  10905:                     CreateByteField (SBFI, \_SB.PCI0.I2C1.TPD1._CRS._Y34._INT, VAL3)  // _INT: Interrupts
Warning  3128 -                                                  ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)

DSDTMod.dsl  10911:                     CreateByteField (SBFI, \_SB.PCI0.I2C1.TPD1._CRS._Y34._INT, VAL4)  // _INT: Interrupts
Warning  3128 -                                                  ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)

DSDTMod.dsl  10919:         Device (TPD2)
Warning  3073 -        Multiple types ^  (Device object requires either a _HID or _ADR, but not both)

DSDTMod.dsl  10926:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.I2C1.TPD2._DSM)

DSDTMod.dsl  10926:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3107 -                           ^ Reserved method must return a value (Integer/String/Buffer/Package/Reference required for _DSM)

DSDTMod.dsl  10976:                 Name (SBFI, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C1.TPD2._CRS)

DSDTMod.dsl  10989:                     CreateByteField (SBFI, \_SB.PCI0.I2C1.TPD2._CRS._Y35._INT, VAL3)  // _INT: Interrupts
Warning  3128 -                                                  ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)

DSDTMod.dsl  10995:                     CreateByteField (SBFI, \_SB.PCI0.I2C1.TPD2._CRS._Y35._INT, VAL4)  // _INT: Interrupts
Warning  3128 -                                                  ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)

DSDTMod.dsl  11003:         Device (TPD3)
Warning  3073 -        Multiple types ^  (Device object requires either a _HID or _ADR, but not both)

DSDTMod.dsl  11010:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.I2C1.TPD3._DSM)

DSDTMod.dsl  11010:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3107 -                           ^ Reserved method must return a value (Integer/String/Buffer/Package/Reference required for _DSM)

DSDTMod.dsl  11060:                 Name (SBFI, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C1.TPD3._CRS)

DSDTMod.dsl  11073:                     CreateByteField (SBFI, \_SB.PCI0.I2C1.TPD3._CRS._Y36._INT, VAL3)  // _INT: Interrupts
Warning  3128 -                                                  ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)

DSDTMod.dsl  11079:                     CreateByteField (SBFI, \_SB.PCI0.I2C1.TPD3._CRS._Y36._INT, VAL4)  // _INT: Interrupts
Warning  3128 -                                                  ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)

DSDTMod.dsl  11087:         Device (TPD7)
Warning  3073 -        Multiple types ^  (Device object requires either a _HID or _ADR, but not both)

DSDTMod.dsl  11106:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.I2C1.TPD7._DSM)

DSDTMod.dsl  11106:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3107 -                           ^ Reserved method must return a value (Integer/String/Buffer/Package/Reference required for _DSM)

DSDTMod.dsl  11156:                 Name (SBFI, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C1.TPD7._CRS)

DSDTMod.dsl  11169:                     CreateByteField (SBFI, \_SB.PCI0.I2C1.TPD7._CRS._Y37._INT, VAL3)  // _INT: Interrupts
Warning  3128 -                                                  ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)

DSDTMod.dsl  11180:                     CreateByteField (SBFI, \_SB.PCI0.I2C1.TPD7._CRS._Y37._INT, VAL7)  // _INT: Interrupts
Warning  3128 -                                                  ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)

DSDTMod.dsl  11231:         Device (TPD8)
Warning  3073 -        Multiple types ^  (Device object requires either a _HID or _ADR, but not both)

DSDTMod.dsl  11250:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.I2C1.TPD8._DSM)

DSDTMod.dsl  11250:             Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
Warning  3107 -                           ^ Reserved method must return a value (Integer/String/Buffer/Package/Reference required for _DSM)

DSDTMod.dsl  11300:                 Name (SBFI, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.I2C1.TPD8._CRS)

DSDTMod.dsl  11313:                     CreateByteField (SBFI, \_SB.PCI0.I2C1.TPD8._CRS._Y38._INT, VAL3)  // _INT: Interrupts
Warning  3128 -                                                  ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)

DSDTMod.dsl  11324:                     CreateByteField (SBFI, \_SB.PCI0.I2C1.TPD8._CRS._Y38._INT, VAL7)  // _INT: Interrupts
Warning  3128 -                                                  ResourceTag larger than Field ^  (Size mismatch, Tag: 32 bits, Field: 8 bits)

DSDTMod.dsl  11381:             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
Remark   2120 -                           ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.UA00.BTH0._CRS)

DSDTMod.dsl  11383:                 Name (UBUF, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.UA00.BTH0._CRS)

DSDTMod.dsl  11419:                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
Remark   2120 -                               ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.UA00.BTH2._CRS)

DSDTMod.dsl  11421:                     Name (UBUF, ResourceTemplate ()
Remark   2173 -                                 ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.UA00.BTH2._CRS)

DSDTMod.dsl  11464:             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
Remark   2120 -                           ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.UA01.BTH1._CRS)

DSDTMod.dsl  11466:                 Name (UBUF, ResourceTemplate ()
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.UA01.BTH1._CRS)

DSDTMod.dsl  11518:             Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
Remark   2120 -                           ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.UA01.BTH2._CRS)

DSDTMod.dsl  11522:                     Name (UBUF, ResourceTemplate ()
Remark   2173 -                                 ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.UA01.BTH2._CRS)

DSDTMod.dsl  11550:                     Name (PBUF, ResourceTemplate ()
Remark   2173 -                                 ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.UA01.BTH2._CRS)

DSDTMod.dsl  11578:                     Name (OBUF, ResourceTemplate ()
Remark   2173 -                                 ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.UA01.BTH2._CRS)

DSDTMod.dsl  11630:                 Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
Remark   2120 -                               ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.UA01.GPS2._CRS)

DSDTMod.dsl  11632:                     Name (UBUF, ResourceTemplate ()
Remark   2173 -                                 ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.UA01.GPS2._CRS)

DSDTMod.dsl  11755:             Method (GPEH, 0, NotSerialized)
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.HDEF.GPEH)

DSDTMod.dsl  11775:         Device (ADSP)
Warning  3141 -    Missing dependency ^  (Device has a _SRS, missing a _PRS, required)

DSDTMod.dsl  11980:             Method (RDCA, 5, Serialized)
Remark   2146 -                           ^ Method Argument is never used (Arg0)

DSDTMod.dsl  11980:             Method (RDCA, 5, Serialized)
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.SAT0.RDCA)

DSDTMod.dsl  11982:                 OperationRegion (RPAC, SystemMemory, (GPCB () + (0x000FA100 + Arg1)), 0x04)
Remark   2173 -                                        ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.SAT0.RDCA)

DSDTMod.dsl  11988:                 OperationRegion (EPAC, SystemMemory, (GPCB () + 0x000FA308), 0x08)
Remark   2173 -                                        ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.SAT0.RDCA)

DSDTMod.dsl  12043:             Method (CNRS, 0, Serialized)
Warning  3115 -                           ^ Not all control paths return a value (\_SB.PCI0.SAT0.CNRS)

DSDTMod.dsl  12082:                 While (((RDCA (Zero, 0x52, Zero, Zero, Zero) & 0x2000) == Zero))
Warning  3122 -                     Called method may not always return a value ^  (\_SB.PCI0.SAT0.RDCA)

DSDTMod.dsl  12093:                 Method (_PS3, 0, Serialized)  // _PS3: Power State 3
Warning  3115 -                               ^ Not all control paths return a value (\_SB.PCI0.SAT0.NVM0._PS3)

DSDTMod.dsl  12100:                     PCMD = RDCA (Zero, 0x04, Zero, Zero, 0x02)
Warning  3122 -                           ^ Called method may not always return a value (\_SB.PCI0.SAT0.RDCA)

DSDTMod.dsl  12104:                         PRBD = RDCA (Zero, 0x24, Zero, Zero, 0x02)
Warning  3122 -                               ^ Called method may not always return a value (\_SB.PCI0.SAT0.RDCA)

DSDTMod.dsl  12109:                         PRBD = RDCA (Zero, 0x10, Zero, Zero, 0x02)
Warning  3122 -                               ^ Called method may not always return a value (\_SB.PCI0.SAT0.RDCA)

DSDTMod.dsl  12116:                 Method (_PS0, 0, Serialized)  // _PS0: Power State 0
Warning  3115 -                               ^ Not all control paths return a value (\_SB.PCI0.SAT0.NVM0._PS0)

DSDTMod.dsl  12125:                     Local0 = RDCA (Zero, (PMCP + 0x04), Zero, Zero, 0x02)
Warning  3122 -                             ^ Called method may not always return a value (\_SB.PCI0.SAT0.RDCA)

DSDTMod.dsl  12349:                 Name (TBUF, Buffer (0x0100){})
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.SBUS.SBLR)

DSDTMod.dsl  12501:         Method (SPTS, 1, NotSerialized)
Remark   2146 -                       ^ Method Argument is never used (Arg0)

DSDTMod.dsl  12515:         Method (SWAK, 1, NotSerialized)
Remark   2146 -                       ^ Method Argument is never used (Arg0)

DSDTMod.dsl  12751:     Method (RRIO, 4, Serialized)
Remark   2146 -                   ^ Method Argument is never used (Arg3)

DSDTMod.dsl  12960:     Method (RDMA, 3, NotSerialized)
Remark   2146 -                   ^ Method Argument is never used (Arg0)

DSDTMod.dsl  12960:     Method (RDMA, 3, NotSerialized)
Remark   2146 -                   ^ Method Argument is never used (Arg1)

DSDTMod.dsl  12960:     Method (RDMA, 3, NotSerialized)
Remark   2146 -                   ^ Method Argument is never used (Arg2)

DSDTMod.dsl  12979:         Method (NPTS, 1, NotSerialized)
Remark   2146 -                       ^ Method Argument is never used (Arg0)

DSDTMod.dsl  12996:         Method (NWAK, 1, NotSerialized)
Remark   2146 -                       ^ Method Argument is never used (Arg0)

DSDTMod.dsl  13016:         Processor (CPU0, 0x01, 0x00001810, 0x06){}
Warning  3168 -                          ^ Legacy Processor() keyword detected. Use Device() keyword instead.

DSDTMod.dsl  13017:         Processor (CPU1, 0x02, 0x00001810, 0x06){}
Warning  3168 -                          ^ Legacy Processor() keyword detected. Use Device() keyword instead.

DSDTMod.dsl  13018:         Processor (CPU2, 0x03, 0x00001810, 0x06){}
Warning  3168 -                          ^ Legacy Processor() keyword detected. Use Device() keyword instead.

DSDTMod.dsl  13019:         Processor (CPU3, 0x04, 0x00001810, 0x06){}
Warning  3168 -                          ^ Legacy Processor() keyword detected. Use Device() keyword instead.

DSDTMod.dsl  13020:         Processor (CPU4, 0x05, 0x00001810, 0x06){}
Warning  3168 -                          ^ Legacy Processor() keyword detected. Use Device() keyword instead.

DSDTMod.dsl  13021:         Processor (CPU5, 0x06, 0x00001810, 0x06){}
Warning  3168 -                          ^ Legacy Processor() keyword detected. Use Device() keyword instead.

DSDTMod.dsl  13022:         Processor (CPU6, 0x07, 0x00001810, 0x06){}
Warning  3168 -                          ^ Legacy Processor() keyword detected. Use Device() keyword instead.

DSDTMod.dsl  13023:         Processor (CPU7, 0x08, 0x00001810, 0x06){}
Warning  3168 -                          ^ Legacy Processor() keyword detected. Use Device() keyword instead.

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

DSDTMod.dsl  13129:                 If ((Arg0 == ToUUID ("5630831c-06c9-4856-b327-f5d32586e060") /* Unknown UUID */))
Remark   2184 -                                                          Unknown UUID string ^

DSDTMod.dsl  13259:     Method (ADBG, 1, Serialized)
Remark   2146 -                   ^ Method Argument is never used (Arg0)

DSDTMod.dsl  13694:     Method (SPL1, 0, Serialized)
Warning  3115 -                   ^ Not all control paths return a value (\SPL1)

DSDTMod.dsl  13696:         Name (PPUU, Zero)
Remark   2173 -                     ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\SPL1)

DSDTMod.dsl  13849:             If (CondRefOf (\_OSI, Local0))
Warning  3144 -        Method Local is set but never used ^  (Local0)

DSDTMod.dsl  14462:             If ((Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37") /* Unknown UUID */))
Remark   2184 -                                                      Unknown UUID string ^

DSDTMod.dsl  14484:                     Switch (DerefOf (Arg3 [Zero]))
Warning  3124 -                                            ^ Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer

DSDTMod.dsl  14508:             ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107") /* Unknown UUID */))
Remark   2184 -                                                          Unknown UUID string ^

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

DSDTMod.dsl  14556:             If ((Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37") /* Unknown UUID */))
Remark   2184 -                                                      Unknown UUID string ^

DSDTMod.dsl  14578:                     Switch (DerefOf (Arg3 [Zero]))
Warning  3124 -                                            ^ Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer

DSDTMod.dsl  14602:             ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107") /* Unknown UUID */))
Remark   2184 -                                                          Unknown UUID string ^

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

DSDTMod.dsl  14650:             If ((Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37") /* Unknown UUID */))
Remark   2184 -                                                      Unknown UUID string ^

DSDTMod.dsl  14672:                     Switch (DerefOf (Arg3 [Zero]))
Warning  3124 -                                            ^ Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer

DSDTMod.dsl  14696:             ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107") /* Unknown UUID */))
Remark   2184 -                                                          Unknown UUID string ^

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

DSDTMod.dsl  14744:             If ((Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37") /* Unknown UUID */))
Remark   2184 -                                                      Unknown UUID string ^

DSDTMod.dsl  14766:                     Switch (DerefOf (Arg3 [Zero]))
Warning  3124 -                                            ^ Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer

DSDTMod.dsl  14790:             ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107") /* Unknown UUID */))
Remark   2184 -                                                          Unknown UUID string ^

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

DSDTMod.dsl  14838:             If ((Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37") /* Unknown UUID */))
Remark   2184 -                                                      Unknown UUID string ^

DSDTMod.dsl  14860:                     Switch (DerefOf (Arg3 [Zero]))
Warning  3124 -                                            ^ Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer

DSDTMod.dsl  14884:             ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107") /* Unknown UUID */))
Remark   2184 -                                                          Unknown UUID string ^

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

DSDTMod.dsl  14932:             If ((Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37") /* Unknown UUID */))
Remark   2184 -                                                      Unknown UUID string ^

DSDTMod.dsl  14954:                     Switch (DerefOf (Arg3 [Zero]))
Warning  3124 -                                            ^ Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer

DSDTMod.dsl  14978:             ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107") /* Unknown UUID */))
Remark   2184 -                                                          Unknown UUID string ^

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

DSDTMod.dsl  15026:             If ((Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37") /* Unknown UUID */))
Remark   2184 -                                                      Unknown UUID string ^

DSDTMod.dsl  15048:                     Switch (DerefOf (Arg3 [Zero]))
Warning  3124 -                                            ^ Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer

DSDTMod.dsl  15072:             ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107") /* Unknown UUID */))
Remark   2184 -                                                          Unknown UUID string ^

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

DSDTMod.dsl  15120:             If ((Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37") /* Unknown UUID */))
Remark   2184 -                                                      Unknown UUID string ^

DSDTMod.dsl  15142:                     Switch (DerefOf (Arg3 [Zero]))
Warning  3124 -                                            ^ Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer

DSDTMod.dsl  15166:             ElseIf ((Arg0 == ToUUID ("7574eb17-d1a2-4cc2-9929-4a08fcc29107") /* Unknown UUID */))
Remark   2184 -                                                          Unknown UUID string ^

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

DSDTMod.dsl  15317:             If ((Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37") /* Unknown UUID */))
Remark   2184 -                                                      Unknown UUID string ^

DSDTMod.dsl  15336:                     Switch (DerefOf (Arg3 [Zero]))
Warning  3124 -                                            ^ Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer

DSDTMod.dsl  15393:                 Name (PIB1, Buffer (0x07)
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.SAT0.PRT0._GTF)

DSDTMod.dsl  15400:             Name (PIB2, Buffer (0x07)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.SAT0.PRT0._GTF)

DSDTMod.dsl  15446:                 Name (PIB1, Buffer (0x07)
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.SAT0.PRT1._GTF)

DSDTMod.dsl  15453:             Name (PIB2, Buffer (0x07)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.SAT0.PRT1._GTF)

DSDTMod.dsl  15499:                 Name (PIB1, Buffer (0x07)
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.SAT0.PRT2._GTF)

DSDTMod.dsl  15506:             Name (PIB2, Buffer (0x07)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.SAT0.PRT2._GTF)

DSDTMod.dsl  15531:                 Name (PIB1, Buffer (0x07)
Remark   2173 -                             ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.SAT0.PRT3._GTF)

DSDTMod.dsl  15538:             Name (PIB2, Buffer (0x07)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.SAT0.PRT3._GTF)

DSDTMod.dsl  15553:                 If ((Arg0 == ToUUID ("1730e71d-e5dd-4a34-be57-4d76b6a2fe37") /* Unknown UUID */))
Remark   2184 -                                                          Unknown UUID string ^

DSDTMod.dsl  15572:                         Switch (DerefOf (Arg3 [Zero]))
Warning  3124 -                                                ^ Switch expression is not a static Integer/Buffer/String data type, defaulting to Integer

DSDTMod.dsl  16295:             Name (UPCP, Package (0x04)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC1.HUBN.PR01.PR11._UPC)

DSDTMod.dsl  16307:             Name (PLDP, Package (0x01)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC1.HUBN.PR01.PR11._PLD)

DSDTMod.dsl  16323:             Name (UPCP, Package (0x04)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC1.HUBN.PR01.PR12._UPC)

DSDTMod.dsl  16335:             Name (PLDP, Package (0x01)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC1.HUBN.PR01.PR12._PLD)

DSDTMod.dsl  16351:             Name (UPCP, Package (0x04)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC1.HUBN.PR01.PR13._UPC)

DSDTMod.dsl  16363:             Name (PLDP, Package (0x01)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC1.HUBN.PR01.PR13._PLD)

DSDTMod.dsl  16385:             Name (UPCP, Package (0x04)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC1.HUBN.PR01.PR14._UPC)

DSDTMod.dsl  16397:             Name (PLDP, Package (0x01)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC1.HUBN.PR01.PR14._PLD)

DSDTMod.dsl  16413:             Name (UPCP, Package (0x04)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC1.HUBN.PR01.PR15._UPC)

DSDTMod.dsl  16425:             Name (PLDP, Package (0x01)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC1.HUBN.PR01.PR15._PLD)

DSDTMod.dsl  16441:             Name (UPCP, Package (0x04)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC1.HUBN.PR01.PR16._UPC)

DSDTMod.dsl  16453:             Name (PLDP, Package (0x01)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC1.HUBN.PR01.PR16._PLD)

DSDTMod.dsl  16469:             Name (UPCP, Package (0x04)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC1.HUBN.PR01.PR17._UPC)

DSDTMod.dsl  16481:             Name (PLDP, Package (0x01)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC1.HUBN.PR01.PR17._PLD)

DSDTMod.dsl  16497:             Name (UPCP, Package (0x04)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC1.HUBN.PR01.PR18._UPC)

DSDTMod.dsl  16509:             Name (PLDP, Package (0x01)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC1.HUBN.PR01.PR18._PLD)

DSDTMod.dsl  16525:             Name (UPCP, Package (0x04)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC2.HUBN.PR01.PR11._UPC)

DSDTMod.dsl  16537:             Name (PLDP, Package (0x01)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC2.HUBN.PR01.PR11._PLD)

DSDTMod.dsl  16553:             Name (UPCP, Package (0x04)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC2.HUBN.PR01.PR12._UPC)

DSDTMod.dsl  16565:             Name (PLDP, Package (0x01)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC2.HUBN.PR01.PR12._PLD)

DSDTMod.dsl  16581:             Name (UPCP, Package (0x04)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC2.HUBN.PR01.PR13._UPC)

DSDTMod.dsl  16593:             Name (PLDP, Package (0x01)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC2.HUBN.PR01.PR13._PLD)

DSDTMod.dsl  16609:             Name (UPCP, Package (0x04)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC2.HUBN.PR01.PR14._UPC)

DSDTMod.dsl  16621:             Name (PLDP, Package (0x01)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC2.HUBN.PR01.PR14._PLD)

DSDTMod.dsl  16637:             Name (UPCP, Package (0x04)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC2.HUBN.PR01.PR15._UPC)

DSDTMod.dsl  16649:             Name (PLDP, Package (0x01)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC2.HUBN.PR01.PR15._PLD)

DSDTMod.dsl  16665:             Name (UPCP, Package (0x04)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC2.HUBN.PR01.PR16._UPC)

DSDTMod.dsl  16677:             Name (PLDP, Package (0x01)
Remark   2173 -                         ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.EHC2.HUBN.PR01.PR16._PLD)

DSDTMod.dsl  16939:         Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
Warning  3115 -                       ^ Not all control paths return a value (\_SB.PCI0.LPCB.TPM._HID)

DSDTMod.dsl  16939:         Method (_HID, 0, NotSerialized)  // _HID: Hardware ID
Warning  3107 -                       ^ Reserved method must return a value (Integer/String required for _HID)

DSDTMod.dsl  17038:                         Name (PPI1, Package (0x02)
Remark   2173 -                                     ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPCB.TPM._DSM)

DSDTMod.dsl  17059:                         Name (PPI2, Package (0x03)
Remark   2173 -                                     ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPCB.TPM._DSM)

DSDTMod.dsl  17152:             ElseIf ((Arg0 == ToUUID ("376054ed-cc13-4675-901c-4756d7f2d45d") /* Unknown UUID */))
Remark   2184 -                                                          Unknown UUID string ^

DSDTMod.dsl  17493:     Method (OSCM, 4, NotSerialized)
Remark   2146 -                   ^ Method Argument is never used (Arg0)

DSDTMod.dsl  17493:     Method (OSCM, 4, NotSerialized)
Remark   2146 -                   ^ Method Argument is never used (Arg1)

DSDTMod.dsl  17493:     Method (OSCM, 4, NotSerialized)
Remark   2146 -                   ^ Method Argument is never used (Arg2)

DSDTMod.dsl  17493:     Method (OSCM, 4, NotSerialized)
Remark   2146 -                   ^ Method Argument is never used (Arg3)

ASL Input:     DSDTMod.dsl -  565610 bytes   7377 keywords      0 source lines

Compilation failed. 9 Errors, 134 Warnings, 161 Remarks
No AML files were generated due to compiler error(s)

@crashr
Copy link

crashr commented Mar 20, 2024

Just a guess but do you have any idea after which ACPI spec version you did the decomiling? Maybe it doesn't match with the one used to compile.

@iG8R
Copy link
Author

iG8R commented Mar 20, 2024

Sorry, what version of ACPI are you referring to?

All my steps are described in the first post.
I even tried to compile a version without any mods

  • used iasl DSDT.aml to decompile the DSDT.aml to DSDT.dsl
  • renamed DSDT.dsl to DSDTMod.dsl
  • did NOT add any new QWordMemory and M1LN sections
  • tried to compile the modified DSDT by running iasl DSDTMod.dsl

Still with the same errors

@crashr
Copy link

crashr commented Mar 20, 2024

I just read somewhere that this might be an issue. Also

$ iasl -h | head

Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20200925
Copyright (c) 2000 - 2020 Intel Corporation

Supports ACPI Specification Revision 6.3

Usage: iasl [Options] [Files]
Options:

I can not understand in detail what exactly you have done since I don't have Windows. Also I am not an expert. Hopefully someone else knows better.

@iG8R
Copy link
Author

iG8R commented Mar 20, 2024

Oh, pardon me.

f:\_Downloads\AmiBoardInfoTool (UEFI)>iasl -h

Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20230628
Copyright (c) 2000 - 2023 Intel Corporation

Supports ACPI Specification Revision 6.3

Usage: iasl [Options] [Files]

@iG8R
Copy link
Author

iG8R commented Mar 20, 2024

Could you please try to decompile DSDT.aml.zip and then compile DSDTmod.dsl.zip, that mentioned below, on your system?
Maybe, something wrong with my iasl.exe version or PC...

DSDT.aml.zip

  • use iasl DSDT.aml to decompile the DSDT.aml to DSDT.dsl
  • rename DSDT.dsl to DSDTMod.dsl
  • add new QWordMemory and M1LN sections
    resulted file - DSDTmod.dsl.zip
  • try to compile the modified DSDT by running iasl DSDTMod.dsl

@crashr
Copy link

crashr commented Mar 21, 2024

I can take a look over the weekend but as I said I am not an expert. In the meanwhile have you read this?
https://github.com/xCuri0/ReBarUEFI/wiki/DSDT-Patching#common-dsdt-errors-and-fixes

@iG8R
Copy link
Author

iG8R commented Mar 21, 2024

Thank you very much for your concern and participation. I really appreciate it.
Yeah, I tried, but I got stuck at some point.
After removing Agr0

 13261:	        If (CondRefOf (MDBG))
 13262:	        {
 13263:	            Return (MDBG) /* External reference */
-13264:	            Arg0
 13265:	        }
 13266:	        Return (Zero)

First, I solved

DSDTMod.dsl   3061:                         IO (Decode16,
Error    6090 -                                       ^ Min/Max/Length/Gran are all zero, but no resource tag

by removing the IO (Decode16 variable here

3055:	                        IO (Decode16,
3056:	                            0x0000,             // Range Minimum
3057:	                            0x0000,             // Range Maximum
3058:	                            0x00,               // Alignment
3059:	                            0x00,               // Length
3060:	                            _Y11)
-3061:	                        IO (Decode16,
-3062:	                            0x0000,             // Range Minimum
-3063:	                            0x0000,             // Range Maximum
-3064:	                            0x00,               // Alignment
-3065:	                            0x00,               // Length
-3066:	                            )
3067:	                    })
3068:	                    Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings

After that I proceeded to the following error

DSDTMod.dsl   8875:         Device (SDMA)
Error    6141 -    Missing dependency ^  (Device object requires a _HID or _ADR)

Where is the following code present, which I tried to delete

-8873:	    Scope (_SB.PCI0)
-8874:	    {
-8875:	        Device (SDMA)
-8876:	        {
-8877:	        }
-8878:	    }
-8879:	
8880:	    If ((SMD0 != 0x02))
8881:	    {
8882:	        Scope (_SB.PCI0.SDMA)
8883:	        {
8884:	            Name (_HID, "INTL9C60" /* Intel Baytrail SOC DMA Controller */)  // _HID: Hardware ID
8885:	            Name (_UID, One)  // _UID: Unique ID
8886:	            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
8887:	            {
8888:	                Return (LCRS (SB00, SIR0))

But I received a new error, which was not there before, and what to do with it I do not know

DSDTMod.dsl   8875:         Scope (_SB.PCI0.SDMA)
Error    6161 -                               ^ One or more objects within the Pathname do not exist (_SB.PCI0.SDMA)

as I understand, Device (SDMA) requires a _HID or _ADR, but where can I get them?
That is where I got stuck...

@iG8R
Copy link
Author

iG8R commented Mar 21, 2024

Following the general programming logic, I fixed the errors, but the question remains - did I understand this logic correctly and, accordingly, are the changes I made correct.

I corrected all errors according to the following template:

Original code that caused the error

    Scope (_SB.PCI0)
    {
        Device (SDMA)
        {
        }
    }

    If ((SMD0 != 0x02))
    {
        Scope (_SB.PCI0.SDMA)
        {
            Name (_HID, "INTL9C60" /* Intel Baytrail SOC DMA Controller */)  // _HID: Hardware ID
            Name (_UID, One)  // _UID: Unique ID
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Return (LCRS (SB00, SIR0))
            }

            Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
            {
                Return (^^LPCB.CRID) /* \_SB_.PCI0.LPCB.CRID */
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((SMD0 == Zero))
                {
                    Return (Zero)
                }

                If ((OSYS < 0x07DD))
                {
                    LPD3 (SB10)
                    Return (Zero)
                }

                Return (0x0F)
            }
        }
    }

    If ((SMD0 == 0x02))
    {
        Scope (_SB.PCI0.SDMA)
        {
            Name (_ADR, 0x00150000)  // _ADR: Address
        }
    }

Corrected code that compiles fine

    Scope (_SB.PCI0)
    {
        Device (SDMA)
        {
            If ((SMD0 != 0x02))
            {
                Name (_HID, "INTL9C60" /* Intel Baytrail SOC DMA Controller */)  // _HID: Hardware ID
                Name (_UID, One)  // _UID: Unique ID
                Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
                {
                    Return (LCRS (SB00, SIR0))
                }
    
                Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
                {
                    Return (^^LPCB.CRID) /* \_SB_.PCI0.LPCB.CRID */
                }
    
                Method (_STA, 0, NotSerialized)  // _STA: Status
                {
                    If ((SMD0 == Zero))
                    {
                        Return (Zero)
                    }
    
                    If ((OSYS < 0x07DD))
                    {
                        LPD3 (SB10)
                        Return (Zero)
                    }
    
                    Return (0x0F)
                }
            }
        
            If ((SMD0 == 0x02))
            {
                Name (_ADR, 0x00150000)  // _ADR: Address
            }
        }
    }

DSDTmod.dsl.fixed.zip
DSDTmod.dsl.zip
DSDTorig.dsl.zip

@xCuri0
Hello.
Could you please spare your time and confirm if my logic is correct or not?

@xCuri0
Copy link
Owner

xCuri0 commented Mar 21, 2024

just flash the modified bios

Worst thing that can happen from a bad DSDT is BSOD ACPI error you will still be able to go to setup menu and flash a working one

Repository owner locked and limited conversation to collaborators Mar 28, 2024
@xCuri0 xCuri0 converted this issue into discussion #198 Mar 28, 2024

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants