Changeset 0f250f9 in mainline for arch/ia32/src/userspace.c


Ignore:
Timestamp:
2006-03-17T18:07:56Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
69f293e
Parents:
6c6a19e6
Message:

Improved uspace threads.
ia64 needs fixing.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/ia32/src/userspace.c

    r6c6a19e6 r0f250f9  
    3131#include <arch/types.h>
    3232#include <arch.h>
    33 #include <proc/thread.h>
     33#include <proc/uarg.h>
    3434#include <mm/as.h>
    3535
     
    4040 *
    4141 */
    42 void userspace(uspace_arg_t *uarg)
     42void userspace(uspace_arg_t *kernel_uarg)
    4343{
    4444        ipl_t ipl;
     
    4747
    4848        __asm__ volatile (
    49                 /* CLNT */
     49                /*
     50                 * Clear nested task flag.
     51                 */
    5052                "pushfl\n"
    5153                "pop %%eax\n"
    52                 "and $0xffffbfff,%%eax\n"
     54                "and $0xffffbfff, %%eax\n"
    5355                "push %%eax\n"
    5456                "popfl\n"
     
    5961                "pushl %3\n"
    6062                "pushl %4\n"
     63                "movl %5, %%eax\n"
    6164                "iret"
    6265                :
    63                 : "i" (selector(UDATA_DES) | PL_USER), "r" (uarg->uspace_stack+THREAD_STACK_SIZE),
    64                   "r" (ipl), "i" (selector(UTEXT_DES) | PL_USER), "r" (uarg->uspace_entry)
     66                : "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),
     68                  "r" (kernel_uarg->uspace_uarg)
    6569                : "eax");
    6670       
Note: See TracChangeset for help on using the changeset viewer.