SetVirtualAddressMap là gì?
Quicknote SetVirtualAddressMap là gì?
SetVirtualAddressMap là gì?
SetVirtualAddressMap() là Runtime Service mà OS gọi để chuyển runtime services/code/data sang virtual address mapping. Runtime driver cần xử lý pointer conversion nếu có pointer được dùng sau đó.
Vai trò chính
- Giải thích một concept nâng cao trong BIOS/UEFI.
- Hỗ trợ đọc source/log/spec dễ hơn.
- Làm nền cho các bài blog chuyên sâu sau này.
Ví dụ debug nhanh
Với lỗi ExitBootServices(), một pattern hay gặp là memory map thay đổi sau khi OS loader đã gọi GetMemoryMap(). Khi đó Memory Map Key cũ không còn hợp lệ và cần lấy lại memory map mới.
Checklist nhanh
- Concept này xuất hiện ở phase nào?
- Có liên quan security/runtime/image layout không?
- Khi debug cần kiểm tra log, policy và trạng thái nào?
Ghi nhớ nhanh
SetVirtualAddressMap là bước khó của runtime driver vì pointer có thể đổi ý nghĩa.
Bài liên quan
- Memory Map Key là gì?
- EfiRuntimeServicesData là gì?
- EfiBootServicesData là gì?
- EFI_MEMORY_TYPE là gì?
- ConvertPointer là gì?
Nguồn tham khảo public
- UEFI Specification 2.11 — Boot Services / Memory
- UEFI Specification 2.11 — Runtime Services
- EDK II MdePkg UefiSpec.h
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.
Flash Descriptor là gì?
Quicknote Flash Descriptor là gì?
Secure Boot User Mode là gì?
Quicknote Secure Boot User Mode là gì?
SMM Handler là gì?
Quicknote SMM Handler là gì?
Biến note thành bài viết hoàn chỉnh
Notes là nơi ghi nhanh khái niệm.