diff options
author | Kanoj Sarcar <kanoj@engr.sgi.com> | 2000-06-08 00:18:49 +0000 |
---|---|---|
committer | Kanoj Sarcar <kanoj@engr.sgi.com> | 2000-06-08 00:18:49 +0000 |
commit | 62038e3f2e54b1f6c130958c75875c72b13944ef (patch) | |
tree | 3b5511ff4d92d2cbc40762eb0f9db14ef642bca1 /include/asm-mips64 | |
parent | 1db92498b072a7a1a82171ea2222fd29904c6171 (diff) |
Mapped kernel changes: create elf sections as close as possible to
IRIX, to get the same kind of loader behavior. Read comments in
mapped_kernel.h for more details.
Diffstat (limited to 'include/asm-mips64')
-rw-r--r-- | include/asm-mips64/sn/mapped_kernel.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/asm-mips64/sn/mapped_kernel.h b/include/asm-mips64/sn/mapped_kernel.h index ad72d99db..07e799b96 100644 --- a/include/asm-mips64/sn/mapped_kernel.h +++ b/include/asm-mips64/sn/mapped_kernel.h @@ -5,6 +5,21 @@ #ifndef __ASM_SN_MAPPED_KERNEL_H #define __ASM_SN_MAPPED_KERNEL_H +/* + * Note on how mapped kernels work: the text and data section is + * compiled at cksseg segment (LOADADDR = 0xc001c000), and the + * init/setup/data section gets a 16M virtual address bump in the + * ld.script file (so that tlblo0 and tlblo1 maps the sections). + * The vmlinux.64 section addresses are put in the xkseg range + * using the change-addresses makefile option. Use elfdump -of + * on IRIX to see where the sections go. The Origin loader loads + * the two sections contiguously in physical memory. The loader + * sets the entry point into kernel_entry using a xkphys address, + * but instead of using 0xa800000001160000, it uses the address + * 0xa800000000160000, which is where it physically loaded that + * code. So no jumps can be done before we have switched to using + * cksseg addresses. + */ #include <linux/config.h> #include <asm/addrspace.h> |