NetBSD-Bugs archive

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

Re: kern/54839: Update from 9.99.18 to 9.99.34/amd64 freezes at "cpu1 at mainbus0 apid 2"



The following reply was made to PR kern/54839; it has been noted by GNATS.

From: Patrick Welche <prlw1%cam.ac.uk@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: 
Subject: Re: kern/54839: Update from 9.99.18 to 9.99.34/amd64 freezes at
 "cpu1 at mainbus0 apid 2"
Date: Wed, 8 Jan 2020 12:47:42 +0000

 Thank you to msaito@ for making the connection with MULTIBOOT issues:
 
    http://mail-index.netbsd.org/source-changes-d/2019/12/25/msg011951.html
    http://mail-index.netbsd.org/source-changes-d/2019/12/26/msg011963.html
    http://mail-index.netbsd.org/tech-kern/2020/01/02/msg025911.html
 
 Given that GENERIC no longer defines MULTIBOOT, I can now EFI boot successfully
 after applying just:
 
 diff --git a/sys/arch/amd64/conf/Makefile.amd64 b/sys/arch/amd64/conf/Makefile.amd64
 index 0f28d8236809..0e7774132b30 100644
 --- a/sys/arch/amd64/conf/Makefile.amd64
 +++ b/sys/arch/amd64/conf/Makefile.amd64
 @@ -91,10 +91,10 @@ OPT_MODULAR=	%MODULAR%
  ##
  TEXTADDR?=	0xffffffff80200000
  .if defined(KASLR)
 -EXTRA_LINKFLAGS=	--split-by-file=0x100000 -r -d
 +EXTRA_LINKFLAGS=	--split-by-file=0x100000 -r -d -n
  KERNLDSCRIPT?= ${AMD64}/conf/kern.ldscript.kaslr
  .else
 -EXTRA_LINKFLAGS=	-z max-page-size=0x200000
 +EXTRA_LINKFLAGS=	-z max-page-size=0x200000 -n
  KERNLDSCRIPT?= ${AMD64}/conf/kern.ldscript
  .endif
  LINKFLAGS_NORMAL=	-X
 diff --git a/sys/arch/amd64/conf/kern.ldscript b/sys/arch/amd64/conf/kern.ldscript
 index ef67b1e5a931..d23876354ccb 100644
 --- a/sys/arch/amd64/conf/kern.ldscript
 +++ b/sys/arch/amd64/conf/kern.ldscript
 @@ -13,17 +13,7 @@ __LARGE_PAGE_SIZE = 0x200000 ;
  ENTRY(_start)
  SECTIONS
  {
 -	/*
 -	 * multiboot (file_offset) : AT (load_address) 
 -	 * file_offset must be below 32k for multiboot 2 specification
 -	 * BIOS boot requires load_address above 0x200000
 -	 */
 -	multiboot 0x1000 : AT (0x200000)
 -	{
 -		. = ALIGN(8);
 -		KEEP(*(multiboot));
 -	}
 -	.text : AT (0x200000 + SIZEOF(multiboot))
 +	.text : AT (ADDR(.text) & 0x0fffffff)
  	{
  		. = ALIGN(__PAGE_SIZE);
  		__text_user_start = . ;
 


Home | Main Index | Thread Index | Old Index