rem: addr_t ustack_top = t->user_stack_base + STACK_SIZE;
add: addr_t ustack_top = t->user_stack_base + t->user_stack_size;
context: arch_thread_enter_uspace(struct thread *t, addr_t entry, void *args1, void *args2){	addr_t ustack_top = t->user_stack_base + STACK_SIZE;	TRACE(("arch_thread_enter_uspace: entry 0x%lx, args %p %p, ustack_top 0x%lx\n",		entry, args1, args2, ustack_top));	// make sure the fpu is in a good state	asm("fninit");	// access the new stack to make sure the memory page is present	// while interrupts are disabled.	// XXX does this belong there, should caller take care of it?	*(uint32 *)(ustack_top - 8) = 0;	disable_interrupts();	i386_set_tss_and_kstack(t->kernel_stack_base + KSTACK_SIZE);	// set the CPU dependent GDT entry for TLS	set_tls_context(t);	i386_enter_uspace(entry, args1, args2, ustack_top - 4);}