- 积分
- 8625
- 最后登录
- 2024-4-23
- 精华
- 0
- 阅读权限
- 100
- 主题
- 134
- UID
- 615559
- 帖子
- 16823
- PB币
- 9749
- 威望
- 316
- 贡献
- 0
- 技术
- 62
- 活跃
- 2927
2012以后回地球看看
- UID
- 615559
- 帖子
- 16823
- PB币
- 9749
- 贡献
- 0
- 技术
- 62
- 活跃
- 2927
|
14F
发表于 2021-5-22 19:56:27
IP属地广东
|只看该作者
华硕主板_UPC写死是什么意思呢?我的一块华硕B150、一块华硕Z370,clover中提取到的BIOS ACPI,主Device(XHC)定义在DSDT,Scope 部分定义在类似SSDT-4-xh_rvp08这样命名的SSDT中,只要把它Drop掉,重新用定制的SSDT代替,就能完成USB定制。
我用这种方式解决的:
原始的SSDT:
Scope (\_SB.PCI0.XHC.RHUB.HS01)
{
Method (_UPC, 0, NotSerialized)
{
Return (GUPC (One))
}
Method (_PLD, 0, NotSerialized)
{
Return (GPLD (DerefOf (UHSD [Zero]), One))
}
}
替换修改后的:
Scope (\_SB.PCI0.XHC.RHUB.HS01)
{
Method (_UPC, 0, NotSerialized)
{
Name (PUPC, Package (0x04)
{
0xFF,
Zero,
Zero,
Zero
})
If (_OSI ("Darwin"))
{
Return (PUPC)
}
Else
{
Return (GUPC (One))
}
}
Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device
{
Name (UPLD, Package (0x01)
{
Buffer (0x10)
{
/* 0000 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ........
/* 0008 */ 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 0.......
}
})
If (_OSI ("Darwin"))
{
Return (UPLD)
}
Else
{
Return (GPLD (One, One))
}
}
}
也就是说,可以直接定义_UPC的Return。
|
|