Subversion Repositories HelenOS-historic

Rev

Rev 1104 | Rev 1121 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1104 Rev 1112
Line 53... Line 53...
53
        "pop %%eax\n"
53
        "pop %%eax\n"
54
        "and $0xffffbfff, %%eax\n"
54
        "and $0xffffbfff, %%eax\n"
55
        "push %%eax\n"
55
        "push %%eax\n"
56
        "popfl\n"
56
        "popfl\n"
57
 
57
 
-
 
58
        /* Set up GS register (TLS) */
-
 
59
        "movl %6, %%gs\n"
-
 
60
 
58
        "pushl %0\n"
61
        "pushl %0\n"
59
        "pushl %1\n"
62
        "pushl %1\n"
60
        "pushl %2\n"
63
        "pushl %2\n"
61
        "pushl %3\n"
64
        "pushl %3\n"
62
        "pushl %4\n"
65
        "pushl %4\n"
63
        "movl %5, %%eax\n"
66
        "movl %5, %%eax\n"
64
        "iret\n"
67
        "iret\n"
65
        :
68
        :
66
        : "i" (selector(UDATA_DES) | PL_USER), "r" (kernel_uarg->uspace_stack+THREAD_STACK_SIZE),
69
        : "i" (selector(UDATA_DES) | PL_USER), "r" (kernel_uarg->uspace_stack+THREAD_STACK_SIZE),
67
          "r" (ipl), "i" (selector(UTEXT_DES) | PL_USER), "r" (kernel_uarg->uspace_entry),
70
          "r" (ipl), "i" (selector(UTEXT_DES) | PL_USER), "r" (kernel_uarg->uspace_entry),
68
          "r" (kernel_uarg->uspace_uarg)
71
        "r" (kernel_uarg->uspace_uarg),
-
 
72
        "r" (selector(TLS_DES))
69
        : "eax");
73
        : "eax");
70
   
74
   
71
    /* Unreachable */
75
    /* Unreachable */
72
    for(;;)
76
    for(;;)
73
        ;
77
        ;