- Timestamp:
- 2016-04-11T17:03:47Z (9 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 3b0f1b9a
- Parents:
- 3a34852
- Location:
- uspace/lib/c/arch/ia32
- Files:
-
- 4 edited
- 2 moved
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/arch/ia32/Makefile.inc
r3a34852 r8844e70 29 29 ARCH_SOURCES = \ 30 30 arch/$(UARCH)/src/entry.S \ 31 arch/$(UARCH)/src/entryjmp. s\32 arch/$(UARCH)/src/thread_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/ia32/src/entry.S
r3a34852 r8844e70 27 27 # 28 28 29 #include <abi/asmtool.h> 30 29 31 INTEL_CPUID_STANDARD = 1 30 32 INTEL_SEP = 11 … … 34 36 .org 0 35 37 36 .globl __entry37 38 38 ## User-space task entry point 39 39 # 40 40 # %edi contains the PCB pointer 41 41 # 42 __entry: 42 SYMBOL(__entry) 43 43 mov %ss, %ax 44 44 mov %ax, %ds -
uspace/lib/c/arch/ia32/src/entryjmp.S
r3a34852 r8844e70 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); 32 32 # 33 33 # Jump to program entry point 34 entry_point_jmp: 34 SYMBOL(entry_point_jmp) 35 35 # Use standard ia32 prologue not to confuse anybody 36 36 push %ebp -
uspace/lib/c/arch/ia32/src/stacktrace_asm.S
r3a34852 r8844e70 27 27 # 28 28 29 #include <abi/asmtool.h> 30 29 31 .text 30 32 31 .global stacktrace_prepare 32 .global stacktrace_fp_get33 .global stacktrace_pc_get 33 FUNCTION_BEGIN(stacktrace_prepare) 34 ret 35 FUNCTION_END(stacktrace_prepare) 34 36 35 stacktrace_prepare: 36 ret 37 38 stacktrace_fp_get: 37 FUNCTION_BEGIN(stacktrace_fp_get) 39 38 movl %ebp, %eax 40 39 ret 40 FUNCTION_END(stacktrace_fp_get) 41 41 42 stacktrace_pc_get: 42 FUNCTION_BEGIN(stacktrace_pc_get) 43 43 movl (%esp), %eax 44 44 ret 45 FUNCTION_END(stacktrace_pc_get) -
uspace/lib/c/arch/ia32/src/syscall.S
r3a34852 r8844e70 27 27 # 28 28 29 #include <abi/asmtool.h> 30 29 31 .data 30 32 31 .global __syscall_fast_func 32 __syscall_fast_func: 33 OBJECT_BEGIN(__syscall_fast_func) 33 34 .long __syscall_slow 34 .size __syscall_fast_func, . - __syscall_fast_func 35 OBJECT_END(__syscall_fast_func) 35 36 36 37 .text … … 42 43 * could benefit from this and not save unused registers on the stack. 43 44 */ 44 .global __syscall_slow 45 __syscall_slow: 45 FUNCTION_BEGIN(__syscall_slow) 46 46 pushl %ebx 47 47 pushl %esi … … 61 61 popl %ebx 62 62 ret 63 FUNCTION_END(__syscall_slow) 63 64 64 65 … … 71 72 * segment, otherwise the SYSENTER wouldn't work in the first place). 72 73 */ 73 .global __syscall_fast 74 .type __syscall_fast, @function 75 76 __syscall_fast: 74 FUNCTION_BEGIN(__syscall_fast) 77 75 pushl %ebx 78 76 pushl %esi … … 98 96 popl %ebx 99 97 ret 100 101 .size __syscall_fast, . - __syscall_fast 98 FUNCTION_END(__syscall_fast) -
uspace/lib/c/arch/ia32/src/thread_entry.S
r3a34852 r8844e70 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_BEGIN(__thread_entry) 37 37 mov %ss, %dx 38 38 mov %dx, %ds … … 57 57 # Not reached. 58 58 # 59 60 .end __thread_entry 59 SYMBOL_END(__thread_entry)
Note:
See TracChangeset
for help on using the changeset viewer.