From b452b0edbc784722c25014a20f554737d64ba758 Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Fri, 11 Oct 2019 18:53:13 +0200 Subject: use bootloader in qemu --- linker.ld | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'linker.ld') diff --git a/linker.ld b/linker.ld index 0cbd1fb..c9a91df 100644 --- a/linker.ld +++ b/linker.ld @@ -2,12 +2,15 @@ ENTRY(_start) SECTIONS { - /* Starts at LOADER_ADDR. */ - /* Warning! Internet says RPis in 32-bit mode load kernel at 0x8000! */ + /* Starts at LOADER_ADDR, which is 0x8000 - that's where RPis in */ + /* 32-bit mode load kernel at. */ /* My experiments do, however, show, that qemu emulating RPi2 */ - /* Loads the kernel at 0x10000! (took some pain to find out) */ - . = 0x10000; - /* For AArch64, use . = 0x80000; Unless this too is wrong */ + /* loads the kernel at 0x10000! (took some pain to find out). */ + /* Since we're using a bootloader now, we can compile the kernel */ + /* for 0x8000 and bootloader will load it properly (although it */ + /* itself still has to be compiled for 0x10000) */ + . = 0x8000; + /* For AArch64, use . = 0x80000; Unless this too is wrong in qemu… */ __start = .; __text_start = .; .text : -- cgit v1.2.3