aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/ABI/testing/sysfs-kernel-boot_params
diff options
context:
space:
mode:
authorDave Young <dyoung@redhat.com>2013-12-20 05:02:21 -0500
committerMatt Fleming <matt.fleming@intel.com>2013-12-29 08:09:07 -0500
commit5039e316dde3fb71c79e95e97c5bca8e4724d8f2 (patch)
tree9446e8ce0df0d9849bfec4fab93bd30f59d7c919 /Documentation/ABI/testing/sysfs-kernel-boot_params
parent456a29ddada79198c5965300e04103c40c481f62 (diff)
x86: Export x86 boot_params to sysfs
kexec-tools use boot_params for getting the 1st kernel hardware_subarch, the kexec kernel EFI runtime support also needs to read the old efi_info from boot_params. Currently it exists in debugfs which is not a good place for such infomation. Per HPA, we should avoid "sploit debugfs". In this patch /sys/kernel/boot_params are exported, also the setup_data is exported as a subdirectory. kexec-tools is using debugfs for hardware_subarch for a long time now so we're not removing it yet. Structure is like below: /sys/kernel/boot_params |__ data /* boot_params in binary*/ |__ setup_data | |__ 0 /* the first setup_data node */ | | |__ data /* setup_data node 0 in binary*/ | | |__ type /* setup_data type of setup_data node 0, hex string */ [snip] |__ version /* boot protocal version (in hex, "0x" prefixed)*/ Signed-off-by: Dave Young <dyoung@redhat.com> Acked-by: Borislav Petkov <bp@suse.de> Tested-by: Toshi Kani <toshi.kani@hp.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Diffstat (limited to 'Documentation/ABI/testing/sysfs-kernel-boot_params')
-rw-r--r--Documentation/ABI/testing/sysfs-kernel-boot_params38
1 files changed, 38 insertions, 0 deletions
diff --git a/Documentation/ABI/testing/sysfs-kernel-boot_params b/Documentation/ABI/testing/sysfs-kernel-boot_params
new file mode 100644
index 000000000000..eca38ce2852d
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-kernel-boot_params
@@ -0,0 +1,38 @@
1What: /sys/kernel/boot_params
2Date: December 2013
3Contact: Dave Young <dyoung@redhat.com>
4Description: The /sys/kernel/boot_params directory contains two
5 files: "data" and "version" and one subdirectory "setup_data".
6 It is used to export the kernel boot parameters of an x86
7 platform to userspace for kexec and debugging purpose.
8
9 If there's no setup_data in boot_params the subdirectory will
10 not be created.
11
12 "data" file is the binary representation of struct boot_params.
13
14 "version" file is the string representation of boot
15 protocol version.
16
17 "setup_data" subdirectory contains the setup_data data
18 structure in boot_params. setup_data is maintained in kernel
19 as a link list. In "setup_data" subdirectory there's one
20 subdirectory for each link list node named with the number
21 of the list nodes. The list node subdirectory contains two
22 files "type" and "data". "type" file is the string
23 representation of setup_data type. "data" file is the binary
24 representation of setup_data payload.
25
26 The whole boot_params directory structure is like below:
27 /sys/kernel/boot_params
28 |__ data
29 |__ setup_data
30 | |__ 0
31 | | |__ data
32 | | |__ type
33 | |__ 1
34 | |__ data
35 | |__ type
36 |__ version
37
38Users: Kexec