Fix System Clocks on HEDT
Chuẩn bị:
Dump DSDT theo hướng dẫn tại đây.
Xác định vấn đề:
Các bạn cần xác định vấn đề của mình có thật sự cần dùng SSDT-RTC0 hay không.
B1: Mở SSDT ra và ấn tổ hợp phím Command + F và gõ từ khóa PNP0B00 nhìn vào dòng _CRS.

Chúng ta có:
Các bạn để ý vào các dòng IRQNoFlags (số vùng bao phủ) và 2 dòng IO (Decode16, chúng ta có rtc bao phủ 8 vùng là 0x70 (0x007 chính là 0x70 do được viết bằng hex), 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77 ta có:
Dòng
iođầu tiên:Bắt đầu ở
0x70.Bao gồm 2 vùng.
Chứa
0x70, 0x71.
Dòng
iothứ hai:Bắt đầu ở
0x74.Bao gồm 4 vùng.
Chứa
0x74, 0x75, 0x76, 0x77.
Thiếu 0x72 và 0x73.
Ta cần sửa phạm vi ở dòng io đầu tiên thành 4.
Tìm ACPI Path:
B1: Mở DSDT lên và ấn Command + F
B2: Search các từ khóa sau:
PNP0B00: Dùng để tìm tên củaDevice RTC.Name (_ADR, 0x001F0000): Dùng để tìmLPC Path(LowPinCount Path).PNP0A08: Dùng để tìmPCI Pathcó thể có nhiều kết quả cùng xuất hiện hãy chọn cái đầu tiên.



Bây giờ chúng ta có các Path của ACPI là
rtc,lpc,pci0
Edit SSDT:
B1: Mở SSDT-RTC0 vừa tải ở bước chuẩn bị lên và sửa lại các Path như sau:
B2: Rename trong SSDT:
B3: Tiếp theo search device(ACPI000E) ( hoặc ACPI000E ) Nếu DSDT của bạn có dòng này thì
B4: Chúng ta có phần này:

Chúng ta có:



B5: Save lại dưới dạng file aml theo hướng dẫn tại đây.
B6: Bỏ file SSDT vừa sửa vào EFI ==> OC ==> ACPI và Snapshot lại
Hoặc
EFI ==> Clover ==> ACPI ==> Patched
B7: Restart và tận hưởng thôi
Lưu ý: Source tham khảo: Fixing System Clocks on HEDT: Manual | Getting Started With ACPI (dortania.github.io) | OpenCorePkg/SSDT-RTC0-RANGE.dsl at master · acidanthera/OpenCorePkg (github.com)
Last updated