Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 314 → Rev 315

/SPARTAN/trunk/arch/ia32/include/mm/vm.h
31,13 → 31,13
 
#include <arch/types.h>
 
#define KERNEL_ADDRESS_SPACE_START_ARCH (__address) 0x80000000
#define KERNEL_ADDRESS_SPACE_END_ARCH (__address) 0xffffffff
#define USER_ADDRESS_SPACE_START_ARCH (__address) 0x00000000
#define USER_ADDRESS_SPACE_END_ARCH (__address) 0x7fffffff
#define KERNEL_ADDRESS_SPACE_START_ARCH ((__address) 0x80000000)
#define KERNEL_ADDRESS_SPACE_END_ARCH ((__address) 0xffffffff)
#define USER_ADDRESS_SPACE_START_ARCH ((__address) 0x00000000)
#define USER_ADDRESS_SPACE_END_ARCH ((__address) 0x7fffffff)
 
#define UTEXT_ADDRESS_ARCH 0x00001000
#define USTACK_ADDRESS_ARCH (0x7fffffff-(PAGE_SIZE-1))
#define USTACK_ADDRESS_ARCH (USER_ADDRESS_SPACE_END_ARCH-(PAGE_SIZE-1))
#define UDATA_ADDRESS_ARCH 0x21000000
 
#endif
/SPARTAN/trunk/arch/ia32/src/userspace.c
45,8 → 45,8
pri = cpu_priority_high();
 
__asm__ volatile (""
/* CLNT */
__asm__ volatile (
/* CLNT */
"pushfl;"
"pop %%eax;"
"and $0xFFFFBFFF,%%eax;"
59,7 → 59,9
"pushl %3\n"
"pushl %4\n"
"iret"
: : "i" (selector(UDATA_DES) | PL_USER), "i" (USTACK_ADDRESS+(THREAD_STACK_SIZE-1)), "r" (pri), "i" (selector(UTEXT_DES) | PL_USER), "i" (UTEXT_ADDRESS));
:
: "i" (selector(UDATA_DES) | PL_USER), "r" (USTACK_ADDRESS+(THREAD_STACK_SIZE)), "r" (pri), "i" (selector(UTEXT_DES) | PL_USER), "i" (UTEXT_ADDRESS)
: "eax");
/* Unreachable */
for(;;);