mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 08:19:28 +00:00
![Dave Young](/assets/img/avatar_default.png)
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>
38 lines
1.2 KiB
Text
38 lines
1.2 KiB
Text
What: /sys/kernel/boot_params
|
|
Date: December 2013
|
|
Contact: Dave Young <dyoung@redhat.com>
|
|
Description: The /sys/kernel/boot_params directory contains two
|
|
files: "data" and "version" and one subdirectory "setup_data".
|
|
It is used to export the kernel boot parameters of an x86
|
|
platform to userspace for kexec and debugging purpose.
|
|
|
|
If there's no setup_data in boot_params the subdirectory will
|
|
not be created.
|
|
|
|
"data" file is the binary representation of struct boot_params.
|
|
|
|
"version" file is the string representation of boot
|
|
protocol version.
|
|
|
|
"setup_data" subdirectory contains the setup_data data
|
|
structure in boot_params. setup_data is maintained in kernel
|
|
as a link list. In "setup_data" subdirectory there's one
|
|
subdirectory for each link list node named with the number
|
|
of the list nodes. The list node subdirectory contains two
|
|
files "type" and "data". "type" file is the string
|
|
representation of setup_data type. "data" file is the binary
|
|
representation of setup_data payload.
|
|
|
|
The whole boot_params directory structure is like below:
|
|
/sys/kernel/boot_params
|
|
|__ data
|
|
|__ setup_data
|
|
| |__ 0
|
|
| | |__ data
|
|
| | |__ type
|
|
| |__ 1
|
|
| |__ data
|
|
| |__ type
|
|
|__ version
|
|
|
|
Users: Kexec
|