new 64b kernel memory map (not userspace yet)
authorAndrew Waterman <waterman@s141.Millennium.Berkeley.EDU>
Wed, 1 Jun 2011 02:12:02 +0000 (19:12 -0700)
committerKevin Klues <klueska@cs.berkeley.edu>
Thu, 3 Nov 2011 00:36:03 +0000 (17:36 -0700)
commit595c3588bb8b876ec58e445668bea466473c66b1
treeeb16dfe76e5b12043609eed39160b04d59f48504
parent88128aa76803d5fd89f4208e9ad04f155fdf9380
new 64b kernel memory map (not userspace yet)

in short, KERNBASE = 0xFFF8 0000 0000 0000 (the most negative 48b addr),
and KERNSIZE = L1PGSIZE (512 GB).  kernel static symbols are referenced
through the KERN_LOAD_ADDR mapping, which is the upper 2GB, i.e.
KERN_LOAD_ADDR = 0xFFFF FFFF 8000 0000.  since all addresses in this range
are canonicalized signed 32-bit numbers, kernel symbols can be referenced
with 32b sign-extended addresses, reducing code size.
kern/arch/i686/ros/mmu.h
kern/arch/riscv/arch.h
kern/arch/riscv/boot.S
kern/arch/riscv/cboot.c
kern/arch/riscv/ros/mmu.h
kern/arch/riscv/trap.c
kern/arch/sparc/ros/mmu.h
kern/include/pmap.h