X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Farch%2Farmv7%2Flink.ld;h=d10dcc4645f2a9824b93c764177830d06abde2c2;hb=2905fecbe9bf464d09d5f2a29cdc8655d7cc0b45;hp=b1ae29577a6c9216b44dd5c26c9a8219882b21ef;hpb=d3f9be02956fb2633d2322ffad4198e03117d353;p=tpg%2Facess2.git diff --git a/Kernel/arch/armv7/link.ld b/Kernel/arch/armv7/link.ld index b1ae2957..d10dcc46 100644 --- a/Kernel/arch/armv7/link.ld +++ b/Kernel/arch/armv7/link.ld @@ -1,6 +1,7 @@ ENTRY (_start) _kernel_base = 0x80000000; +_usertext_vbase = 0xFFFFE000; SECTIONS { @@ -15,6 +16,18 @@ SECTIONS *(.text*) *(.rodata*) } + + + /* HACKS: User accesible .text section */ + . = ALIGN(0x1000); + gUsertextPhysStart = . - _kernel_base; + . = _usertext_vbase; + .usertext : AT( gUsertextPhysStart ) + { + *(.usertext) + } + . += gUsertextPhysStart + _kernel_base - _usertext_vbase; + /* 0x4000 (4 pages) alignment needed for root table */ .data ALIGN(0x4000) : AT( ADDR(.data) - _kernel_base ) { @@ -31,10 +44,12 @@ SECTIONS } .bss : AT( ADDR(.bss) - _kernel_base ) { + bss_start = .; *(.bss*) *(COMMON*) . = ALIGN(0x1000); *(.pabss) + bss_end = .; } gKernelEnd = .; }