mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 14:21:47 +00:00
5039e316dd
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>
39 lines
1.2 KiB
Plaintext
39 lines
1.2 KiB
Plaintext
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
|