diff options
author | Marcel Moolenaar <marcel@FreeBSD.org> | 2011-04-30 20:49:00 +0000 |
---|---|---|
committer | Marcel Moolenaar <marcel@FreeBSD.org> | 2011-04-30 20:49:00 +0000 |
commit | 7df304f3e09661ea87214c204f0580a0c1c201ca (patch) | |
tree | dedf47a61fb2cfe9dd68f1f8b3d50e896cfd6a3c /sys/conf/ldscript.ia64 | |
parent | 627cecc5c98116f14742101f4ec7536042c1e8e0 (diff) |
Stop linking against a direct-mapped virtual address and instead
use the PBVM. This eliminates the implied hardcoding of the
physical address at which the kernel needs to be loaded. Using the
PBVM makes it possible to load the kernel irrespective of the
physical memory organization and allows us to replicate kernel text
on NUMA machines.
While here, reduce the direct-mapped page size to the kernel's
page size so that we can support memory attributes better.
Notes
Notes:
svn path=/head/; revision=221271
Diffstat (limited to 'sys/conf/ldscript.ia64')
-rw-r--r-- | sys/conf/ldscript.ia64 | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/conf/ldscript.ia64 b/sys/conf/ldscript.ia64 index 5d31ff44742c..8e0b297cc2f4 100644 --- a/sys/conf/ldscript.ia64 +++ b/sys/conf/ldscript.ia64 @@ -3,7 +3,7 @@ OUTPUT_FORMAT("elf64-ia64-freebsd", "elf64-ia64-freebsd", "elf64-ia64-freebsd") OUTPUT_ARCH(ia64) ENTRY(__start) SEARCH_DIR(/usr/lib); -kernel_text = 0xe000000004000000; +kernel_text = 0x9ffc000000000000; SECTIONS { /* Read-only sections, merged into text segment: */ @@ -11,10 +11,10 @@ SECTIONS .interp : { *(.interp) } PROVIDE (btext = .); - .ivt : { *(.ivt) } .text : { - *(.text.ivt) + *(.ivt) + *(.ivt.text) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf32.em. */ *(.gnu.warning) @@ -60,9 +60,11 @@ SECTIONS page in the loader virtual memory. */ . = ALIGN(65536); + PROVIDE (bdata = .); .data : { - *(.data.kstack .data .data.* .gnu.linkonce.d.*) + *(.ivt.data) + *(.data .data.* .gnu.linkonce.d.*) SORT(CONSTRUCTORS) } .data1 : { *(.data1) } |