diff options
| -rw-r--r-- | bootmain.c | 2 | ||||
| -rw-r--r-- | kernel.ld | 3 | ||||
| -rw-r--r-- | memlayout.h | 2 | 
3 files changed, 4 insertions, 3 deletions
@@ -43,7 +43,7 @@ bootmain(void)    // Call the entry point from the ELF header.    // Does not return! -  entry = (void(*)(void))(elf->entry & 0xFFFFFF); +  entry = (void(*)(void))(elf->entry - KERNBASE);    entry();  } @@ -8,7 +8,8 @@ ENTRY(_start)  SECTIONS  {  	/* Load the kernel at this address: "." means the current address */ -	. = 0xF0100000; +        /* Must be equal to KERNLINK */ +	. = 0x80100000;  	.text : AT(0x100000) {  		*(.text .stub .text.* .gnu.linkonce.t.*) diff --git a/memlayout.h b/memlayout.h index c2879b1..e155e07 100644 --- a/memlayout.h +++ b/memlayout.h @@ -5,7 +5,7 @@  #define DEVSPACE 0xFE000000         // Other devices are at high addresses  // Key addresses for address space layout (see kmap in vm.c for the layout) -#define KERNBASE 0xF0000000         // First kernel virtual address +#define KERNBASE 0x80000000         // First kernel virtual address  #define KERNLINK (KERNBASE+EXTMEM)  // Address where kernel is linked  #ifndef __ASSEMBLER__  | 
