Changeset a52e2f4 in mainline for uspace/lib/c
- Timestamp:
- 2016-04-23T20:27:28Z (9 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0407636
- Parents:
- 27f67f5
- Location:
- uspace/lib/c/arch/sparc64
- Files:
-
- 3 edited
- 3 moved
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/arch/sparc64/Makefile.inc
r27f67f5 ra52e2f4 28 28 29 29 ARCH_SOURCES = \ 30 arch/$(UARCH)/src/entry. s\31 arch/$(UARCH)/src/entryjmp. s\32 arch/$(UARCH)/src/thread_entry. s\30 arch/$(UARCH)/src/entry.S \ 31 arch/$(UARCH)/src/entryjmp.S \ 32 arch/$(UARCH)/src/thread_entry.S \ 33 33 arch/$(UARCH)/src/fibril.S \ 34 34 arch/$(UARCH)/src/tls.c \ -
uspace/lib/c/arch/sparc64/src/entry.S
r27f67f5 ra52e2f4 27 27 # 28 28 29 #include <abi/asmtool.h> 30 29 31 .section .init, "ax" 30 32 31 33 .org 0 32 33 .globl __entry34 34 35 35 ## User-space task entry point … … 38 38 # %o1 contains pcb_ptr 39 39 # 40 __entry: 40 SYMBOL(__entry) 41 41 # 42 42 # Create the first stack frame. -
uspace/lib/c/arch/sparc64/src/entryjmp.S
r27f67f5 ra52e2f4 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 # Pass pcb pointer to entry point in %o1. As it is already 39 39 # there, no action is needed. -
uspace/lib/c/arch/sparc64/src/fibril.S
r27f67f5 ra52e2f4 27 27 # 28 28 29 #include <abi/asmtool.h> 29 30 #include <libarch/fibril_context.h> 30 31 31 32 .text 32 33 33 .global context_save 34 .global context_restore 35 36 context_save: 34 FUNCTION_BEGIN(context_save) 37 35 # 38 36 # We rely on the kernel to flush our active register windows to memory … … 60 58 retl 61 59 mov 1, %o0 ! context_save_arch returns 1 60 FUNCTION_END(context_save) 62 61 63 context_restore: 62 FUNCTION_BEGIN(context_restore) 64 63 # 65 64 # Flush all active windows. … … 91 90 retl 92 91 xor %o0, %o0, %o0 ! context_restore_arch returns 0 92 FUNCTION_END(context_restore) -
uspace/lib/c/arch/sparc64/src/stacktrace_asm.S
r27f67f5 ra52e2f4 27 27 # 28 28 29 #include <abi/asmtool.h> 29 30 #include <libarch/stack.h> 30 31 31 32 .text 32 33 33 .global stacktrace_prepare 34 .global stacktrace_fp_get 35 .global stacktrace_pc_get 36 37 stacktrace_prepare: 34 FUNCTION_BEGIN(stacktrace_prepare) 38 35 save %sp, -(STACK_WINDOW_SAVE_AREA_SIZE+STACK_ARG_SAVE_AREA_SIZE), %sp 39 36 # Flush all other windows to memory so that we can read their contents. … … 41 38 ret 42 39 restore 40 FUNCTION_END(stacktrace_prepare) 43 41 44 stacktrace_fp_get: 42 FUNCTION_BEGIN(stacktrace_fp_get) 45 43 # Add the stack bias to %sp to get the actual address. 46 44 retl 47 45 add %sp, STACK_BIAS, %o0 46 FUNCTION_END(stacktrace_fp_get) 48 47 49 stacktrace_pc_get: 48 FUNCTION_BEGIN(stacktrace_pc_get) 50 49 retl 51 50 mov %o7, %o0 51 FUNCTION_END(stacktrace_pc_get) -
uspace/lib/c/arch/sparc64/src/thread_entry.S
r27f67f5 ra52e2f4 27 27 # 28 28 29 #include <abi/asmtool.h> 30 29 31 .text 30 32 31 .globl __thread_entry32 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. … … 52 52 53 53 ! not reached 54 55 .end __thread_entry
Note:
See TracChangeset
for help on using the changeset viewer.