summaryrefslogtreecommitdiffstats
path: root/Documentation/ABI/testing/sysfs-firmware-efi-runtime-map
diff options
context:
space:
mode:
authorDave Young <dyoung@redhat.com>2013-12-20 18:02:18 +0800
committerMatt Fleming <matt.fleming@intel.com>2013-12-21 15:29:36 +0000
commit926172d46038d7610b6b8d84e40db727cefb482d (patch)
tree8963aaa9fccd0a4ee0d59717b4de8e8cdfebbe62 /Documentation/ABI/testing/sysfs-firmware-efi-runtime-map
parenta0998eb15afeffbf52a2c2829318f67df9ac57b8 (diff)
downloadblackbird-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-map34
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
OpenPOWER on IntegriCloud