DBG2 là gì?
Quicknote DBG2 là gì?
DBG2 là ACPI table mô tả debug port cho OS/debugger. Nó có thể cung cấp thông tin về UART hoặc debug interface khác tùy platform.
Vai trò chính
- Định danh hoặc mô tả tài nguyên platform.
- Hỗ trợ firmware/OS phối hợp trong quá trình boot.
- Giúp debug device/resource ở mức thấp.
Ví dụ thực tế
Khi OS không nhận một device ACPI, hãy kiểm tra theo thứ tự: device có xuất hiện trong namespace không, _STA có báo present không, _HID/_CID có match driver không, và _CRS có trả resource hợp lệ không.
Checklist nhanh
Ghi nhớ nhanh
DBG2 giúp OS biết debug port nằm ở đâu.
Cách mình thường đọc nó
Khi học DBG2, 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.
Một tình huống thực tế
Ví dụ, nếu OS không nhận đúng một thiết bị, đừng vội kết luận driver lỗi. Hãy kiểm tra xem firmware đã mô tả thiết bị qua ACPI/PCI/SMBIOS có nhất quán chưa: ID có match không, resource có hợp lệ không, và log OS có đang đọc cùng thông tin mà firmware cung cấp không. DBG2 nên được xem như một mảnh nhỏ trong bản mô tả platform đó.
Khi gặp trong thực tế
Với DBG2, mình thường hỏi: nó xuất hiện ở phase nào, module nào tạo ra nó, module nào consume nó, và nếu nó sai thì log sẽ biểu hiện ở đâu. Cách đọc này biến một định nghĩa BIOS/UEFI thành checklist debug thật sự.
Ví dụ khi một driver DXE không bind hoặc boot flow dừng ở BDS, đừng chỉ nhìn một dòng lỗi. Hãy lần ngược protocol, handle, device path, variable và policy liên quan. Firmware thường lỗi theo chuỗi, không lỗi theo một khái niệm đứng riêng.
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.