Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/arch/amd64



Hi,

Emmanuel Dreyfus <manu%netbsd.org@localhost> 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
> manu%netbsd.org@localhost
> 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 // ryo%tetera.org@localhost
PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3


Home | Main Index | Thread Index | Old Index