- Timestamp:
- 2016-04-22T20:43:34Z (9 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a52e2f4
- Parents:
- 054476d
- Location:
- uspace/lib/c/arch/ia64
- Files:
-
- 4 edited
- 3 moved
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/arch/ia64/Makefile.inc
r054476d r27f67f5 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/syscall.S \ 34 34 arch/$(UARCH)/src/fibril.S \ -
uspace/lib/c/arch/ia64/src/entry.S
r054476d r27f67f5 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 … … 37 37 # r2 contains the PCB pointer 38 38 # 39 __entry: 39 SYMBOL(__entry) 40 40 alloc loc0 = ar.pfs, 0, 1, 2, 0 41 41 movl gp = __gp … … 44 44 mov out0 = r2 45 45 br.call.sptk.many b0 = __main 46 -
uspace/lib/c/arch/ia64/src/entryjmp.S
r054476d r27f67f5 27 27 # 28 28 29 #include <abi/asmtool.h> 30 29 31 .text 30 32 .explicit 31 .globl entry_point_jmp32 33 33 34 ## void entry_point_jmp(void *entry_point, void *pcb); … … 37 38 # 38 39 # Jump to program entry point 39 entry_point_jmp: 40 SYMBOL(entry_point_jmp) 40 41 # Pass pcb to the entry point in r2 41 42 -
uspace/lib/c/arch/ia64/src/fibril.S
r054476d r27f67f5 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 alloc loc0 = ar.pfs, 1, 49, 0, 0 38 36 mov loc1 = ar.unat ;; … … 182 180 add r8 = r0, r0, 1 /* context_save returns 1 */ 183 181 br.ret.sptk.many b0 184 185 context_restore: 182 FUNCTION_END(context_save) 183 184 FUNCTION_BEGIN(context_restore) 186 185 alloc loc0 = ar.pfs, 1, 50, 0, 0 ;; 187 186 … … 338 337 mov r8 = r0 /* context_restore returns 0 */ 339 338 br.ret.sptk.many b0 339 FUNCTION_END(context_restore) 340 -
uspace/lib/c/arch/ia64/src/stacktrace_asm.S
r054476d r27f67f5 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 br.ret.sptk.many b0 35 FUNCTION_END(stacktrace_prepare) 34 36 35 stacktrace_prepare: 36 br.ret.sptk.many b0 37 38 stacktrace_fp_get: 39 stacktrace_pc_get: 37 FUNCTION_BEGIN(stacktrace_fp_get) 38 FUNCTION_BEGIN(stacktrace_pc_get) 40 39 mov r8 = r0 41 40 br.ret.sptk.many b0 41 FUNCTION_END(stacktrace_fp_get) 42 FUNCTION_END(stacktrace_pc_get) 43 -
uspace/lib/c/arch/ia64/src/syscall.S
r054476d r27f67f5 27 27 # 28 28 29 #include <abi/asmtool.h> 30 29 31 /** 30 32 * Immediate operand for break instruction. … … 37 39 #define SYSCALL_IMM 1 38 40 39 .global __syscall 40 __syscall: 41 FUNCTION_BEGIN(__syscall) 41 42 alloc r14 = ar.pfs, 7, 0, 0, 0 ;; 42 43 break SYSCALL_IMM 43 44 mov ar.pfs = r14 ;; 44 45 br.ret.sptk.many b0 46 FUNCTION_END(__syscall) 47 -
uspace/lib/c/arch/ia64/src/thread_entry.S
r054476d r27f67f5 27 27 # 28 28 29 #include <abi/asmtool.h> 30 29 31 .text 30 31 .globl __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 alloc loc0 = ar.pfs, 0, 1, 1, 0 38 38 … … 49 49 # Not reached. 50 50 # 51 52 .end __thread_entry 51
Note:
See TracChangeset
for help on using the changeset viewer.