ACPI Method là gì?

Quicknote giải thích ACPI control method.

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

ACPI Method là đoạn AML mà OS có thể evaluate để hỏi firmware về trạng thái, resource, power hoặc hành vi đặc biệt của device. Một method nhỏ như _STA có thể quyết định device có xuất hiện trong Device Manager hay không.

Mục Giá trị Ghi chú
`_STA` Device status OS dùng để biết device present/enabled/functioning.
`_CRS` Current resource settings Trả resource như IRQ, MMIO, GPIO, I2C.
`_PS0/_PS3` Power state method Bật/tắt device khi chuyển power state.
`_PRW` Power resource for wake Mô tả wake capability.
`_DSM` Device-specific method Vendor extension, OS driver thường gọi để lấy capability.

Ví dụ _STA

Method (_STA, 0, NotSerialized) {
  If (LEqual (ENAB, One)) {
    Return (0x0F)
  }
  Return (0x00)
}

Ở đây ENAB có thể đến từ OperationRegion, GPIO, EC hoặc một giá trị được firmware patch theo Setup option. Nếu ENAB = 0, device biến mất khỏi OS dù phần cứng vẫn hàn trên board.

Method không phải lúc nào cũng “safe”

Một ACPI method có thể đọc EC, truy cập GPIO OperationRegion hoặc phụ thuộc vào thứ tự power sequence. Vì vậy lỗi AML đôi khi biểu hiện như lỗi hardware: touchpad mất sau resume, USB-C không wake, fan policy sai.

01 OS

Enumerate device

OS thấy `_HID` và gọi `_STA`.

02 Resource

Evaluate `_CRS`

Lấy IRQ/MMIO/GPIO/I2C resource.

03 Power

Call `_PS0`

Bật rail/clock/reset qua AML.

04 Driver

Bind driver

Driver OS bắt đầu control device.

OS gọi method để điều khiển thiết bị.

Khi method trả sai

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.