x86: Export x86 boot_params to sysfs
authorDave Young <dyoung@redhat.com>
Fri, 20 Dec 2013 10:02:21 +0000 (18:02 +0800)
committerMatt Fleming <matt.fleming@intel.com>
Sun, 29 Dec 2013 13:09:07 +0000 (13:09 +0000)
commit5039e316dde3fb71c79e95e97c5bca8e4724d8f2
tree9446e8ce0df0d9849bfec4fab93bd30f59d7c919
parent456a29ddada79198c5965300e04103c40c481f62
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>
Documentation/ABI/testing/sysfs-kernel-boot_params [new file with mode: 0644]
arch/x86/kernel/Makefile
arch/x86/kernel/ksysfs.c [new file with mode: 0644]