Changeset c98e6ee in mainline for kernel/arch


Ignore:
Timestamp:
2008-07-08T16:05:45Z (18 years ago)
Author:
Jiri Svoboda <jirik.svoboda@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f93f168
Parents:
b7f9087
Message:

Merge program-loader related stuff from dynload branch to trunk. (huge)

Location:
kernel/arch
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/amd64/src/userspace.c

    rb7f9087 rc98e6ee  
    6262                          "pushq %4\n"
    6363                          "movq %5, %%rax\n"
     64                          /* %rdi is defined to hold pcb_ptr - set it to 0 */
     65                          "xorq %%rdi, %%rdi\n"
    6466                          "iretq\n"
    6567                          : :
  • kernel/arch/arm32/src/userspace.c

    rb7f9087 rc98e6ee  
    7171        ustate.r0 = (uintptr_t) kernel_uarg->uspace_uarg;
    7272
     73        /* %r1 is defined to hold pcb_ptr - set it to 0 */
     74        ustate.r1 = 0;
     75
    7376        /* clear other registers */
    74         ustate.r1 = ustate.r2 = ustate.r3  = ustate.r4  = ustate.r5 =
     77        ustate.r2 = ustate.r3  = ustate.r4  = ustate.r5 =
    7578            ustate.r6  = ustate.r7  = ustate.r8  = ustate.r9 = ustate.r10 =
    7679            ustate.r11 = ustate.r12 = ustate.lr = 0;
  • kernel/arch/ia32/src/userspace.c

    rb7f9087 rc98e6ee  
    7171                "pushl %4\n"
    7272                "movl %5, %%eax\n"
     73
     74                /* %ebx is defined to hold pcb_ptr - set it to 0 */
     75                "xorl %%ebx, %%ebx\n"   
     76
    7377                "iret\n"
    7478                :
  • kernel/arch/ia32xen/src/userspace.c

    rb7f9087 rc98e6ee  
    6969                "pushl %4\n"
    7070                "movl %5, %%eax\n"
     71
     72                /* %ebx is defined to hold pcb_ptr - set it to 0 */
     73                "xorl %%ebx, %%ebx\n"
     74
    7175                "iret\n"
    7276                :
  • kernel/arch/ia64/src/asm.S

    rb7f9087 rc98e6ee  
    164164        xor r1 = r1, r1
    165165       
     166        /* r2 is defined to hold pcb_ptr - set it to 0 */
     167        xor r2 = r2, r2
     168       
    166169        mov loc1 = cr.ifs
    167170        movl loc2 = PFM_MASK ;;
  • kernel/arch/mips32/src/start.S

    rb7f9087 rc98e6ee  
    350350        add $sp, $a0, 0
    351351        add $v0, $a1, 0
    352         add $t9, $a2, 0                 # Set up correct entry into PIC code
    353         eret
     352        add $t9, $a2, 0                 # Set up correct entry into PIC code
     353        xor $a0, $a0, $a0               # $a0 is defined to hold pcb_ptr
     354                                        # set it to 0
     355        eret
  • kernel/arch/ppc32/src/asm.S

    rb7f9087 rc98e6ee  
    6666       
    6767        mr sp, r4
     68
     69        # %r3 is defined to hold pcb_ptr - set it to 0
     70
     71        xor r3, r3, r3
    6872       
    6973        # jump to userspace
  • kernel/arch/ppc64/src/asm.S

    rb7f9087 rc98e6ee  
    6767        mr sp, r4
    6868       
     69        # %r3 is defined to hold pcb_ptr - set it to 0
     70
     71        xor r3, r3, r3
     72
    6973        # jump to userspace
    7074       
  • kernel/arch/sparc64/src/asm.S

    rb7f9087 rc98e6ee  
    275275
    276276        mov %i2, %o0                    ! uarg
     277        xor %o1, %o1, %o1               ! %o1 is defined to hold pcb_ptr
     278                                        ! set it to 0
    277279
    278280        clr %i2
Note: See TracChangeset for help on using the changeset viewer.