Messages in this thread |  | | | From | Denis Vlasenko <> | | Subject | Re: 4k stacks | | Date | Wed, 28 Dec 2005 17:16:42 +0200 |
| |
On Wednesday 28 December 2005 15:14, linux-os (Dick Johnson) wrote: > >> Anyway, getting down to 20 bytes of stack-space available > >> seems to be pretty scary. > > > > + movl %esp, %edi > > + movl %edi, %ecx > > + andl $~0x1000, %edi > > + subl %edi, %ecx > > > > ecx will be equal to ? > > Whatever the stack was minus that value ANDed with NOT 0x1000, > i.e. 0x1000 minus the stack already in use. The code assumes > that the stack starts and ends on a 0x1000 (page) boundary. > If that's not true, then all bets are off.
Hmm. I must be thick today. (esp - (esp & 0xffffefff)) is always equal to (esp & 0x00001000). Which is either 0 or 0x1000. -- vda - 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/
|  |