1*5039e316SDave YoungWhat: /sys/kernel/boot_params 2*5039e316SDave YoungDate: December 2013 3*5039e316SDave YoungContact: Dave Young <dyoung@redhat.com> 4*5039e316SDave YoungDescription: The /sys/kernel/boot_params directory contains two 5*5039e316SDave Young files: "data" and "version" and one subdirectory "setup_data". 6*5039e316SDave Young It is used to export the kernel boot parameters of an x86 7*5039e316SDave Young platform to userspace for kexec and debugging purpose. 8*5039e316SDave Young 9*5039e316SDave Young If there's no setup_data in boot_params the subdirectory will 10*5039e316SDave Young not be created. 11*5039e316SDave Young 12*5039e316SDave Young "data" file is the binary representation of struct boot_params. 13*5039e316SDave Young 14*5039e316SDave Young "version" file is the string representation of boot 15*5039e316SDave Young protocol version. 16*5039e316SDave Young 17*5039e316SDave Young "setup_data" subdirectory contains the setup_data data 18*5039e316SDave Young structure in boot_params. setup_data is maintained in kernel 19*5039e316SDave Young as a link list. In "setup_data" subdirectory there's one 20*5039e316SDave Young subdirectory for each link list node named with the number 21*5039e316SDave Young of the list nodes. The list node subdirectory contains two 22*5039e316SDave Young files "type" and "data". "type" file is the string 23*5039e316SDave Young representation of setup_data type. "data" file is the binary 24*5039e316SDave Young representation of setup_data payload. 25*5039e316SDave Young 26*5039e316SDave Young The whole boot_params directory structure is like below: 27*5039e316SDave Young /sys/kernel/boot_params 28*5039e316SDave Young |__ data 29*5039e316SDave Young |__ setup_data 30*5039e316SDave Young | |__ 0 31*5039e316SDave Young | | |__ data 32*5039e316SDave Young | | |__ type 33*5039e316SDave Young | |__ 1 34*5039e316SDave Young | |__ data 35*5039e316SDave Young | |__ type 36*5039e316SDave Young |__ version 37*5039e316SDave Young 38*5039e316SDave YoungUsers: Kexec 39