EC & BIOS Handshake là gì?

Quicknote giải thích giao tiếp giữa BIOS và Embedded Controller ở mức concept.

2 phút đọc
Đọc bằng Tiếng Việt English 日本語
ACPI / Hardware Terms cover

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.

01 BIOS

Early policy

Init EC command, đọc board/battery/thermal status.

02 ACPI

Expose EC device

DSDT/SSDT mô tả EC OperationRegion và query method.

03 OS

EC driver

OS driver nhận SCI/query event và gọi ACPI method.

04 HW

Platform control

Fan, battery, lid, keyboard, thermal, power button.

EC thường nằm giữa firmware, OS và phần cứng platform.

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.

Biến note thành bài viết hoàn chỉnh

Notes là nơi ghi nhanh khái niệm.