EC & BIOS Handshake là gì?
Quicknote giải thích giao tiếp giữa BIOS và Embedded Controller ở mức concept.
EC là Embedded Controller, thường quản lý keyboard matrix, battery, thermal, fan, lid, power button và một số GPIO/power rail. BIOS và OS không nên tự ý điều khiển mọi thứ nếu EC đang giữ quyền. Vì vậy cần handshake: ai sở hữu event nào, command nào dùng để notify, trạng thái nào đã ready.
Early policy
Init EC command, đọc board/battery/thermal status.
Expose EC device
DSDT/SSDT mô tả EC OperationRegion và query method.
EC driver
OS driver nhận SCI/query event và gọi ACPI method.
Platform control
Fan, battery, lid, keyboard, thermal, power button.
Ví dụ EC query
Method (_Q42, 0, NotSerialized) {
Notify (BAT0, 0x80)
}
Khi EC phát query event 0x42, OS ACPI interpreter gọi _Q42, rồi notify battery device. Nếu _Q42 sai hoặc EC không phát SCI, OS không thấy battery event.
Debug diary: thermal/fan/battery không update
Đừng chỉ nhìn OS driver. Kiểm tra cả chuỗi:
EC firmware
↓
SCI/GPE
↓
ACPI EC device
↓
_Qxx method
↓
Notify()
↓
OS class driver
EC handshake checklist
Common pitfall
Một số lỗi chỉ xảy ra sau resume S3/S0ix: EC còn giữ state cũ, BIOS chưa re-sync, nhưng OS đã bắt đầu gọi method. Vì vậy ACPI method liên quan EC nên được xem như interface runtime, không phải table tĩnh.
Bài liên quan
Nguồn tham khảo public
Thấy nội dung này hữu ích?
Lưu lại hoặc chia sẻ cho người cũng đang học firmware, BIOS/UEFI và embedded systems.
Nội dung liên quan
Một số bài viết, ghi chú hoặc project có liên quan đến nội dung bạn vừa đọc.
ACPI Hardware Overview
Knowledge map về cách firmware mô tả phần cứng cho OS bằng ACPI, SMBIOS, GPIO, EC, PCIe và power state.
ACPI Table Types cần biết
Quicknote giới thiệu các loại ACPI table thường gặp.
ACPI Method là gì?
Quicknote giải thích ACPI control method.
Biến note thành bài viết hoàn chỉnh
Notes là nơi ghi nhanh khái niệm.