- Timestamp:
- 2016-04-21T20:00:18Z (9 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 054476d
- Parents:
- 96521f2f
- Location:
- uspace/lib/c/arch/arm32
- Files:
-
- 4 edited
- 3 moved
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/arch/arm32/Makefile.inc
r96521f2f r73b3ecd 29 29 30 30 ARCH_SOURCES = \ 31 arch/$(UARCH)/src/entry. s\32 arch/$(UARCH)/src/entryjmp. s\33 arch/$(UARCH)/src/thread_entry. s\31 arch/$(UARCH)/src/entry.S \ 32 arch/$(UARCH)/src/entryjmp.S \ 33 arch/$(UARCH)/src/thread_entry.S \ 34 34 arch/$(UARCH)/src/syscall.c \ 35 35 arch/$(UARCH)/src/fibril.S \ -
uspace/lib/c/arch/arm32/src/eabi.S
r96521f2f r73b3ecd 27 27 # 28 28 29 #include <abi/asmtool.h> 30 29 31 .text 30 32 31 .global __aeabi_read_tp 32 33 .global __aeabi_idiv 34 .global __aeabi_uidiv 35 36 .global __aeabi_idivmod 37 .global __aeabi_uidivmod 38 39 .global __aeabi_ldivmod 40 .global __aeabi_uldivmod 41 42 __aeabi_read_tp: 33 FUNCTION_BEGIN(__aeabi_read_tp) 43 34 mov r0, r9 44 35 mov pc, lr 36 FUNCTION_END(__aeabi_read_tp) 45 37 46 __aeabi_idiv: 38 FUNCTION_BEGIN(__aeabi_idiv) 47 39 push {lr} 48 40 bl __divsi3 49 41 pop {lr} 50 42 mov pc, lr 43 FUNCTION_END(__aeabi_idiv) 51 44 52 __aeabi_uidiv: 45 FUNCTION_BEGIN(__aeabi_uidiv) 53 46 push {lr} 54 47 bl __udivsi3 55 48 pop {lr} 56 49 mov pc, lr 50 FUNCTION_END(__aeabi_uidiv) 57 51 58 __aeabi_idivmod: 52 FUNCTION_BEGIN(__aeabi_idivmod) 59 53 push {lr} 60 54 sub sp, sp, #12 … … 65 59 pop {lr} 66 60 mov pc, lr 61 FUNCTION_END(__aeabi_idivmod) 67 62 68 __aeabi_uidivmod: 63 FUNCTION_BEGIN(__aeabi_uidivmod) 69 64 push {lr} 70 65 sub sp, sp, #12 … … 75 70 pop {lr} 76 71 mov pc, lr 72 FUNCTION_END(__aeabi_uidivmod) 77 73 78 __aeabi_ldivmod: 74 FUNCTION_BEGIN(__aeabi_ldivmod) 79 75 push {lr} 80 76 sub sp, sp, #24 … … 86 82 pop {lr} 87 83 mov pc, lr 84 FUNCTION_END(__aeabi_ldivmod) 88 85 89 __aeabi_uldivmod: 86 FUNCTION_BEGIN(__aeabi_uldivmod) 90 87 push {lr} 91 88 sub sp, sp, #24 … … 97 94 pop {lr} 98 95 mov pc, lr 96 FUNCTION_END(__aeabi_uldivmod) 97 -
uspace/lib/c/arch/arm32/src/entry.S
r96521f2f r73b3ecd 27 27 # 28 28 29 #include <abi/asmtool.h> 30 29 31 .section .init, "ax" 30 32 31 33 .org 0 32 33 .global __entry34 34 35 35 ## User-space task entry point … … 38 38 # r2 contains the RAS page address 39 39 # 40 __entry: 40 SYMBOL(__entry) 41 41 # Store the RAS page address into the ras_page variable 42 42 ldr r0, =ras_page … … 57 57 .data 58 58 59 .global ras_page 60 ras_page: 59 SYMBOL(ras_page) 61 60 .long 0 -
uspace/lib/c/arch/arm32/src/entryjmp.S
r96521f2f r73b3ecd 27 27 # 28 28 29 .globl entry_point_jmp 29 #include <abi/asmtool.h> 30 30 31 31 ## void entry_point_jmp(void *entry_point, void *pcb); … … 35 35 # 36 36 # Jump to program entry point 37 entry_point_jmp: 37 SYMBOL(entry_point_jmp) 38 38 # load ras_page address to r2 39 39 ldr r2, =ras_page -
uspace/lib/c/arch/arm32/src/fibril.S
r96521f2f r73b3ecd 27 27 # 28 28 29 #include <abi/asmtool.h> 30 29 31 .text 30 32 31 .global context_save 32 .global context_restore 33 34 context_save: 33 FUNCTION_BEGIN(context_save) 35 34 stmia r0!, {sp, lr} 36 35 stmia r0!, {r4-r11} … … 39 38 mov r0, #1 40 39 mov pc, lr 40 FUNCTION_END(context_save) 41 41 42 context_restore: 42 FUNCTION_BEGIN(context_restore) 43 43 ldmia r0!, {sp, lr} 44 44 ldmia r0!, {r4-r11} … … 47 47 mov r0, #0 48 48 mov pc, lr 49 FUNCTION_END(context_restore) 49 50 -
uspace/lib/c/arch/arm32/src/stacktrace_asm.S
r96521f2f r73b3ecd 27 27 # 28 28 29 #include <abi/asmtool.h> 30 29 31 .text 30 32 31 .global stacktrace_prepare 32 .global stacktrace_fp_get 33 .global stacktrace_pc_get 33 FUNCTION_BEGIN(stacktrace_prepare) 34 mov pc, lr 35 FUNCTION_END(stacktrace_prepare) 34 36 35 stacktrace_prepare: 36 mov pc, lr 37 38 stacktrace_fp_get: 37 FUNCTION_BEGIN(stacktrace_fp_get) 39 38 mov r0, fp 40 39 mov pc, lr 40 FUNCTION_END(stacktrace_fp_get) 41 41 42 stacktrace_pc_get: 42 FUNCTION_BEGIN(stacktrace_pc_get) 43 43 mov r0, lr 44 44 mov pc, lr 45 FUNCTION_END(stacktrace_pc_get) 46 -
uspace/lib/c/arch/arm32/src/thread_entry.S
r96521f2f r73b3ecd 27 27 # 28 28 29 #include <abi/asmtool.h> 30 29 31 .text 30 31 .global __thread_entry32 32 33 33 ## User-space thread entry point for all but the first threads. 34 34 # 35 35 # 36 __thread_entry: 36 SYMBOL(__thread_entry) 37 37 # 38 38 # Create the first stack frame.
Note:
See TracChangeset
for help on using the changeset viewer.