in arch/i386/kernel/smpboot.c:
stack_start.esp = (void *) (1024 + PAGE_SIZE + (char *)idle);
This causes problems when I switch to 4k stacks? What is supposed to
be going on here? Why point esp into the middle of the stack? If you
wanted to do that, why not just use PAGE_SIZE>>2?
In any case, I think THREAD_SIZE needs to be here instead of PAGE_SIZE.
-- Dave Hansen haveblue@us.ibm.com--------------020902030102020404000403 Content-Type: text/plain; name="fix-esp-2.5.51.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="fix-esp-2.5.51.patch"
--- linux-2.5.50/arch/i386/kernel/smpboot.c.bad Tue Dec 10 12:56:10 2002 +++ linux-2.5.50/arch/i386/kernel/smpboot.c Tue Dec 10 12:56:55 2002 @@ -806,7 +806,7 @@ /* So we see what's up */ printk("Booting processor %d/%d eip %lx\n", cpu, apicid, start_eip); - stack_start.esp = (void *) (1024 + PAGE_SIZE + (char *)idle->thread_info); + stack_start.esp = (void *) (THREAD_SIZE + (char *)idle->thread_info); /* * This grunge runs the startup process for
--------------020902030102020404000403--
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/