What is EFI_MEMORY_TYPE?
Quick note explaining EFI_MEMORY_TYPE for BIOS/UEFI and embedded firmware readers.
What is EFI_MEMORY_TYPE?
EFI_MEMORY_TYPE is a UEFI memory-management concept used around memory maps, runtime mapping, and the OS handoff.
Why it matters
- Explains memory ownership around the firmware-to-OS transition.
- Helps debug ExitBootServices(), runtime mapping, and memory-type issues.
- Useful when reading UEFI memory maps.
Practical example
Example: ExitBootServices() can fail if the memory map changes after GetMemoryMap(). In that case, retrieve the map again and use the new key.
Quick checklist
- Is the memory type correct for its lifetime?
- Does the map change before ExitBootServices()?
- Are runtime pointers converted after SetVirtualAddressMap()?
Quick takeaway
EFI_MEMORY_TYPE is about memory ownership during the handoff from firmware to the OS.
Related notes
- What is SetVirtualAddressMap?
- What is Memory Map Key?
- What is EfiRuntimeServicesData?
- What is EfiBootServicesData?
- What is ConvertPointer?
Public references
- UEFI Specification 2.11 — Boot Services / Memory
- UEFI Specification 2.11 — Runtime Services
- EDK II MdePkg UefiSpec.h
Found this useful?
Save it or share it with someone learning firmware, BIOS/UEFI, and 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.
What is Flash Descriptor?
Quick note explaining Flash Descriptor for BIOS/UEFI and embedded firmware readers.
What is Secure Boot User Mode?
Quick note explaining Secure Boot User Mode for BIOS/UEFI and embedded firmware readers.
What is SMM Handler?
Quick note explaining SMM Handler for BIOS/UEFI and embedded firmware readers.
Biến note thành bài viết hoàn chỉnh
Notes là nơi ghi nhanh khái niệm.