Changeset c98e6ee in mainline for uspace/lib/libc/arch
- Timestamp:
- 2008-07-08T16:05:45Z (17 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f93f168
- Parents:
- b7f9087
- Location:
- uspace/lib/libc/arch
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/libc/arch/amd64/src/entry.s
rb7f9087 rc98e6ee 35 35 ## User-space task entry point 36 36 # 37 # %rdi contains the PCB pointer 37 38 # 38 39 __entry: 40 # %rdi was deliberately chosen as the first argument is also in %rdi 41 # Pass PCB pointer to __main (no operation) 39 42 call __main 40 call main 43 41 44 call __exit -
uspace/lib/libc/arch/arm32/src/entry.s
rb7f9087 rc98e6ee 35 35 ## User-space task entry point 36 36 # 37 # r1 contains the PCB pointer 37 38 # 38 39 __entry: 40 # Pass pcb_ptr to __main as the first argument (in r0) 41 mov r0, r1 39 42 bl __main 40 bl main 43 41 44 bl __exit -
uspace/lib/libc/arch/ia32/src/entry.s
rb7f9087 rc98e6ee 35 35 ## User-space task entry point 36 36 # 37 # %ebx contains the PCB pointer 37 38 # 38 39 __entry: … … 42 43 mov %ax, %fs 43 44 # Do not set %gs, it contains descriptor that can see TLS 44 45 46 # Pass the PCB pointer to __main as the first argument 47 pushl %ebx 45 48 call __main 46 call main 49 47 50 call __exit -
uspace/lib/libc/arch/ia64/src/entry.s
rb7f9087 rc98e6ee 35 35 ## User-space task entry point 36 36 # 37 # r2 contains the PCB pointer 37 38 # 38 39 __entry: 39 40 alloc loc0 = ar.pfs, 0, 1, 2, 0 40 mov r1 = _gp 41 mov r1 = _gp 42 43 # Pass PCB pointer as the first argument to __main 44 mov out0 = r2 41 45 br.call.sptk.many b0 = __main 42 46 0: 43 br.call.sptk.many b0 = main44 1:45 47 br.call.sptk.many b0 = __exit -
uspace/lib/libc/arch/mips32/src/entry.s
rb7f9087 rc98e6ee 36 36 ## User-space task entry point 37 37 # 38 # $a0 ($4) contains the PCB pointer 38 39 # 39 40 .ent __entry … … 41 42 .frame $sp, 32, $31 42 43 .cpload $25 43 44 44 45 45 # Mips o32 may store its arguments on stack, make space (16 bytes), 46 46 # so that it could work with -O0 … … 49 49 addiu $sp, -32 50 50 .cprestore 16 # Allow PIC code 51 51 52 # Pass pcb_ptr to __main() as the first argument. pcb_ptr is already 53 # in $a0. As the first argument is passed in $a0, no operation 54 # is needed. 55 52 56 jal __main 53 nop54 55 jal main56 57 nop 57 58 -
uspace/lib/libc/arch/ppc32/src/entry.s
rb7f9087 rc98e6ee 35 35 ## User-space task entry point 36 36 # 37 # r3 contains the PCB pointer 37 38 # 38 39 __entry: 40 # Pass the PCB pointer to __main() as the first argument. 41 # Since the first argument is passed in r3, no operation is needed. 39 42 bl __main 40 bl main 43 41 44 bl __exit -
uspace/lib/libc/arch/ppc64/src/entry.s
rb7f9087 rc98e6ee 32 32 33 33 .globl __entry 34 .globl __entry_driver35 34 36 35 ## User-space task entry point … … 39 38 __entry: 40 39 bl __main 41 bl __io_init42 bl main43 40 bl __exit 44 45 __entry_driver:46 bl __main47 bl main48 bl __exit -
uspace/lib/libc/arch/sparc64/src/entry.s
rb7f9087 rc98e6ee 35 35 ## User-space task entry point 36 36 # 37 # %o0 contains uarg 38 # %o1 contains pcb_ptr 37 39 # 38 40 __entry: 41 # Pass pcb_ptr as the first argument to __main() 42 mov %o1, %o0 39 43 sethi %hi(_gp), %l7 40 44 call __main 41 45 or %l7, %lo(_gp), %l7 42 call main 43 nop 46 44 47 call __exit 45 48 nop
Note:
See TracChangeset
for help on using the changeset viewer.