Changeset 371bd7d in mainline for uspace/lib/c/arch/sparc64/src
- Timestamp:
- 2010-03-27T09:22:17Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 36a75a2
- Parents:
- cd82bb1 (diff), eaf22d4 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- uspace/lib/c/arch/sparc64/src
- Files:
-
- 2 added
- 4 moved
-
entry.s (moved) (moved from uspace/lib/libc/arch/sparc64/src/entry.s ) (1 diff)
-
fibril.S (moved) (moved from uspace/lib/libc/arch/sparc64/src/fibril.S ) (2 diffs)
-
stacktrace.c (added)
-
stacktrace_asm.S (added)
-
thread_entry.s (moved) (moved from uspace/lib/libc/arch/sparc64/src/thread_entry.s ) (1 diff)
-
tls.c (moved) (moved from uspace/lib/libc/arch/sparc64/src/tls.c )
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/arch/sparc64/src/entry.s
rcd82bb1 r371bd7d 39 39 # 40 40 __entry: 41 # 42 # Create the first stack frame. 43 # 44 save %sp, -176, %sp 45 flushw 46 add %g0, -0x7ff, %fp 47 41 48 # Pass pcb_ptr as the first argument to __main() 42 mov % o1, %o049 mov %i1, %o0 43 50 sethi %hi(_gp), %l7 44 51 call __main -
uspace/lib/c/arch/sparc64/src/fibril.S
rcd82bb1 r371bd7d 35 35 36 36 context_save: 37 # 38 # We rely on the kernel to flush our active register windows to memory 39 # should a thread switch occur. 40 # 37 41 CONTEXT_SAVE_ARCH_CORE %o0 38 42 retl … … 42 46 # 43 47 # Flush all active windows. 44 # This is essential, because CONTEXT_LOAD overwrites 45 # %sp of CWP - 1 with the value written to %fp of CWP. 46 # Flushing all active windows mitigates this problem 47 # as CWP - 1 becomes the overlap window. 48 # 48 # This is essential, because CONTEXT_RESTORE_ARCH_CORE overwrites %sp of 49 # CWP - 1 with the value written to %fp of CWP. Flushing all active 50 # windows mitigates this problem as CWP - 1 becomes the overlap window. 51 # 49 52 flushw 50 53 -
uspace/lib/c/arch/sparc64/src/thread_entry.s
rcd82bb1 r371bd7d 35 35 # 36 36 __thread_entry: 37 # 38 # Create the first stack frame. 39 # 40 41 #save %sp, -176, %sp 42 #flushw 43 #add %g0, -0x7ff, %fp 44 37 45 sethi %hi(_gp), %l7 38 46 call __thread_main ! %o0 contains address of uarg
Note:
See TracChangeset
for help on using the changeset viewer.
