Dave Young | 926172d | 2013-12-20 18:02:18 +0800 | [diff] [blame] | 1 | What: /sys/firmware/efi/runtime-map/ |
| 2 | Date: December 2013 |
| 3 | Contact: Dave Young <dyoung@redhat.com> |
| 4 | Description: Switching efi runtime services to virtual mode requires |
| 5 | that all efi memory ranges which have the runtime attribute |
| 6 | bit set to be mapped to virtual addresses. |
| 7 | |
| 8 | The efi runtime services can only be switched to virtual |
| 9 | mode once without rebooting. The kexec kernel must maintain |
| 10 | the same physical to virtual address mappings as the first |
| 11 | kernel. The mappings are exported to sysfs so userspace tools |
| 12 | can reassemble them and pass them into the kexec kernel. |
| 13 | |
| 14 | /sys/firmware/efi/runtime-map/ is the directory the kernel |
| 15 | exports that information in. |
| 16 | |
| 17 | subdirectories are named with the number of the memory range: |
| 18 | |
| 19 | /sys/firmware/efi/runtime-map/0 |
| 20 | /sys/firmware/efi/runtime-map/1 |
| 21 | /sys/firmware/efi/runtime-map/2 |
| 22 | /sys/firmware/efi/runtime-map/3 |
| 23 | ... |
| 24 | |
| 25 | Each subdirectory contains five files: |
| 26 | |
| 27 | attribute : The attributes of the memory range. |
| 28 | num_pages : The size of the memory range in pages. |
| 29 | phys_addr : The physical address of the memory range. |
| 30 | type : The type of the memory range. |
| 31 | virt_addr : The virtual address of the memory range. |
| 32 | |
| 33 | Above values are all hexadecimal numbers with the '0x' prefix. |
| 34 | Users: Kexec |