Hi, Sorry I have accidentally reverted kern.ldscript. With current kern.ldscript, it stalls after cpu0.
Thank you. Ryo ONODERA <r...@tetera.org> writes: > Hi, > > Emmanuel Dreyfus <m...@netbsd.org> writes: > >> On Tue, Dec 24, 2019 at 05:50:00PM +0900, Ryo ONODERA wrote: >>> After this change, amd64 kernel does not boot on my HP Spectre x360 >>> 13-inch ae019TU laptop with pure UEFI boot mode. >> >> Hello >> >> Does the attached patch (crafted for port-amd64/54775) fix the >> problem? > > Without your patch, the kernel does not boot at all, > so after the kernel is loaded, only "_" character is displayed. > > And your patch still does not work properly, so the kernel hangs > after cpu0 (as same as msaitoh@'s however it hits 100% for my > laptop). > > The attached patch works for me. > However I have no idea about the meaning. > > Index: sys/arch/amd64/amd64/locore.S > =================================================================== > RCS file: /cvsroot/src/sys/arch/amd64/amd64/locore.S,v > retrieving revision 1.195 > diff -u -r1.195 locore.S > --- sys/arch/amd64/amd64/locore.S 15 Dec 2019 02:58:21 -0000 1.195 > +++ sys/arch/amd64/amd64/locore.S 25 Dec 2019 10:36:18 -0000 > @@ -1,4 +1,4 @@ > -/* $NetBSD: locore.S,v 1.195 2019/12/15 02:58:21 manu Exp $ */ > +/* $NetBSD: locore.S,v 1.193 2019/12/10 02:06:07 manu Exp $ */ > > /* > * Copyright-o-rama! > @@ -432,9 +432,9 @@ > .space 512 > tmpstk: > > -.section multiboot,"a" > -#if defined(MULTIBOOT) > +.section multiboot,"ax",@progbits > .align 8 > +#if defined(MULTIBOOT) > .globl Multiboot2_Header > _C_LABEL(Multiboot2_Header): > .int MULTIBOOT2_HEADER_MAGIC > @@ -474,6 +474,9 @@ > .align 8 > .globl Multiboot2_Header_end > _C_LABEL(Multiboot2_Header_end): > +#else /* MULTIBOOT */ > + .int 0xdeadbeef /* have some non empty content */ > + .align 8 > #endif /* MULTIBOOT */ > > /* > > Thank you. > >> -- >> Emmanuel Dreyfus >> m...@netbsd.org >> Index: sys/arch/amd64/amd64/locore.S >> =================================================================== >> RCS file: /cvsroot/src/sys/arch/amd64/amd64/locore.S,v >> retrieving revision 1.195 >> diff -U4 -r1.195 locore.S >> --- sys/arch/amd64/amd64/locore.S 15 Dec 2019 02:58:21 -0000 1.195 >> +++ sys/arch/amd64/amd64/locore.S 22 Dec 2019 02:23:11 -0000 >> @@ -432,10 +432,10 @@ >> .space 512 >> tmpstk: >> >> .section multiboot,"a" >> -#if defined(MULTIBOOT) >> .align 8 >> +#if defined(MULTIBOOT) >> .globl Multiboot2_Header >> _C_LABEL(Multiboot2_Header): >> .int MULTIBOOT2_HEADER_MAGIC >> .int MULTIBOOT2_ARCHITECTURE_I386 >> @@ -473,8 +473,11 @@ >> .int 8 /* sizeof(struct multiboot_tag) */ >> .align 8 >> .globl Multiboot2_Header_end >> _C_LABEL(Multiboot2_Header_end): >> +#else /* MULTIBOOT */ >> + .int 0xdeadbeef /* have some non empty content */ >> + .align 8 >> #endif /* MULTIBOOT */ >> >> /* >> * Some hackage to deal with 64bit symbols in 32 bit mode. > > -- > Ryo ONODERA // r...@tetera.org > PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3 -- Ryo ONODERA // r...@tetera.org PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3