}\r
}\r
\r
+EFI_STATUS\r
+EFIAPI\r
+LoadLinuxInitializeKernelSetup (\r
+ IN VOID *KernelSetup\r
+ )\r
+{\r
+ EFI_STATUS Status;\r
+ UINTN SetupEnd;\r
+ struct boot_params *Bp;\r
+\r
+ Status = BasicKernelSetupCheck (KernelSetup);\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
+\r
+ Bp = (struct boot_params*) KernelSetup;\r
+\r
+ SetupEnd = 0x202 + (Bp->hdr.jump & 0xff);\r
+\r
+ //\r
+ // Clear all but the setup_header\r
+ //\r
+ ZeroMem (KernelSetup, 0x1f1);\r
+ ZeroMem (((UINT8 *)KernelSetup) + SetupEnd, 4096 - SetupEnd);\r
+ DEBUG ((EFI_D_INFO, "Cleared kernel setup 0-0x1f1, 0x%x-0x1000\n", SetupEnd));\r
+\r
+ return EFI_SUCCESS;\r
+}\r
\r
VOID*\r
EFIAPI\r