- 积分
- 601
- 最后登录
- 2024-4-21
- 精华
- 0
- 阅读权限
- 40
- 主题
- 20
- UID
- 4779145
- 帖子
- 948
- PB币
- 102
- 威望
- 37
- 贡献
- 0
- 技术
- 0
- 活跃
- 2253
淡忘
- UID
- 4779145
- 帖子
- 948
- PB币
- 102
- 贡献
- 0
- 技术
- 0
- 活跃
- 2253
|
先上错误图
出现这个错误的原因是在某些主板上,并非所有端口都是映射到RTC设备中。
要解决此问题,我们要创建一个具有正确设置的新RTC设备(PNP0B00)
代码示例
- DefinitionBlock ("", "SSDT", 2, "ACDT", "RtcRange", 0x00000000)
- {
- External (_SB_.PC00.LPC0, DeviceObj)
- External (_SB_.PC00.LPC0.RTC_, DeviceObj)
- Scope (_SB.PC00.LPC0)
- {
- Scope (RTC)
- {
- Method (_STA, 0, NotSerialized) // _STA: Status
- {
- If (_OSI ("Darwin"))
- {
- Return (Zero)
- }
- Else
- {
- Return (0x0F)
- }
- }
- }
- Device (RTC0)
- {
- /*
- * Change the below _CSR range to match your hardware.
- *
- * For this example, we'll use the Asus Strix X299-E Gaming's ACPI, and show how to correct it.
- * Within the original RTC device, we see that sections 0x70 through 0x77 are mapped:
- *
- * Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
- * {
- * IO (Decode16,
- * 0x0070, // Range Minimum 1
- * 0x0070, // Range Maximum 1
- * 0x01, // Alignment 1
- * 0x02, // Length 1
- * )
- * IO (Decode16,
- * 0x0074, // Range Minimum 2
- * 0x0074, // Range Maximum 2
- * 0x01, // Alignment 2
- * 0x04, // Length 2
- * )
- * IRQNoFlags ()
- * {8}
- * })
- *
- * Though Asus seems to have forgotten to map sections 0x72 and 0x73 in the first bank, so
- * we'll want to expand the range to include them under Length 1.
- * Note that not all boards will be the same, verify with your ACPI tables for both the range and
- * missing regions.
- */
- Name (_HID, EisaId ("PNP0B00")) // _HID: Hardware ID
- Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings
- {
- IO (Decode16,
- 0x0070, // Range Minimum 1
- 0x0070, // Range Maximum 1
- 0x01, // Alignment 1
- 0x04, // Length 1 (Expanded to include 0x72 and 0x73)
- )
- IO (Decode16,
- 0x0074, // Range Minimum 2
- 0x0074, // Range Maximum 2
- 0x01, // Alignment 2
- 0x04, // Length 2
- )
- IRQNoFlags ()
- {8}
- })
- Method (_STA, 0, NotSerialized) // _STA: Status
- {
- If (_OSI ("Darwin"))
- {
- Return (0x0F)
- }
- Else
- {
- Return (Zero)
- }
- }
- }
- }
- }
复制代码 参考链接:https://github.com/acidanthera/OpenCorePkg/commit/62e6ab1ec56628e1ea26c12042ca6c6f2fa7662d
最后附上我主板用的SSDT-RTC-RANGE.aml
|
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
-
3
查看全部评分
-
|