PCIe Enumeration trong UEFI là gì?

Quicknote giải thích PCIe enumeration ở mức firmware.

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

PCIe enumeration trong firmware là quá trình scan bus, đọc config space, cấp resource và tạo handle/protocol để driver khác bind. Nhưng với OS, câu chuyện chưa kết thúc ở đó: ACPI cũng phải mô tả root bridge resource, ECAM base và interrupt routing đủ đúng.

01 DXE

PCI Bus Driver scan

Đọc Vendor ID, Class Code, BAR.

02 Resource

Allocate BAR/window

Cấp MMIO/I/O, bus number, bridge window.

03 Protocol

Install PCI I/O

Tạo handle cho UEFI driver.

04 ACPI

Expose root bridge

MCFG/_CRS/MADT mô tả cho OS.

05 OS

Re-enumerate/control

OS driver đọc PCI config và quản lý device.

PCIe từ DXE tới OS.

ACPI liên quan PCIe ở đâu?

Mục Giá trị Ghi chú
MCFG PCIe ECAM base OS dùng để access extended config space.
`_CRS` của PCI root Bus/MMIO/I/O aperture Nếu thiếu window, OS cấp resource sai.
MADT/IRQ routing Interrupt controller mapping Quan trọng với MSI/INTx routing.
DSDT/SSDT device Hotplug/power/wake Root port hoặc device đặc biệt có ACPI method.

Debug diary: firmware thấy, OS không thấy

UEFI Shell: pci command thấy device
Linux/Windows: device không hoạt động

Lúc này hãy so sánh PCI enumeration trong firmware với ACPI root bridge resource mà OS nhận được. Nếu _CRS thiếu MMIO above 4G hoặc MCFG sai base, OS có thể không access đúng config/resource.

PCIe + ACPI checklist

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.