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