Changes in / [40cb845e:a7a0417] in mainline
- Location:
- uspace/lib/libc/arch/arm32
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/libc/arch/arm32/Makefile.inc
r40cb845e ra7a0417 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
r40cb845e ra7a0417 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
r40cb845e ra7a0417 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
r40cb845e ra7a0417 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
r40cb845e ra7a0417 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.