Patch attached - with this, NetBSD boots off the USB stick. I've also fixed multiboot64 which was broken in a similar way, but is untested.
Assuming this looks good, can we get this commited and pulled up to the 10.x branch? -- Paul Ripke "Great minds discuss ideas, average minds discuss events, small minds discuss people." -- Disputed: Often attributed to Eleanor Roosevelt. 1948.
diff --git a/sys/arch/i386/stand/efiboot/bootx64/efibootx64.c b/sys/arch/i386/stand/efiboot/bootx64/efibootx64.c index feb51595eda2..b34505461bc4 100644 --- a/sys/arch/i386/stand/efiboot/bootx64/efibootx64.c +++ b/sys/arch/i386/stand/efiboot/bootx64/efibootx64.c @@ -30,14 +30,14 @@ #include <sys/bootblock.h> -void startprog64_start(physaddr_t, physaddr_t, physaddr_t, u_long, +extern void startprog64_start(physaddr_t, physaddr_t, physaddr_t, u_long, void *, physaddr_t); -extern void (*startprog64)(physaddr_t, physaddr_t, physaddr_t, u_long, +void (*startprog64)(physaddr_t, physaddr_t, physaddr_t, u_long, void *, physaddr_t); extern u_int startprog64_size; -void multiboot64_start(physaddr_t, physaddr_t, uint32_t); -extern void (*multiboot64)(physaddr_t, physaddr_t, uint32_t); +extern void multiboot64_start(physaddr_t, physaddr_t, uint32_t); +void (*multiboot64)(physaddr_t, physaddr_t, uint32_t); extern u_int multiboot64_size; void diff --git a/sys/arch/i386/stand/efiboot/bootx64/multiboot64.S b/sys/arch/i386/stand/efiboot/bootx64/multiboot64.S index 96757aeccc03..cb040d27b86a 100644 --- a/sys/arch/i386/stand/efiboot/bootx64/multiboot64.S +++ b/sys/arch/i386/stand/efiboot/bootx64/multiboot64.S @@ -6,10 +6,6 @@ #define DATA_SEGMENT 0x10 .align 16 - .globl _C_LABEL(multiboot64) -_C_LABEL(multiboot64): - .quad 0 - .globl _C_LABEL(multiboot64_size) _C_LABEL(multiboot64_size): .long multiboot64_end - _C_LABEL(multiboot64_start) diff --git a/sys/arch/i386/stand/efiboot/bootx64/startprog64.S b/sys/arch/i386/stand/efiboot/bootx64/startprog64.S index 050e3068a243..0c2643a7254d 100644 --- a/sys/arch/i386/stand/efiboot/bootx64/startprog64.S +++ b/sys/arch/i386/stand/efiboot/bootx64/startprog64.S @@ -66,10 +66,6 @@ WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. #define DATA_SEGMENT 0x10 .align 16 - .globl _C_LABEL(startprog64) -_C_LABEL(startprog64): - .quad 0 - .globl _C_LABEL(startprog64_size) _C_LABEL(startprog64_size): .long startprog64_end - _C_LABEL(startprog64_start)