coreboot got fixed, not linux :-)

On Mon, Dec 12, 2016 at 8:05 AM Trammell Hudson <hudson@trmm.net> wrote:
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

--
coreboot mailing list: coreboot@coreboot.org
https://www.coreboot.org/mailman/listinfo/coreboot