Changeset 40cb845e in mainline for uspace/lib/libc/arch/amd64
- Timestamp:
- 2009-12-30T19:21:45Z (16 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a7a0417
- Parents:
- 26b50cb (diff), f0452536 (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/libc/arch/amd64
- Files:
-
- 1 added
- 4 edited
-
Makefile.inc (modified) (1 diff)
-
include/fibril.h (modified) (1 diff)
-
src/entry.s (modified) (1 diff)
-
src/stacktrace.S (added)
-
src/thread_entry.s (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/libc/arch/amd64/Makefile.inc
r26b50cb r40cb845e 36 36 ARCH_SOURCES += arch/$(UARCH)/src/syscall.S \ 37 37 arch/$(UARCH)/src/fibril.S \ 38 arch/$(UARCH)/src/tls.c 38 arch/$(UARCH)/src/tls.c \ 39 arch/$(UARCH)/src/stacktrace.S 39 40 41 GCC_CFLAGS += -fno-omit-frame-pointer 40 42 LFLAGS += -N 41 43 -
uspace/lib/libc/arch/amd64/include/fibril.h
r26b50cb r40cb845e 44 44 #define SP_DELTA 16 45 45 46 #define context_set(c, _pc, stack, size, ptls) \ 47 do { \ 48 (c)->pc = (sysarg_t) (_pc); \ 49 (c)->sp = ((sysarg_t) (stack)) + (size) - SP_DELTA; \ 50 (c)->tls = (sysarg_t) (ptls); \ 51 (c)->rbp = 0; \ 52 } while (0) 53 46 54 /* We include only registers that must be preserved 47 55 * during function call -
uspace/lib/libc/arch/amd64/src/entry.s
r26b50cb r40cb845e 38 38 # 39 39 __entry: 40 # 41 # Create the first stack frame. 42 # 43 pushq $0 44 mov %rsp, %rbp 45 40 46 # %rdi was deliberately chosen as the first argument is also in %rdi 41 47 # Pass PCB pointer to __main (no operation) -
uspace/lib/libc/arch/amd64/src/thread_entry.s
r26b50cb r40cb845e 36 36 __thread_entry: 37 37 # 38 # Create the first stack frame. 39 # 40 pushq $0 41 movq %rsp, %rbp 42 43 # 38 44 # RAX contains address of uarg 39 45 #
Note:
See TracChangeset
for help on using the changeset viewer.
