aboutsummaryrefslogtreecommitdiff
path: root/sys/conf/ldscript.ia64
diff options
context:
space:
mode:
authorMarcel Moolenaar <marcel@FreeBSD.org>2011-04-30 20:49:00 +0000
committerMarcel Moolenaar <marcel@FreeBSD.org>2011-04-30 20:49:00 +0000
commit7df304f3e09661ea87214c204f0580a0c1c201ca (patch)
treededf47a61fb2cfe9dd68f1f8b3d50e896cfd6a3c /sys/conf/ldscript.ia64
parent627cecc5c98116f14742101f4ec7536042c1e8e0 (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.ia6410
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) }