linux-yocto/Documentation/ABI/testing/sysfs-kernel-boot_params
Dave Young 5039e316dd 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>
2013-12-29 13:09:07 +00:00

1.2 KiB

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