[coreboot] Linux 4.7 kernel payload with CoreBoot 4.4

Trammell Hudson hudson at trmm.net
Mon Dec 12 17:00:48 CET 2016


On Wed, Aug 10, 2016 at 07:03:58AM -0600, Trammell Hudson wrote:
> The Linux 4.7 kernel payload crashes early in the boot process 
> with CoreBoot 4.4. [...]

The recently released 4.9 kernel does not require any patches to boot
as coreboot's payload.  The diffs in head_64.S appear to be
related to the efi config values and I'm not sure if this is the
actual change the fixed it:

--- build/linux-4.7/arch/x86/boot/compressed/head_64.S	2016-12-12 10:21:20.934784655 -0500
+++ build/linux-4.9/arch/x86/boot/compressed/head_64.S	2016-12-11 14:17:54.000000000 -0500
@@ -265,7 +265,7 @@
 	/*
 	 * Relocate efi_config->call().
 	 */
-	addq	%rbp, efi64_config+88(%rip)
+	addq	%rbp, efi64_config+32(%rip)
 
 	movq	%rax, %rdi
 	call	make_boot_params
@@ -285,7 +285,7 @@
 	 * Relocate efi_config->call().
 	 */
 	movq	efi_config(%rip), %rax
-	addq	%rbp, 88(%rax)
+	addq	%rbp, 32(%rax)
 2:
 	movq	efi_config(%rip), %rdi
 	call	efi_main
@@ -463,14 +457,14 @@
 #ifdef CONFIG_EFI_MIXED
 	.global efi32_config
 efi32_config:
-	.fill	11,8,0
+	.fill	4,8,0
 	.quad	efi64_thunk
 	.byte	0
 #endif
 
 	.global efi64_config
 efi64_config:
-	.fill	11,8,0
+	.fill	4,8,0
 	.quad	efi_call
 	.byte	1
 #endif /* CONFIG_EFI_STUB */


-- 
Trammell



More information about the coreboot mailing list