Changeset f798178 in mainline for uspace/lib/c/arch
- Timestamp:
- 2011-04-30T13:44:28Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 4ddbea7
- Parents:
- a71d2630 (diff), 3f461ecf (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- uspace/lib/c/arch
- Files:
-
- 17 edited
- 8 moved
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/arch/abs32le/Makefile.inc
ra71d2630 rf798178 29 29 ARCH_SOURCES = \ 30 30 arch/$(UARCH)/src/entry.c \ 31 arch/$(UARCH)/src/entryjmp.c \ 31 32 arch/$(UARCH)/src/thread_entry.c \ 32 33 arch/$(UARCH)/src/fibril.c \ -
uspace/lib/c/arch/abs32le/_link.ld.in
ra71d2630 rf798178 3 3 4 4 PHDRS { 5 #ifdef LOADER 6 interp PT_INTERP; 7 text PT_LOAD FILEHDR PHDRS FLAGS(5); 8 #else 5 9 text PT_LOAD FLAGS(5); 10 #endif 6 11 data PT_LOAD FLAGS(6); 7 12 } 8 13 9 14 SECTIONS { 15 #ifdef LOADER 16 .interp : { 17 *(.interp); 18 } :interp 19 20 . = 0x70001000 + SIZEOF_HEADERS; 21 #else 10 22 . = 0x1000 + SIZEOF_HEADERS; 11 23 #endif 12 24 .text : { 13 25 *(.text .text.*); -
uspace/lib/c/arch/abs32le/src/entryjmp.c
ra71d2630 rf798178 31 31 32 32 #include <bool.h> 33 #include "arch.h"33 #include <entry_point.h> 34 34 35 void program_run(void *entry_point, void *pcb) 35 /** Jump to program entry point. */ 36 void entry_point_jmp(void *entry_point, void *pcb) 36 37 { 37 38 while (true); -
uspace/lib/c/arch/amd64/Makefile.inc
ra71d2630 rf798178 29 29 ARCH_SOURCES = \ 30 30 arch/$(UARCH)/src/entry.s \ 31 arch/$(UARCH)/src/entryjmp.s \ 31 32 arch/$(UARCH)/src/thread_entry.s \ 32 33 arch/$(UARCH)/src/syscall.S \ -
uspace/lib/c/arch/amd64/_link.ld.in
ra71d2630 rf798178 3 3 4 4 PHDRS { 5 #ifdef LOADER 6 interp PT_INTERP; 7 text PT_LOAD FILEHDR PHDRS FLAGS(5); 8 #else 5 9 text PT_LOAD FLAGS(5); 10 #endif 6 11 data PT_LOAD FLAGS(6); 7 12 debug PT_NOTE; … … 9 14 10 15 SECTIONS { 16 #ifdef LOADER 17 .interp : { 18 *(.interp); 19 } :interp 20 21 . = 0x70001000 + SIZEOF_HEADERS; 22 #else 11 23 . = 0x1000 + SIZEOF_HEADERS; 12 24 #endif 13 25 .init : { 14 26 *(.init); -
uspace/lib/c/arch/amd64/src/entryjmp.s
ra71d2630 rf798178 27 27 # 28 28 29 .globl program_run29 .globl entry_point_jmp 30 30 31 ## void program_run(void *entry_point, void *pcb);31 ## void entry_point_jmp(void *entry_point, void *pcb); 32 32 # 33 33 # %rdi contains entry_point 34 34 # %rsi contains pcb 35 35 # 36 # Jump to aprogram entry point37 program_run:36 # Jump to program entry point 37 entry_point_jmp: 38 38 # pcb must be passed in %rdi, use %rdx as a scratch register 39 39 mov %rdi, %rdx -
uspace/lib/c/arch/arm32/Makefile.inc
ra71d2630 rf798178 30 30 ARCH_SOURCES = \ 31 31 arch/$(UARCH)/src/entry.s \ 32 arch/$(UARCH)/src/entryjmp.s \ 32 33 arch/$(UARCH)/src/thread_entry.s \ 33 34 arch/$(UARCH)/src/syscall.c \ -
uspace/lib/c/arch/arm32/_link.ld.in
ra71d2630 rf798178 3 3 4 4 PHDRS { 5 #ifdef LOADER 6 interp PT_INTERP; 7 text PT_LOAD FILEHDR PHDRS FLAGS(5); 8 #else 5 9 text PT_LOAD FLAGS(5); 10 #endif 6 11 data PT_LOAD FLAGS(6); 7 12 } 8 13 9 14 SECTIONS { 15 #ifdef LOADER 16 .interp : { 17 *(.interp); 18 } :interp 19 20 . = 0x70001000 + SIZEOF_HEADERS; 21 #else 10 22 . = 0x1000 + SIZEOF_HEADERS; 11 23 #endif 12 24 .init : { 13 25 *(.init); -
uspace/lib/c/arch/arm32/src/entryjmp.s
ra71d2630 rf798178 27 27 # 28 28 29 .globl program_run29 .globl entry_point_jmp 30 30 31 ## void program_run(void *entry_point, void *pcb);31 ## void entry_point_jmp(void *entry_point, void *pcb); 32 32 # 33 33 # r0 contains entry_point 34 34 # r1 contains pcb 35 35 # 36 # Jump to aprogram entry point37 program_run:36 # Jump to program entry point 37 entry_point_jmp: 38 38 # load ras_page address to r2 39 39 ldr r2, =ras_page -
uspace/lib/c/arch/ia32/Makefile.inc
ra71d2630 rf798178 29 29 ARCH_SOURCES = \ 30 30 arch/$(UARCH)/src/entry.s \ 31 arch/$(UARCH)/src/entryjmp.s \ 31 32 arch/$(UARCH)/src/thread_entry.s \ 32 33 arch/$(UARCH)/src/syscall.S \ -
uspace/lib/c/arch/ia32/_link.ld.in
ra71d2630 rf798178 3 3 4 4 PHDRS { 5 #ifdef LOADER 6 interp PT_INTERP; 7 text PT_LOAD FILEHDR PHDRS FLAGS(5); 8 #else 5 9 text PT_LOAD FLAGS(5); 10 #endif 6 11 data PT_LOAD FLAGS(6); 7 12 debug PT_NOTE; … … 9 14 10 15 SECTIONS { 16 #ifdef LOADER 17 .interp : { 18 *(.interp); 19 } :interp 20 21 . = 0x70001000 + SIZEOF_HEADERS; 22 #else 11 23 . = 0x1000 + SIZEOF_HEADERS; 12 24 #endif 13 25 .init : { 14 26 *(.init); -
uspace/lib/c/arch/ia32/src/entryjmp.s
ra71d2630 rf798178 27 27 # 28 28 29 .globl program_run29 .globl entry_point_jmp 30 30 31 ## void program_run(void *entry_point, void *pcb);31 ## void entry_point_jmp(void *entry_point, void *pcb); 32 32 # 33 # Jump to aprogram entry point34 program_run:33 # Jump to program entry point 34 entry_point_jmp: 35 35 # Use standard ia32 prologue not to confuse anybody 36 36 push %ebp -
uspace/lib/c/arch/ia64/Makefile.inc
ra71d2630 rf798178 29 29 ARCH_SOURCES = \ 30 30 arch/$(UARCH)/src/entry.s \ 31 arch/$(UARCH)/src/entryjmp.s \ 31 32 arch/$(UARCH)/src/thread_entry.s \ 32 33 arch/$(UARCH)/src/syscall.S \ -
uspace/lib/c/arch/ia64/_link.ld.in
ra71d2630 rf798178 3 3 4 4 PHDRS { 5 #ifdef LOADER 6 interp PT_INTERP; 5 7 text PT_LOAD FLAGS(5); 8 #else 9 text PT_LOAD FLAGS(5); 10 #endif 6 11 data PT_LOAD FLAGS(6); 7 12 } 8 13 9 14 SECTIONS { 15 #ifdef LOADER 16 .interp : { 17 *(.interp); 18 } :interp 19 20 . = 0x800000000 + SIZEOF_HEADERS; 21 #else 10 22 . = 0x4000 + SIZEOF_HEADERS; 11 23 #endif 24 /* 25 * XXX This is just a work around. Problem: .init section does not 26 * have the proper alignment. 27 */ 28 . = ALIGN(., 16); 29 12 30 .init : { 13 31 *(.init); -
uspace/lib/c/arch/ia64/src/entryjmp.s
ra71d2630 rf798178 28 28 29 29 .text 30 .globl program_run30 .globl entry_point_jmp 31 31 32 ## void program_run(void *entry_point, void *pcb);32 ## void entry_point_jmp(void *entry_point, void *pcb); 33 33 # 34 34 # in0 (r32) contains entry_point 35 35 # in1 (r33) contains pcb 36 36 # 37 # Jump to aprogram entry point38 program_run:37 # Jump to program entry point 38 entry_point_jmp: 39 39 # Pass pcb to the entry point in r2 40 40 -
uspace/lib/c/arch/mips32/Makefile.inc
ra71d2630 rf798178 29 29 ARCH_SOURCES = \ 30 30 arch/$(UARCH)/src/entry.s \ 31 arch/$(UARCH)/src/entryjmp.s \ 31 32 arch/$(UARCH)/src/thread_entry.s \ 32 33 arch/$(UARCH)/src/syscall.c \ -
uspace/lib/c/arch/mips32/_link.ld.in
ra71d2630 rf798178 3 3 4 4 PHDRS { 5 #ifdef LOADER 6 interp PT_INTERP; 7 text PT_LOAD FILEHDR PHDRS FLAGS(5); 8 #else 5 9 text PT_LOAD FLAGS(5); 10 #endif 6 11 data PT_LOAD FLAGS(6); 7 12 } 8 13 9 14 SECTIONS { 15 #ifdef LOADER 16 .interp : { 17 *(.interp); 18 } :interp 19 20 . = 0x70004000 + SIZEOF_HEADERS; 21 #else 10 22 . = 0x4000 + SIZEOF_HEADERS; 11 23 #endif 12 24 .init : { 13 25 *(.init); -
uspace/lib/c/arch/mips32/src/entryjmp.s
ra71d2630 rf798178 29 29 .text 30 30 .section .text 31 .global program_run31 .global entry_point_jmp 32 32 .set noreorder 33 33 34 ## void program_run(void *entry_point, void *pcb);34 ## void entry_point_jmp(void *entry_point, void *pcb); 35 35 # 36 36 # $a0 (=$4) contains entry_point 37 37 # $a1 (=$5) contains pcb 38 38 # 39 # Jump to aprogram entry point40 .ent program_run41 program_run:39 # Jump to program entry point 40 .ent entry_point_jmp 41 entry_point_jmp: 42 42 # tmp := entry_point 43 43 move $25, $a0 -
uspace/lib/c/arch/mips32eb/Makefile.inc
ra71d2630 rf798178 29 29 ARCH_SOURCES = \ 30 30 arch/$(UARCH)/src/entry.s \ 31 arch/$(UARCH)/src/entryjmp.s \ 31 32 arch/$(UARCH)/src/thread_entry.s \ 32 33 arch/$(UARCH)/src/syscall.c \ -
uspace/lib/c/arch/ppc32/Makefile.inc
ra71d2630 rf798178 29 29 ARCH_SOURCES = \ 30 30 arch/$(UARCH)/src/entry.s \ 31 arch/$(UARCH)/src/entryjmp.s \ 31 32 arch/$(UARCH)/src/thread_entry.s \ 32 33 arch/$(UARCH)/src/syscall.c \ -
uspace/lib/c/arch/ppc32/_link.ld.in
ra71d2630 rf798178 3 3 4 4 PHDRS { 5 #ifdef LOADER 6 interp PT_INTERP; 7 text PT_LOAD FILEHDR PHDRS FLAGS(5); 8 #else 5 9 text PT_LOAD FLAGS(5); 10 #endif 6 11 data PT_LOAD FLAGS(6); 7 12 } 8 13 9 14 SECTIONS { 15 #ifdef LOADER 16 .itnerp : { 17 *(.interp); 18 } :interp 19 20 . = 0x70001000 + SIZEOF_HEADERS; 21 #else 10 22 . = 0x1000 + SIZEOF_HEADERS; 11 23 #endif 12 24 .init : { 13 25 *(.init); -
uspace/lib/c/arch/ppc32/src/entryjmp.s
ra71d2630 rf798178 27 27 # 28 28 29 .globl program_run29 .globl entry_point_jmp 30 30 31 ## void program_run(void *entry_point, void *pcb);31 ## void entry_point_jmp(void *entry_point, void *pcb); 32 32 # 33 33 # %r3 contains entry_point 34 34 # %r4 contains pcb 35 35 # 36 # Jump to aprogram entry point37 program_run:36 # Jump to program entry point 37 entry_point_jmp: 38 38 mtctr %r3 39 39 mr %r6, %r4 # Pass pcb to the entry point in %r6 -
uspace/lib/c/arch/sparc64/Makefile.inc
ra71d2630 rf798178 29 29 ARCH_SOURCES = \ 30 30 arch/$(UARCH)/src/entry.s \ 31 arch/$(UARCH)/src/entryjmp.s \ 31 32 arch/$(UARCH)/src/thread_entry.s \ 32 33 arch/$(UARCH)/src/fibril.S \ -
uspace/lib/c/arch/sparc64/_link.ld.in
ra71d2630 rf798178 3 3 4 4 PHDRS { 5 #ifdef LOADER 6 interp PT_INTERP; 7 text PT_LOAD FILEHDR PHDRS FLAGS(5); 8 #else 5 9 text PT_LOAD FLAGS(5); 10 #endif 6 11 data PT_LOAD FLAGS(6); 7 12 } 8 13 9 14 SECTIONS { 15 #ifdef LOADER 16 .interp : { 17 *(.interp); 18 } :interp 19 20 . = 0x70004000 + SIZEOF_HEADERS; 21 #else 10 22 . = 0x4000 + SIZEOF_HEADERS; 11 23 #endif 12 24 .init : { 13 25 *(.init); -
uspace/lib/c/arch/sparc64/src/entryjmp.s
ra71d2630 rf798178 27 27 # 28 28 29 .globl program_run29 .globl entry_point_jmp 30 30 31 ## void program_run(void *entry_point, void *pcb);31 ## void entry_point_jmp(void *entry_point, void *pcb); 32 32 # 33 33 # %o0 contains entry_point 34 34 # %o1 contains pcb 35 35 # 36 # Jump to aprogram entry point37 program_run:36 # Jump to program entry point 37 entry_point_jmp: 38 38 # Pass pcb pointer to entry point in %o1. As it is already 39 39 # there, no action is needed.
Note:
See TracChangeset
for help on using the changeset viewer.