Sun Sep 23 01:01:18 2012 UTC ()
sync ldscripts; add cacheline_aligned and read_mostly handling
to the non-default ones.
(chs)
diff -r1.8 -r1.9 src/sys/arch/i386/conf/kern.ldscript
diff -r1.9 -r1.10 src/sys/arch/i386/conf/kern.ldscript.4MB
diff -r1.3 -r1.4 src/sys/arch/i386/conf/kern.ldscript.Xen
--- src/sys/arch/i386/conf/kern.ldscript 2010/06/01 22:13:30 1.8
+++ src/sys/arch/i386/conf/kern.ldscript 2012/09/23 01:01:17 1.9
@@ -1,4 +1,4 @@
-/* $NetBSD: kern.ldscript,v 1.8 2010/06/01 22:13:30 mjf Exp $ */
+/* $NetBSD: kern.ldscript,v 1.9 2012/09/23 01:01:17 chs Exp $ */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
"elf32-i386")
@@ -23,7 +23,7 @@
*(.rodata)
*(.rodata.*)
}
-
+
/* Adjust the address for the data segment. We want to adjust up to
the same address within the page on the next page up. */
. = ALIGN(0x1000) + (. & (0x1000 - 1));
@@ -39,7 +39,6 @@
{
*(.data.cacheline_aligned)
}
-
. = ALIGN(64); /* COHERENCY_UNIT */
.data.read_mostly :
AT (LOADADDR(.text) + (ADDR(.data.read_mostly) - ADDR(.text)))
--- src/sys/arch/i386/conf/Attic/kern.ldscript.4MB 2007/10/18 15:28:34 1.9
+++ src/sys/arch/i386/conf/Attic/kern.ldscript.4MB 2012/09/23 01:01:17 1.10
@@ -1,4 +1,4 @@
-/* $NetBSD: kern.ldscript.4MB,v 1.9 2007/10/18 15:28:34 yamt Exp $ */
+/* $NetBSD: kern.ldscript.4MB,v 1.10 2012/09/23 01:01:17 chs Exp $ */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
"elf32-i386")
@@ -33,8 +33,20 @@
AT (LOADADDR(.text) + (ADDR(.data) - ADDR(.text)))
{
*(.data)
- *(.data.*)
}
+ . = ALIGN(64); /* COHERENCY_UNIT */
+ .data.cacheline_aligned :
+ AT (LOADADDR(.text) + (ADDR(.data.cacheline_aligned) - ADDR(.text)))
+ {
+ *(.data.cacheline_aligned)
+ }
+ . = ALIGN(64); /* COHERENCY_UNIT */
+ .data.read_mostly :
+ AT (LOADADDR(.text) + (ADDR(.data.read_mostly) - ADDR(.text)))
+ {
+ *(.data.read_mostly)
+ }
+ . = ALIGN(64); /* COHERENCY_UNIT */
_edata = . ;
PROVIDE (edata = .) ;
__bss_start = . ;
--- src/sys/arch/i386/conf/kern.ldscript.Xen 2007/10/18 15:28:34 1.3
+++ src/sys/arch/i386/conf/kern.ldscript.Xen 2012/09/23 01:01:17 1.4
@@ -1,4 +1,4 @@
-/* $NetBSD: kern.ldscript.Xen,v 1.3 2007/10/18 15:28:34 yamt Exp $ */
+/* $NetBSD: kern.ldscript.Xen,v 1.4 2012/09/23 01:01:17 chs Exp $ */
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
"elf32-i386")
@@ -28,8 +28,20 @@
.data :
{
*(.data)
- *(.data.*)
}
+ . = ALIGN(64); /* COHERENCY_UNIT */
+ .data.cacheline_aligned :
+ AT (LOADADDR(.text) + (ADDR(.data.cacheline_aligned) - ADDR(.text)))
+ {
+ *(.data.cacheline_aligned)
+ }
+ . = ALIGN(64); /* COHERENCY_UNIT */
+ .data.read_mostly :
+ AT (LOADADDR(.text) + (ADDR(.data.read_mostly) - ADDR(.text)))
+ {
+ *(.data.read_mostly)
+ }
+ . = ALIGN(64); /* COHERENCY_UNIT */
_edata = . ;
PROVIDE (edata = .) ;
__bss_start = . ;