huangsheng37 发表于 2019-9-5 09:55

求大神指导SSDT提示这个错误怎么修改

本帖最后由 huangsheng37 于 2019-9-5 11:30 编辑

/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20180427 (64-bit version)(RM)
* Copyright (c) 2000 - 2018 Intel Corporation
*
* Disassembling to non-symbolic legacy ASL operators
*
* Disassembly of SSDT-7-sensrhub.aml, Wed Sep4 14:44:20 2019
*
* Original Table Header:
*   Signature      "SSDT"
*   Length         0x0000029F (671)
*   Revision         0x02
*   Checksum         0x48
*   OEM ID         "INTEL "
*   OEM Table ID   "sensrhub"
*   OEM Revision   0x00000000 (0)
*   Compiler ID      "INTL"
*   Compiler Version 0x20160422 (538313762)
*/
DefinitionBlock ("", "SSDT", 2, "INTEL ", "sensrhub", 0x00000000)
{
    External (_SB_.GGOV, MethodObj)    // 1 Arguments (from opcode)
    External (_SB_.PCI0.I2C0.DFUD, DeviceObj)    // (from opcode)
    External (_SB_.SGOV, MethodObj)    // 2 Arguments (from opcode)
    External (GPBS, UnknownObj)    // (from opcode)
    External (SDS0, UnknownObj)    // (from opcode)
    External (SHAP, UnknownObj)    // (from opcode)
    External (USBH, UnknownObj)    // (from opcode)

    Scope (\)
    {
      Device (SHAD)
      {
            Name (_HID, EisaId ("INT33D0"))// _HID: Hardware ID
            Name (_CID, EisaId ("PNP0C02"))// _CID: Compatible ID
            Method (_STA, 0, Serialized)// _STA: Status
            {
                If (LOr (And (SDS0, One), And (USBH, One)))
                {
                  Return (0x0F)
                }

                Return (Zero)
            }

            Method (_DSM, 4, Serialized)// _DSM: Device-Specific Method
            {
                Name (PGCE, Zero)
                Name (PGCD, Zero)
                Name (PGCG, 0x2E)
                Name (DFUE, Zero)
                Name (DFUD, Zero)
                Name (OLDV, Zero)
                Name (PGCV, Zero)
                Name (DFUV, Zero)
                If (LEqual (Arg0, ToUUID ("03c868d5-563f-42a8-9f57-9a18d949b7cb")))
                {
                  If (LEqual (SHAP, One))
                  {
                        Store (0x3A, PGCG)
                  }

                  If (LGreaterEqual (ToInteger (Arg1), One))
                  {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                              Return (Buffer (One)
                              {
                                     0x0F                                          
                              })
                            }
                            Case (One)
                            {
                              Store (DerefOf (Index (Arg3, Zero)), PGCE)
                              Store (DerefOf (Index (Arg3, One)), PGCD)
                              Store (\_SB.GGOV (0x02010016), OLDV)
                              \_SB.SGOV (0x02010016, PGCE)
                              If (LGreater (PGCD, Zero))
                              {
                                    Sleep (PGCD)
                                    \_SB.GGOV (0x02010016)
                                    OLDV
                              }   #syntax error unexpected '}' expecting ')'(报错)

                              If (LEqual (\_SB.GGOV (0x02010016), One))
                              {
                                    Sleep (0x96)
                                    If (LEqual (\_SB.GGOV (0x02010014), One)){}
                                    Else
                                    {
                                        Notify (\_SB.PCI0.I2C0.DFUD, One)
                                    }
                              }

                              Return (Zero)
                            }
                            Case (0x02)   ##syntax error unexpectedPARSEOP_CASE(报错)
                            {
                              Store (DerefOf (Index (Arg3, Zero)), DFUE)
                              Store (DerefOf (Index (Arg3, One)), DFUD)
                              Store (\_SB.GGOV (0x02010014), OLDV)
                              \_SB.GGOV (0x02010014)
                              DFUE
                              If (LGreater (DFUD, Zero))
                              {
                                    Sleep (DFUD)
                                    \_SB.GGOV (0x02010014)
                                    OLDV
                                }   #syntax error unexpected '}' expecting ')'(报错)

                              Return (Zero)
                            }
                            Case (0x03)   ##syntax error unexpectedPARSEOP_CASE(报错)
                            {
                              Store (\_SB.GGOV (0x02010014), DFUV)
                              Store (\_SB.GGOV (0x02010016), PGCV)
                              Return (Package (0x02)
                              {
                                    PGCV,
                                    DFUV
                              })
                            }

                        }

                        Return (Zero)
                  }

                  Return (Zero)
                }

                Return (Buffer (One)
                {
                     0x00                                          
                })
            }
      }
    }
}


银麟 发表于 2020-4-8 17:39

DefinitionBlock ("", "SSDT", 2, "INTEL ", "sensrhub", 0x00000000)
{
    External (_SB_.GGOV, MethodObj)    // 1 Arguments
    External (_SB_.PCI0.I2C0.DFUD, DeviceObj)
    External (_SB_.SGOV, MethodObj)    // 2 Arguments
    External (GPBS, UnknownObj)
    External (SDS0, UnknownObj)
    External (SHAP, UnknownObj)
    External (USBH, UnknownObj)

    Scope (\)
    {
      Device (SHAD)
      {
            Name (_HID, EisaId ("INT33D0"))// _HID: Hardware ID
            Name (_CID, EisaId ("PNP0C02") /* PNP Motherboard Resources */)// _CID: Compatible ID
            Method (_STA, 0, Serialized)// _STA: Status
            {
                If (((SDS0 & One) || (USBH & One)))
                {
                  Return (0x0F)
                }

                Return (Zero)
            }

            Method (_DSM, 4, Serialized)// _DSM: Device-Specific Method
            {
                Name (PGCE, Zero)
                Name (PGCD, Zero)
                Name (PGCG, 0x2E)
                Name (DFUE, Zero)
                Name (DFUD, Zero)
                Name (OLDV, Zero)
                Name (PGCV, Zero)
                Name (DFUV, Zero)
                If ((Arg0 == ToUUID ("03c868d5-563f-42a8-9f57-9a18d949b7cb")))
                {
                  If ((SHAP == One))
                  {
                        PGCG = 0x3A
                  }

                  If ((ToInteger (Arg1) >= One))
                  {
                        Switch (ToInteger (Arg2))
                        {
                            Case (Zero)
                            {
                              Return (Buffer (One)
                              {
                                     0x0F                                             // .
                              })
                            }
                            Case (One)
                            {
                              PGCE = DerefOf (Arg3 )
                              PGCD = DerefOf (Arg3 )
                              OLDV = \_SB.GGOV (0x02010016)
                              \_SB.SGOV (0x02010016, PGCE)
                              If ((PGCD > Zero))
                              {
                                    Sleep (PGCD)
                                    \_SB.SGOV (0x02010016, OLDV)
                              }

                              If ((\_SB.GGOV (0x02010016) == One))
                              {
                                    Sleep (0x96)
                                    If ((\_SB.GGOV (0x02010014) == One)){}
                                    Else
                                    {
                                        Notify (\_SB.PCI0.I2C0.DFUD, One) // Device Check
                                    }
                              }

                              Return (Zero)
                            }
                            Case (0x02)
                            {
                              DFUE = DerefOf (Arg3 )
                              DFUD = DerefOf (Arg3 )
                              OLDV = \_SB.GGOV (0x02010014)
                              \_SB.SGOV (0x02010014, DFUE)
                                 If ((DFUD > Zero))
                              {
                                    Sleep (DFUD)
                                    \_SB.SGOV (0x02010014, OLDV)
                              }

                              Return (Zero)
                            }
                            Case (0x03)
                            {
                              DFUV = \_SB.GGOV (0x02010014)
                              PGCV = \_SB.GGOV (0x02010016)
                              Return (Package (0x02)
                              {
                                    PGCV,
                                    DFUV
                              })
                            }

                        }

                        Return (Zero)
                  }

                  Return (Zero)
                }

                Return (Buffer (One)
                {
                     0x00                                             // .
                })
            }
      }
    }
}


页: [1]
查看完整版本: 求大神指导SSDT提示这个错误怎么修改