diff options
author | Dave Young <dyoung@redhat.com> | 2013-12-20 18:02:18 +0800 |
---|---|---|
committer | Matt Fleming <matt.fleming@intel.com> | 2013-12-21 15:29:36 +0000 |
commit | 926172d46038d7610b6b8d84e40db727cefb482d (patch) | |
tree | 8963aaa9fccd0a4ee0d59717b4de8e8cdfebbe62 /Documentation/ABI/testing/sysfs-firmware-efi-runtime-map | |
parent | a0998eb15afeffbf52a2c2829318f67df9ac57b8 (diff) | |
download | blackbird-op-linux-926172d46038d7610b6b8d84e40db727cefb482d.tar.gz blackbird-op-linux-926172d46038d7610b6b8d84e40db727cefb482d.zip |
efi: Export EFI runtime memory mapping to sysfs
kexec kernel will need exactly same mapping for EFI runtime memory
ranges. Thus here export the runtime ranges mapping to sysfs,
kexec-tools will assemble them and pass to 2nd kernel via setup_data.
Introducing a new directory /sys/firmware/efi/runtime-map just like
/sys/firmware/memmap. Containing below attribute in each file of that
directory:
attribute num_pages phys_addr type virt_addr
Signed-off-by: Dave Young <dyoung@redhat.com>
Tested-by: Toshi Kani <toshi.kani@hp.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Diffstat (limited to 'Documentation/ABI/testing/sysfs-firmware-efi-runtime-map')
-rw-r--r-- | Documentation/ABI/testing/sysfs-firmware-efi-runtime-map | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Documentation/ABI/testing/sysfs-firmware-efi-runtime-map b/Documentation/ABI/testing/sysfs-firmware-efi-runtime-map new file mode 100644 index 000000000000..c61b9b348e99 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-firmware-efi-runtime-map @@ -0,0 +1,34 @@ +What: /sys/firmware/efi/runtime-map/ +Date: December 2013 +Contact: Dave Young <dyoung@redhat.com> +Description: Switching efi runtime services to virtual mode requires + that all efi memory ranges which have the runtime attribute + bit set to be mapped to virtual addresses. + + The efi runtime services can only be switched to virtual + mode once without rebooting. The kexec kernel must maintain + the same physical to virtual address mappings as the first + kernel. The mappings are exported to sysfs so userspace tools + can reassemble them and pass them into the kexec kernel. + + /sys/firmware/efi/runtime-map/ is the directory the kernel + exports that information in. + + subdirectories are named with the number of the memory range: + + /sys/firmware/efi/runtime-map/0 + /sys/firmware/efi/runtime-map/1 + /sys/firmware/efi/runtime-map/2 + /sys/firmware/efi/runtime-map/3 + ... + + Each subdirectory contains five files: + + attribute : The attributes of the memory range. + num_pages : The size of the memory range in pages. + phys_addr : The physical address of the memory range. + type : The type of the memory range. + virt_addr : The virtual address of the memory range. + + Above values are all hexadecimal numbers with the '0x' prefix. +Users: Kexec |