Changeset 50286ec in mainline
- Timestamp:
- 2010-01-01T20:54:24Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 5434000, a7a0417
- Parents:
- f0452536
- Location:
- uspace/lib/libc/arch/arm32
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/libc/arch/arm32/Makefile.inc
rf0452536 r50286ec 40 40 arch/$(UARCH)/src/stacktrace.S 41 41 42 GCC_CFLAGS += -ffixed-r9 -mtp=soft 42 GCC_CFLAGS += -ffixed-r9 -mtp=soft -mapcs-frame -fno-omit-frame-pointer 43 43 LFLAGS += -N $(SOFTINT_PREFIX)/libsoftint.a 44 44 -
uspace/lib/libc/arch/arm32/include/fibril.h
rf0452536 r50286ec 58 58 * @param ptls Pointer to the TCB. 59 59 */ 60 #define context_set(c, _pc, stack, size, ptls) \ 61 (c)->pc = (sysarg_t) (_pc); \ 62 (c)->sp = ((sysarg_t) (stack)) + (size) - SP_DELTA; \ 63 (c)->tls = ((sysarg_t)(ptls)) + sizeof(tcb_t) + ARM_TP_OFFSET; 64 60 #define context_set(c, _pc, stack, size, ptls) \ 61 do { \ 62 (c)->pc = (sysarg_t) (_pc); \ 63 (c)->sp = ((sysarg_t) (stack)) + (size) - SP_DELTA; \ 64 (c)->tls = ((sysarg_t)(ptls)) + sizeof(tcb_t) + ARM_TP_OFFSET; \ 65 (c)->fp = 0; \ 66 } while (0) 65 67 66 68 /** Fibril context. … … 79 81 uint32_t r7; 80 82 uint32_t r8; 81 uint32_t tls; 83 uint32_t tls; /* r9 */ 82 84 uint32_t r10; 83 uint32_t r11;85 uint32_t fp; /* r11 */ 84 86 } context_t; 85 87 -
uspace/lib/libc/arch/arm32/src/entry.s
rf0452536 r50286ec 43 43 str r2, [r0] 44 44 45 # 46 # Create the first stack frame. 47 # 48 mov fp, #0 49 mov ip, sp 50 push {fp, ip, lr, pc} 51 sub fp, ip, #4 52 45 53 # Pass pcb_ptr to __main as the first argument (in r0) 46 54 mov r0, r1 -
uspace/lib/libc/arch/arm32/src/stacktrace.S
rf0452536 r50286ec 36 36 37 37 frame_pointer_get: 38 frame_pointer_prev: 39 frame_pointer_validate: 40 return_address_get: 41 program_counter_get: 42 mov r0, #0 38 mov r0, fp 43 39 mov pc, lr 44 40 41 frame_pointer_prev: 42 ldr r0, [r0, #-12] 43 mov pc, lr 44 45 frame_pointer_validate: 46 mov pc, lr 47 48 return_address_get: 49 ldr r0, [r0, #-4] 50 mov pc, lr 51 52 program_counter_get: 53 mov r0, lr 54 mov pc, lr 55 -
uspace/lib/libc/arch/arm32/src/thread_entry.s
rf0452536 r50286ec 35 35 # 36 36 __thread_entry: 37 # 38 # Create the first stack frame. 39 # 40 mov fp, #0 41 mov ip, sp 42 push {fp, ip, lr, pc} 43 sub fp, ip, #4 44 37 45 b __thread_main
Note:
See TracChangeset
for help on using the changeset viewer.