/* * This file is included from multiple environments. Do not * add completing #includes to make it standalone.
*/
/* * Deal with bootloaders which fail to initialize unknown fields in * boot_params to zero. The list fields in this list are taken from * analysis of kexec-tools; if other broken bootloaders initialize a * different set of fields we will need to figure out how to disambiguate. * * Note: efi_info is commonly left uninitialized, but that field has a * private magic, so it is better to leave it unchanged.
*/
staticvoid sanitize_boot_params(struct boot_params *boot_params)
{ /* * IMPORTANT NOTE TO BOOTLOADER AUTHORS: do not simply clear * this field. The purpose of this field is to guarantee * compliance with the x86 boot spec located in * Documentation/arch/x86/boot.rst . That spec says that the * *whole* structure should be cleared, after which only the * portion defined by struct setup_header (boot_params->hdr) * should be copied in. * * If you're having an issue because the sentinel is set, you * need to change the whole structure to be cleared, not this * (or any other) individual field, or you will soon have * problems again.
*/ if (boot_params->sentinel) { staticstruct boot_params scratch; char *bp_base = (char *)boot_params; char *save_base = (char *)&scratch; int i;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.