summaryrefslogtreecommitdiffstats
path: root/skiboot.lds.S
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2018-09-18 15:49:52 +1000
committerStewart Smith <stewart@linux.ibm.com>2018-09-20 14:30:51 +1000
commit5118fc7fb0ea0bdc4cbb5a286b38cfc259aa0de4 (patch)
tree7883593b6102a31643c0254035ab763bb077671c /skiboot.lds.S
parent20126d2678123161b0d3cac44de452fef60386d6 (diff)
downloadblackbird-skiboot-5118fc7fb0ea0bdc4cbb5a286b38cfc259aa0de4.tar.gz
blackbird-skiboot-5118fc7fb0ea0bdc4cbb5a286b38cfc259aa0de4.zip
skiboot.lds.S: move read-write data after the end of symbol map
This also tidies up linker script symbol declarations and adds _rodata_mem symbol for the next change to use. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Diffstat (limited to 'skiboot.lds.S')
-rw-r--r--skiboot.lds.S41
1 files changed, 24 insertions, 17 deletions
diff --git a/skiboot.lds.S b/skiboot.lds.S
index a6e71077..8fae2084 100644
--- a/skiboot.lds.S
+++ b/skiboot.lds.S
@@ -20,6 +20,7 @@
ENTRY(boot_entry);
SECTIONS
{
+ _start = .;
. = 0;
.head : {
@@ -65,23 +66,6 @@ SECTIONS
__rodata_end = .;
}
- .data : {
- /*
- * A couple of things that need to be 4K aligned and
- * to reside in their own pages for the sake of TCE
- * mappings
- */
- . = ALIGN(0x1000);
- *(.data.memcons);
- . = ALIGN(0x1000);
- *(.data.boot_trace);
- . = ALIGN(0x1000);
- *(.data*)
- *(.force.data)
- *(.toc1)
- *(.branch_lt)
- }
-
. = ALIGN(0x10);
.init : {
__ctors_start = .;
@@ -146,6 +130,29 @@ SECTIONS
__sym_map_end = . ;
}
+ /*
+ * Memory above this point should be un-changing after the OS
+ * boots, and is verified with a checksum upon fast reboot.
+ */
+ _romem_end = .;
+
+ .data : {
+ /*
+ * A couple of things that need to be 4K aligned and
+ * to reside in their own pages for the sake of TCE
+ * mappings
+ */
+ . = ALIGN(0x1000);
+ *(.data.memcons);
+ . = ALIGN(0x1000);
+ *(.data.boot_trace);
+ . = ALIGN(0x1000);
+ *(.data*)
+ *(.force.data)
+ *(.toc1)
+ *(.branch_lt)
+ }
+
/* We locate the BSS at 3M to leave room for the symbol map */
. = 0x300000;
OpenPOWER on IntegriCloud