|
@@ -490,8 +490,8 @@ void map_stub_pages(int fd, unsigned long code,
|
|
|
void new_thread(void *stack, jmp_buf *buf, void (*handler)(void))
|
|
|
{
|
|
|
(*buf)[0].JB_IP = (unsigned long) handler;
|
|
|
- (*buf)[0].JB_SP = (unsigned long) stack +
|
|
|
- (PAGE_SIZE << UML_CONFIG_KERNEL_STACK_ORDER) - sizeof(void *);
|
|
|
+ (*buf)[0].JB_SP = (unsigned long) stack + UM_THREAD_SIZE -
|
|
|
+ sizeof(void *);
|
|
|
}
|
|
|
|
|
|
#define INIT_JMP_NEW_THREAD 0
|
|
@@ -533,8 +533,7 @@ int start_idle_thread(void *stack, jmp_buf *switch_buf)
|
|
|
case INIT_JMP_NEW_THREAD:
|
|
|
(*switch_buf)[0].JB_IP = (unsigned long) new_thread_handler;
|
|
|
(*switch_buf)[0].JB_SP = (unsigned long) stack +
|
|
|
- (PAGE_SIZE << UML_CONFIG_KERNEL_STACK_ORDER) -
|
|
|
- sizeof(void *);
|
|
|
+ UM_THREAD_SIZE - sizeof(void *);
|
|
|
break;
|
|
|
case INIT_JMP_CALLBACK:
|
|
|
(*cb_proc)(cb_arg);
|