The only OS besides Windows that is able to boot with ACPI enable on my laptop(Itronix GoBook-VR2) is FreeBSD. Sometimes it takes a reboot to make it work as it seems there is a problem on the ACPI tables for my current BIOS version, sadly is the latest one produced by the manufacturer (Ver 124). So I decided to try to fix this issue so booting this laptop, first we need to dump the asl code
acpidump -t -d > gendyn.asl
Then try to compile it to check what are the current issues
iasl gendyn.asl
The result is :
gendyn.asl 672: Processor (CPU0, 0x01, 0x00000410, 0x06){}
Warning 3168 - ^ Legacy Processor() keyword detected. Use Device() keyword instead.
gendyn.asl 673: Processor (CPU1, 0x02, 0x00000410, 0x06){}
Warning 3168 - ^ Legacy Processor() keyword detected. Use Device() keyword instead.
gendyn.asl 704: Method (_WAK, 1, NotSerialized) // _WAK: Wake
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_WAK)
gendyn.asl 711: OperationRegion (TPMR, SystemMemory, 0xFED40000, 0x5000)
Warning 3175 - ^ Static OperationRegion should be declared outside control method
gendyn.asl 711: OperationRegion (TPMR, SystemMemory, 0xFED40000, 0x5000)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_WAK)
gendyn.asl 712: Field (TPMR, AnyAcc, NoLock, Preserve)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_WAK)
gendyn.asl 1318: Method (SCMP, 2, NotSerialized)
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\SCMP)
gendyn.asl 1389: Name (TMPF, Zero)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\GETF)
gendyn.asl 1551: Method (WQAB, 1, NotSerialized)
Remark 2146 - ^ Method Argument is never used (Arg0)
gendyn.asl 1557: Method (WMBA, 3, NotSerialized)
Remark 2146 - ^ Method Argument is never used (Arg0)
gendyn.asl 1557: Method (WMBA, 3, NotSerialized)
Warning 3115 - ^ Not all control paths return a value (\_SB.AMW0.WMBA)
gendyn.asl 1572: Method (WMBC, 3, NotSerialized)
Warning 3115 - ^ Not all control paths return a value (\_SB.AMW0.WMBC)
gendyn.asl 2465: Method (_WED, 1, NotSerialized) // _Wxx: Wake Event, xx=0x00-0xFF
Warning 3115 - ^ Not all control paths return a value (\_SB.AMW0._WED)
gendyn.asl 2465: Method (_WED, 1, NotSerialized) // _Wxx: Wake Event, xx=0x00-0xFF
Warning 3107 - ^ Reserved method must return a value (Integer/String/Buffer required for _WED)
gendyn.asl 2475: Method (WQCA, 1, NotSerialized)
Remark 2146 - ^ Method Argument is never used (Arg0)
gendyn.asl 2480: Method (WSCA, 2, NotSerialized)
Remark 2146 - ^ Method Argument is never used (Arg0)
gendyn.asl 2486: Method (WMCB, 3, NotSerialized)
Remark 2146 - ^ Method Argument is never used (Arg0)
gendyn.asl 2486: Method (WMCB, 3, NotSerialized)
Remark 2146 - ^ Method Argument is never used (Arg1)
gendyn.asl 2493: CreateDWordField (B2ED, 0x04, OEBX)
Remark 2089 - Object is not referenced ^ (Name [OEBX] is within a method [WMCB])
gendyn.asl 2864: Sleep (0x07D0)
Remark 2159 - Very long Sleep, greater than 1 second ^
gendyn.asl 2877: Sleep (0x07D0)
Remark 2159 - ^ Very long Sleep, greater than 1 second
gendyn.asl 2998: Method (DPTS, 1, NotSerialized)
Remark 2146 - ^ Method Argument is never used (Arg0)
gendyn.asl 3019: Device (PCI0)
Warning 3073 - Multiple types ^ (Device object requires either a _HID or _ADR, but not both)
gendyn.asl 3031: If (CondRefOf (_OSI, Local0))
Warning 3144 - Method Local is set but never used ^ (Local0)
gendyn.asl 3054: Method (_OSC, 5, NotSerialized) // _OSC: Operating System Capabilities
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0._OSC)
gendyn.asl 3054: Method (_OSC, 5, NotSerialized) // _OSC: Operating System Capabilities
Warning 3101 - ^ Reserved method has too many arguments (_OSC requires 4)
gendyn.asl 3058: Name (BUF1, Buffer (Local1){})
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0._OSC)
gendyn.asl 3070: (CAPB & 0xFFFFFFFC)
Error 6114 - ^ Result is not used, operator has no effect
gendyn.asl 3257: 0x00000000, // Length
Error 6043 - ^ Invalid combination of Length and Min/Max fixed flags
gendyn.asl 3829: 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.LPC.LNKA._CRS)
gendyn.asl 3831: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.LNKA._CRS)
gendyn.asl 3894: 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.LPC.LNKB._CRS)
gendyn.asl 3896: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.LNKB._CRS)
gendyn.asl 3959: 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.LPC.LNKC._CRS)
gendyn.asl 3961: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.LNKC._CRS)
gendyn.asl 4024: 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.LPC.LNKD._CRS)
gendyn.asl 4026: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.LNKD._CRS)
gendyn.asl 4089: 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.LPC.LNKE._CRS)
gendyn.asl 4091: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.LNKE._CRS)
gendyn.asl 4154: 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.LPC.LNKF._CRS)
gendyn.asl 4156: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.LNKF._CRS)
gendyn.asl 4219: 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.LPC.LNKG._CRS)
gendyn.asl 4221: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.LNKG._CRS)
gendyn.asl 4284: 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.LPC.LNKH._CRS)
gendyn.asl 4286: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.LNKH._CRS)
gendyn.asl 4991: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.SIO.UAR1._CRS)
gendyn.asl 5004: CreateByteField (BUF0, \_SB.PCI0.LPC.SIO.UAR1._CRS._Y0F._MIN, IOL0) // _MIN: Minimum Base Address
Warning 3128 - ResourceTag larger than Field ^ (Size mismatch, Tag: 16 bits, Field: 8 bits)
gendyn.asl 5006: CreateByteField (BUF0, \_SB.PCI0.LPC.SIO.UAR1._CRS._Y0F._MAX, IOL1) // _MAX: Maximum Base Address
Warning 3128 - ResourceTag larger than Field ^ (Size mismatch, Tag: 16 bits, Field: 8 bits)
gendyn.asl 5074: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.SIO.UAR1._PRS)
gendyn.asl 5364: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.SIO.UAR2._CRS)
gendyn.asl 5376: CreateByteField (BUF0, \_SB.PCI0.LPC.SIO.UAR2._CRS._Y11._MIN, IOL0) // _MIN: Minimum Base Address
Warning 3128 - ResourceTag larger than Field ^ (Size mismatch, Tag: 16 bits, Field: 8 bits)
gendyn.asl 5378: CreateByteField (BUF0, \_SB.PCI0.LPC.SIO.UAR2._CRS._Y11._MAX, IOL1) // _MAX: Maximum Base Address
Warning 3128 - ResourceTag larger than Field ^ (Size mismatch, Tag: 16 bits, Field: 8 bits)
gendyn.asl 5402: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.SIO.UAR2._PRS)
gendyn.asl 5497: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.SIO.UAR3._CRS)
gendyn.asl 5509: CreateByteField (BUF0, \_SB.PCI0.LPC.SIO.UAR3._CRS._Y13._MIN, IOL0) // _MIN: Minimum Base Address
Warning 3128 - ResourceTag larger than Field ^ (Size mismatch, Tag: 16 bits, Field: 8 bits)
gendyn.asl 5511: CreateByteField (BUF0, \_SB.PCI0.LPC.SIO.UAR3._CRS._Y13._MAX, IOL1) // _MAX: Maximum Base Address
Warning 3128 - ResourceTag larger than Field ^ (Size mismatch, Tag: 16 bits, Field: 8 bits)
gendyn.asl 5535: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.SIO.UAR3._PRS)
gendyn.asl 5636: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.SIO.UAR4._CRS)
gendyn.asl 5650: CreateByteField (BUF0, \_SB.PCI0.LPC.SIO.UAR4._CRS._Y15._MIN, IOL0) // _MIN: Minimum Base Address
Warning 3128 - ResourceTag larger than Field ^ (Size mismatch, Tag: 16 bits, Field: 8 bits)
gendyn.asl 5652: CreateByteField (BUF0, \_SB.PCI0.LPC.SIO.UAR4._CRS._Y15._MAX, IOL1) // _MAX: Maximum Base Address
Warning 3128 - ResourceTag larger than Field ^ (Size mismatch, Tag: 16 bits, Field: 8 bits)
gendyn.asl 5677: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.SIO.UAR4._PRS)
gendyn.asl 5860: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.SIO.POUT._CRS)
gendyn.asl 5874: CreateByteField (BUF0, \_SB.PCI0.LPC.SIO.POUT._CRS._Y17._MIN, IOL0) // _MIN: Minimum Base Address
Warning 3128 - ResourceTag larger than Field ^ (Size mismatch, Tag: 16 bits, Field: 8 bits)
gendyn.asl 5876: CreateByteField (BUF0, \_SB.PCI0.LPC.SIO.POUT._CRS._Y17._MAX, IOL1) // _MAX: Maximum Base Address
Warning 3128 - ResourceTag larger than Field ^ (Size mismatch, Tag: 16 bits, Field: 8 bits)
gendyn.asl 5901: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.SIO.POUT._PRS)
gendyn.asl 6060: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.SIO.PBID._CRS)
gendyn.asl 6074: CreateByteField (BUF0, \_SB.PCI0.LPC.SIO.PBID._CRS._Y19._MIN, IOL0) // _MIN: Minimum Base Address
Warning 3128 - ResourceTag larger than Field ^ (Size mismatch, Tag: 16 bits, Field: 8 bits)
gendyn.asl 6076: CreateByteField (BUF0, \_SB.PCI0.LPC.SIO.PBID._CRS._Y19._MAX, IOL1) // _MAX: Maximum Base Address
Warning 3128 - ResourceTag larger than Field ^ (Size mismatch, Tag: 16 bits, Field: 8 bits)
gendyn.asl 6101: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.SIO.PBID._PRS)
gendyn.asl 6262: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.SIO.PEPP._CRS)
gendyn.asl 6276: CreateByteField (BUF0, \_SB.PCI0.LPC.SIO.PEPP._CRS._Y1B._MIN, IOL0) // _MIN: Minimum Base Address
Warning 3128 - ResourceTag larger than Field ^ (Size mismatch, Tag: 16 bits, Field: 8 bits)
gendyn.asl 6278: CreateByteField (BUF0, \_SB.PCI0.LPC.SIO.PEPP._CRS._Y1B._MAX, IOL1) // _MAX: Maximum Base Address
Warning 3128 - ResourceTag larger than Field ^ (Size mismatch, Tag: 16 bits, Field: 8 bits)
gendyn.asl 6303: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.SIO.PEPP._PRS)
gendyn.asl 6435: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.SIO.PECP._CRS)
gendyn.asl 6457: CreateByteField (BUF0, \_SB.PCI0.LPC.SIO.PECP._CRS._Y1D._MIN, IOL0) // _MIN: Minimum Base Address
Warning 3128 - ResourceTag larger than Field ^ (Size mismatch, Tag: 16 bits, Field: 8 bits)
gendyn.asl 6459: CreateByteField (BUF0, \_SB.PCI0.LPC.SIO.PECP._CRS._Y1D._MAX, IOL1) // _MAX: Maximum Base Address
Warning 3128 - ResourceTag larger than Field ^ (Size mismatch, Tag: 16 bits, Field: 8 bits)
gendyn.asl 6462: CreateByteField (BUF0, \_SB.PCI0.LPC.SIO.PECP._CRS._Y1E._MIN, IOL2) // _MIN: Minimum Base Address
Warning 3128 - ResourceTag larger than Field ^ (Size mismatch, Tag: 16 bits, Field: 8 bits)
gendyn.asl 6464: CreateByteField (BUF0, \_SB.PCI0.LPC.SIO.PECP._CRS._Y1E._MAX, IOL3) // _MAX: Maximum Base Address
Warning 3128 - ResourceTag larger than Field ^ (Size mismatch, Tag: 16 bits, Field: 8 bits)
gendyn.asl 6505: Name (BUF0, ResourceTemplate ()
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.SIO.PECP._PRS)
gendyn.asl 6929: Method (HKDS, 1, NotSerialized)
Warning 3115 - ^ Not all control paths return a value (\_SB.PCI0.LPC.EC0.HKDS)
gendyn.asl 7331: Method (GBIF, 3, NotSerialized)
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.LPC.EC0.GBIF)
gendyn.asl 7376: Name (SERN, Buffer (0x06)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.EC0.GBIF)
gendyn.asl 7455: Divide (Local1, 0x03E8, Local7, Local1)
Warning 3144 - Method Local is set but never used ^ (Local7)
gendyn.asl 7854: Method (HINF, 3, NotSerialized)
Remark 2146 - Method Argument is never used ^ (Arg0)
gendyn.asl 7854: Method (HINF, 3, NotSerialized)
Remark 2146 - Method Argument is never used ^ (Arg2)
gendyn.asl 7854: Method (HINF, 3, NotSerialized)
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.LPC.TPM.HINF)
gendyn.asl 7856: Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler, x=0-9, A-Z
Remark 2011 - Use of compiler reserved name ^ (_T_0)
gendyn.asl 7893: Method (TPPI, 3, NotSerialized)
Remark 2146 - Method Argument is never used ^ (Arg0)
gendyn.asl 7893: Method (TPPI, 3, NotSerialized)
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.LPC.TPM.TPPI)
gendyn.asl 7895: Name (_T_0, Zero) // _T_x: Emitted by ASL Compiler, x=0-9, A-Z
Remark 2011 - Use of compiler reserved name ^ (_T_0)
gendyn.asl 7912: Sleep (0x07D0)
Remark 2159 - Very long Sleep, greater than 1 second ^
gendyn.asl 7915: Sleep (0x07D0)
Remark 2159 - Very long Sleep, greater than 1 second ^
gendyn.asl 7918: Sleep (0x07D0)
Remark 2159 - Very long Sleep, greater than 1 second ^
gendyn.asl 7923: Name (TCCP, Package (0x02)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.TPM.TPPI)
gendyn.asl 7937: Name (TLCR, Package (0x03)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.LPC.TPM.TPPI)
gendyn.asl 7950: Name (_T_1, Zero) // _T_x: Emitted by ASL Compiler, x=0-9, A-Z
Remark 2011 - Use of compiler reserved name ^ (_T_1)
gendyn.asl 7969: Method (SMOR, 3, NotSerialized)
Remark 2146 - Method Argument is never used ^ (Arg0)
gendyn.asl 7969: Method (SMOR, 3, NotSerialized)
Remark 2146 - Method Argument is never used ^ (Arg1)
gendyn.asl 8893: Method (_DOD, 0, NotSerialized) // _DOD: Display Output Devices
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.OVGA._DOD)
gendyn.asl 8923: Name (TMP1, Package (0x01)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.OVGA._DOD)
gendyn.asl 8933: Name (TMP2, Package (0x02)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.OVGA._DOD)
gendyn.asl 8945: Name (TMP3, Package (0x03)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.OVGA._DOD)
gendyn.asl 8959: Name (TMP4, Package (0x04)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.OVGA._DOD)
gendyn.asl 8975: Name (TMP5, Package (0x05)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.OVGA._DOD)
gendyn.asl 9802: Sleep (ASLP)
Remark 2159 - ^ Very long Sleep, greater than 1 second
gendyn.asl 9812: Sleep (ASLP)
Remark 2159 - ^ Very long Sleep, greater than 1 second
gendyn.asl 9875: Sleep (ASLP)
Remark 2159 - ^ Very long Sleep, greater than 1 second
gendyn.asl 10016: Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.IDEC.PRID._GTM)
gendyn.asl 10018: Name (PBUF, Buffer (0x14)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.IDEC.PRID._GTM)
gendyn.asl 10089: CreateWordField (Arg1, 0x7E, W630)
Remark 2089 - Object is not referenced ^ (Name [W630] is within a method [_STM])
gendyn.asl 10091: CreateWordField (Arg1, 0xB0, W880)
Remark 2089 - Object is not referenced ^ (Name [W880] is within a method [_STM])
gendyn.asl 10133: CreateWordField (Arg2, 0x7E, W631)
Remark 2089 - Object is not referenced ^ (Name [W631] is within a method [_STM])
gendyn.asl 10135: CreateWordField (Arg2, 0xB0, W881)
Remark 2089 - Object is not referenced ^ (Name [W881] is within a method [_STM])
gendyn.asl 10182: Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.IDEC.PRID.P_D0._GTF)
gendyn.asl 10184: Name (PIB0, Buffer (0x0E)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.IDEC.PRID.P_D0._GTF)
gendyn.asl 10247: Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.IDEC.PRID.P_D1._GTF)
gendyn.asl 10249: Name (PIB1, Buffer (0x0E)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.IDEC.PRID.P_D1._GTF)
gendyn.asl 10346: Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.SATA.PRID._GTM)
gendyn.asl 10346: Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode
Warning 3115 - ^ Not all control paths return a value (\_SB.PCI0.SATA.PRID._GTM)
gendyn.asl 10346: Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode
Warning 3107 - ^ Reserved method must return a value (Buffer required for _GTM)
gendyn.asl 10350: Name (PBUF, Buffer (0x14)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.SATA.PRID._GTM)
gendyn.asl 10417: CreateWordField (Arg1, 0x7E, W630)
Remark 2089 - Object is not referenced ^ (Name [W630] is within a method [_STM])
gendyn.asl 10419: CreateWordField (Arg1, 0xB0, W880)
Remark 2089 - Object is not referenced ^ (Name [W880] is within a method [_STM])
gendyn.asl 10420: CreateWordField (Arg1, 0xBA, W930)
Remark 2089 - Object is not referenced ^ (Name [W930] is within a method [_STM])
gendyn.asl 10458: CreateWordField (Arg2, 0x7E, W631)
Remark 2089 - Object is not referenced ^ (Name [W631] is within a method [_STM])
gendyn.asl 10460: CreateWordField (Arg2, 0xB0, W881)
Remark 2089 - Object is not referenced ^ (Name [W881] is within a method [_STM])
gendyn.asl 10461: CreateWordField (Arg2, 0xBA, W931)
Remark 2089 - Object is not referenced ^ (Name [W931] is within a method [_STM])
gendyn.asl 10505: Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.SATA.PRID.P_D0._GTF)
gendyn.asl 10505: Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
Warning 3115 - Not all control paths return a value ^ (\_SB.PCI0.SATA.PRID.P_D0._GTF)
gendyn.asl 10505: Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
Warning 3107 - Reserved method must return a value ^ (Buffer required for _GTF)
gendyn.asl 10509: Name (PIB0, Buffer (0x0E)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.SATA.PRID.P_D0._GTF)
gendyn.asl 10573: Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.SATA.PRID.P_D1._GTF)
gendyn.asl 10573: Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
Warning 3115 - Not all control paths return a value ^ (\_SB.PCI0.SATA.PRID.P_D1._GTF)
gendyn.asl 10573: Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
Warning 3107 - Reserved method must return a value ^ (Buffer required for _GTF)
gendyn.asl 10577: Name (PIB1, Buffer (0x0E)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.SATA.PRID.P_D1._GTF)
gendyn.asl 10643: Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.SATA.SECD._GTM)
gendyn.asl 10643: Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode
Warning 3115 - ^ Not all control paths return a value (\_SB.PCI0.SATA.SECD._GTM)
gendyn.asl 10643: Method (_GTM, 0, NotSerialized) // _GTM: Get Timing Mode
Warning 3107 - ^ Reserved method must return a value (Buffer required for _GTM)
gendyn.asl 10647: Name (SBUF, Buffer (0x14)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.SATA.SECD._GTM)
gendyn.asl 10721: CreateWordField (Arg1, 0x7E, W630)
Remark 2089 - Object is not referenced ^ (Name [W630] is within a method [_STM])
gendyn.asl 10723: CreateWordField (Arg1, 0xB0, W880)
Remark 2089 - Object is not referenced ^ (Name [W880] is within a method [_STM])
gendyn.asl 10765: CreateWordField (Arg2, 0x7E, W631)
Remark 2089 - Object is not referenced ^ (Name [W631] is within a method [_STM])
gendyn.asl 10767: CreateWordField (Arg2, 0xB0, W881)
Remark 2089 - Object is not referenced ^ (Name [W881] is within a method [_STM])
gendyn.asl 10815: Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.SATA.SECD.S_D0._GTF)
gendyn.asl 10815: Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
Warning 3115 - Not all control paths return a value ^ (\_SB.PCI0.SATA.SECD.S_D0._GTF)
gendyn.asl 10815: Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
Warning 3107 - Reserved method must return a value ^ (Buffer required for _GTF)
gendyn.asl 10819: Name (SIB0, Buffer (0x0E)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.SATA.SECD.S_D0._GTF)
gendyn.asl 10883: Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.SATA.SECD.S_D1._GTF)
gendyn.asl 10883: Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
Warning 3115 - Not all control paths return a value ^ (\_SB.PCI0.SATA.SECD.S_D1._GTF)
gendyn.asl 10883: Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
Warning 3107 - Reserved method must return a value ^ (Buffer required for _GTF)
gendyn.asl 10887: Name (SIB1, Buffer (0x0E)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.SATA.SECD.S_D1._GTF)
gendyn.asl 10953: Method (_SDD, 1, NotSerialized) // _SDD: Set Device Data
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.SATA.PRT0._SDD)
gendyn.asl 10957: Name (GBU0, Buffer (0x07)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.SATA.PRT0._SDD)
gendyn.asl 10963: CreateByteField (GBU0, 0x02, GB02)
Remark 2089 - Object is not referenced ^ (Name [GB02] is within a method [_SDD])
gendyn.asl 10964: CreateByteField (GBU0, 0x03, GB03)
Remark 2089 - Object is not referenced ^ (Name [GB03] is within a method [_SDD])
gendyn.asl 10965: CreateByteField (GBU0, 0x04, GB04)
Remark 2089 - Object is not referenced ^ (Name [GB04] is within a method [_SDD])
gendyn.asl 10966: CreateByteField (GBU0, 0x05, GB05)
Remark 2089 - Object is not referenced ^ (Name [GB05] is within a method [_SDD])
gendyn.asl 10987: Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
Warning 3115 - ^ Not all control paths return a value (\_SB.PCI0.SATA.PRT0._GTF)
gendyn.asl 10987: Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
Warning 3107 - ^ Reserved method must return a value (Buffer required for _GTF)
gendyn.asl 10999: Method (_SDD, 1, NotSerialized) // _SDD: Set Device Data
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_SB.PCI0.SATA.PRT2._SDD)
gendyn.asl 11003: Name (GBU2, Buffer (0x07)
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_SB.PCI0.SATA.PRT2._SDD)
gendyn.asl 11009: CreateByteField (GBU2, 0x02, GB22)
Remark 2089 - Object is not referenced ^ (Name [GB22] is within a method [_SDD])
gendyn.asl 11010: CreateByteField (GBU2, 0x03, GB23)
Remark 2089 - Object is not referenced ^ (Name [GB23] is within a method [_SDD])
gendyn.asl 11011: CreateByteField (GBU2, 0x04, GB24)
Remark 2089 - Object is not referenced ^ (Name [GB24] is within a method [_SDD])
gendyn.asl 11012: CreateByteField (GBU2, 0x05, GB25)
Remark 2089 - Object is not referenced ^ (Name [GB25] is within a method [_SDD])
gendyn.asl 11033: Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
Warning 3115 - ^ Not all control paths return a value (\_SB.PCI0.SATA.PRT2._GTF)
gendyn.asl 11033: Method (_GTF, 0, NotSerialized) // _GTF: Get Task File
Warning 3107 - ^ Reserved method must return a value (Buffer required for _GTF)
gendyn.asl 11072: Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_PR.CPU0._PDC)
gendyn.asl 11087: Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_PR.CPU0._OSC)
gendyn.asl 11095: Name (UID0, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_PR.CPU0._OSC)
gendyn.asl 11120: OperationRegion (IST0, SystemMemory, DerefOf (SSDT [One]), DerefOf (SSDT [0x02]))
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_PR.CPU0._OSC)
gendyn.asl 11131: OperationRegion (CST0, SystemMemory, DerefOf (SSDT [0x07]), DerefOf (SSDT [0x08]))
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_PR.CPU0._OSC)
gendyn.asl 11144: Method (_PDC, 1, NotSerialized) // _PDC: Processor Driver Capabilities
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_PR.CPU1._PDC)
gendyn.asl 11159: Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capabilities
Remark 2120 - ^ Control Method should be made Serialized due to creation of named objects within (\_PR.CPU1._OSC)
gendyn.asl 11167: Name (UID1, ToUUID ("4077a616-290c-47be-9ebd-d87058713953"))
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_PR.CPU1._OSC)
gendyn.asl 11192: OperationRegion (IST1, SystemMemory, DerefOf (SSDT [0x04]), DerefOf (SSDT [0x05]))
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_PR.CPU1._OSC)
gendyn.asl 11203: OperationRegion (CST1, SystemMemory, DerefOf (SSDT [0x0A]), DerefOf (SSDT [0x0B]))
Remark 2173 - ^ Creation of named objects within a method is highly inefficient, use globals or method local variables instead (\_PR.CPU1._OSC)
Intel ACPI Component Architecture
ASL+ Optimizing Compiler/Disassembler version 20200430
Copyright (c) 2000 - 2020 Intel Corporation
ASL Input: gendyn.asl - 430514 bytes 5026 keywords 11517 source lines
Compilation failed. 2 Errors, 46 Warnings, 129 Remarks
No AML files were generated due to compiler error(s)
I only care about the errors so I’ll try to fix them to see if that helps making boot to work consistenly.
gendyn.asl 3257: 0x00000000, // Length
Error 6043 - ^ Invalid combination of Length and Min/Max f
This one is easy, we need to calculate the difference between max and min, length should be :
Range Maximum - Range Minimum + 1 = Length
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0xFED4FFFF, // Range Maximum
0x00000000, // Translation Offset
0x00000000, // Length --> This one must be fixed
0x00,, _Y0D, AddressRangeMemory, TypeStatic)
So we use bc:
obase=16;ibase=16
FED4FFFF + 1
FED50000
So the change should look like
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0xFED4FFFF, // Range Maximum
0x00000000, // Translation Offset
0xFED50000, // Length
0x00,, _Y0D, AddressRangeMemory, TypeStatic)
Next one
gendyn.asl 3070: (CAPB & 0xFFFFFFFC)
Error 6114 - ^ Result is not used, operator has no effect
Current code is
While (Local0)
{
Local2 = (Local1 * 0x04)
CreateDWordField (BUF1, Local2, CAPB)
If (Arg2)
{
If ((Local1 == Zero))
{
(CAPB & 0xFFFFFFFC)
}
}
Else
{
}
Local1++
Local0--
As the compiler says, it just dead code, so the new code should be:
While (Local0)
{
Local2 = (Local1 * 0x04)
CreateDWordField (BUF1, Local2, CAPB)
Local1++
Local0--
}
After those changes now :
Compilation successful. 0 Errors, 46 Warnings, 130 Remarks, 85 Optimizations
Now according to the handbook we need to load this code instead of the bios one:
You can load this instead of your BIOS's buggy copy (which is still present in flash memory) by editing /boot/loader.conf as follows:
acpi_dsdt_load="YES"
acpi_dsdt_name="/boot/DSDT.aml"
Be sure to copy your DSDT.aml to the /boot directory.
References:
https://forums.gentoo.org/viewtopic-t-954472.html
https://docs.freebsd.org/doc/6.1-RELEASE/usr/share/doc/handbook/acpi-debug.html
https://www.explorelinux.com/acpi-howto.html#fix_broken_dsdt