aboutsummaryrefslogtreecommitdiff
path: root/pk/pk.ld
diff options
context:
space:
mode:
authorAndrew Waterman <waterman@cs.berkeley.edu>2015-03-12 17:38:04 -0700
committerAndrew Waterman <waterman@cs.berkeley.edu>2015-03-12 17:38:04 -0700
commit6517fe26a2a0c89c3112f4a383c601572c71d64a (patch)
treed37eea7ae6f3e15eee94afb5c9c749a4cd800577 /pk/pk.ld
parenta4ae7da6ef0c09c2616a0b82f7f569e4e134f75c (diff)
downloadpk-6517fe26a2a0c89c3112f4a383c601572c71d64a.zip
pk-6517fe26a2a0c89c3112f4a383c601572c71d64a.tar.gz
pk-6517fe26a2a0c89c3112f4a383c601572c71d64a.tar.bz2
Update to new privileged spec
Diffstat (limited to 'pk/pk.ld')
-rw-r--r--pk/pk.ld17
1 files changed, 14 insertions, 3 deletions
diff --git a/pk/pk.ld b/pk/pk.ld
index 9167f3f..6f20a56 100644
--- a/pk/pk.ld
+++ b/pk/pk.ld
@@ -1,6 +1,6 @@
OUTPUT_ARCH( "riscv" )
-ENTRY( _start )
+ENTRY( mentry )
SECTIONS
{
@@ -10,7 +10,7 @@ SECTIONS
/*--------------------------------------------------------------------*/
/* Begining of code and text segment */
- . = 0x00002000;
+ . = 0x0;
_ftext = .;
PROVIDE( eprol = . );
@@ -34,6 +34,10 @@ SECTIONS
*(.rodata)
*(.rodata.*)
*(.gnu.linkonce.r.*)
+
+ unprivileged_access_ranges = .;
+ *(.unpriv)
+ unprivileged_access_ranges_end = .;
}
/* End of code and read-only segment */
@@ -46,7 +50,6 @@ SECTIONS
/* Start of initialized data segment */
. = ALIGN(16);
- PROVIDE( _gp = . + 0x800 );
_fdata = .;
/* data: Writable data */
@@ -54,7 +57,9 @@ SECTIONS
{
*(.data)
*(.data.*)
+ *(.srodata*)
*(.gnu.linkonce.d.*)
+ *(.comment)
}
/* End of initialized data segment */
@@ -80,10 +85,16 @@ SECTIONS
{
*(.bss)
*(.bss.*)
+ *(.sbss*)
*(.gnu.linkonce.b.*)
*(COMMON)
}
+ .sbi :
+ {
+ *(.sbi)
+ }
+
/* End of uninitialized data segment (used by syscalls.c for heap) */
PROVIDE( end = . );
_end = .;