Module Name: src Committed By: chs Date: Sun Sep 23 01:01:18 UTC 2012
Modified Files: src/sys/arch/i386/conf: kern.ldscript kern.ldscript.4MB kern.ldscript.Xen Log Message: sync ldscripts; add cacheline_aligned and read_mostly handling to the non-default ones. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/arch/i386/conf/kern.ldscript cvs rdiff -u -r1.9 -r1.10 src/sys/arch/i386/conf/kern.ldscript.4MB cvs rdiff -u -r1.3 -r1.4 src/sys/arch/i386/conf/kern.ldscript.Xen Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/i386/conf/kern.ldscript diff -u src/sys/arch/i386/conf/kern.ldscript:1.8 src/sys/arch/i386/conf/kern.ldscript:1.9 --- src/sys/arch/i386/conf/kern.ldscript:1.8 Tue Jun 1 22:13:30 2010 +++ src/sys/arch/i386/conf/kern.ldscript Sun Sep 23 01:01:17 2012 @@ -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 @@ SECTIONS *(.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 @@ SECTIONS { *(.data.cacheline_aligned) } - . = ALIGN(64); /* COHERENCY_UNIT */ .data.read_mostly : AT (LOADADDR(.text) + (ADDR(.data.read_mostly) - ADDR(.text))) Index: src/sys/arch/i386/conf/kern.ldscript.4MB diff -u src/sys/arch/i386/conf/kern.ldscript.4MB:1.9 src/sys/arch/i386/conf/kern.ldscript.4MB:1.10 --- src/sys/arch/i386/conf/kern.ldscript.4MB:1.9 Thu Oct 18 15:28:34 2007 +++ src/sys/arch/i386/conf/kern.ldscript.4MB Sun Sep 23 01:01:17 2012 @@ -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 @@ SECTIONS 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 = . ; Index: src/sys/arch/i386/conf/kern.ldscript.Xen diff -u src/sys/arch/i386/conf/kern.ldscript.Xen:1.3 src/sys/arch/i386/conf/kern.ldscript.Xen:1.4 --- src/sys/arch/i386/conf/kern.ldscript.Xen:1.3 Thu Oct 18 15:28:34 2007 +++ src/sys/arch/i386/conf/kern.ldscript.Xen Sun Sep 23 01:01:17 2012 @@ -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 @@ SECTIONS .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 = . ;