DXE Dependency Checklist
Quicknote checklist khi DXE driver không được dispatch hoặc chạy sai thứ tự.
Khi DXE driver không chạy, nguyên nhân thường không nằm ở entry point mà nằm ở build image, firmware volume hoặc dependency expression.
Ví dụ thực tế
Khi một DXE driver không chạy, nguyên nhân không nhất thiết nằm ở code C. Có thể driver chưa được đưa vào FV, DEPEX chưa thỏa, hoặc protocol mà nó cần chưa được publish.
Checklist nhanh
Ghi nhớ nhanh
DXE driver không chạy: kiểm tra image + FV + DEPEX trước khi nghi code entry point.
Góc nhìn khi debug
Khi học DXE Dependency Checklist, mình không muốn chỉ dừng ở định nghĩa. Mình thường tự hỏi ba câu: nó được tạo ra ở đâu, ai sẽ đọc nó, và nếu nó sai thì lỗi sẽ biểu hiện ở tầng nào. Cách nhìn này giúp biến một thuật ngữ khô khan thành một điểm kiểm tra cụ thể trong flow debug.
Ví dụ dễ gặp
Trong debug thật, điều quan trọng không phải là có thật nhiều log, mà là biết log nào xác nhận được trạng thái nào. Khi gặp DXE Dependency Checklist, mình thường đánh dấu điểm cuối cùng còn chắc chắn đúng, sau đó mới khoanh vùng sang bước kế tiếp thay vì đọc log từ đầu đến cuối một cách mơ hồ.
Khi gặp trong thực tế
DXE Dependency Checklist thường hữu ích nhất khi dùng như một điểm kiểm tra trong log. Thay vì chỉ hỏi “nó nghĩa là gì?”, hãy hỏi thêm: điều kiện nào tạo ra nó, module nào trả về nó, và sau lỗi đó firmware có retry, fallback hay dừng hẳn không.
Khi debug firmware, một log ngắn nhưng đặt đúng vị trí thường giá trị hơn rất nhiều log rải lung tung. Hãy log input, trạng thái trước khi gọi API, return status và nhánh xử lý sau đó.
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.
DEPEX là gì?
Quicknote giải thích Dependency Expression trong EDK II/UEFI.
DXE Dispatcher là gì?
DXE Dispatcher load và chạy DXE driver theo DEPEX, dựa trên protocol dependency trong handle database. Hiểu dispatch loop giúp debug driver không chạy dù build pass.
DXE Dispatcher là gì?
Giải thích DXE Dispatcher, DEPEX và cách debug khi DXE driver được build nhưng không chạy.
Biến note thành bài viết hoàn chỉnh
Notes là nơi ghi nhanh khái niệm.