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

Reply via email to