From: Adam L. <ag...@li...> - 2000-02-18 18:39:01
|
On Thu, Feb 17, 2000 at 02:58:03PM +0100, Kasper Verdich Lund wrote: > > > We still need to work on PCT (protected control transfer) - anyone? > >=20 > > [snip] I've lost my Insight CD (damm!) but can you explain how the upca= lling works? I've only used TSS before. > >=20 > > popl %eax > > popl %eax > > movl %cr3,%eax > > iret > >=20 > > I think that's the code (from memory), it sets up the page tables but d= oes the iret pop stuff off the argument stack? And does that drop the prive= lage level? >=20 > The code is correct. It doesn't set up any page tables, but it does > change the page directory. The assembly code you've included in your > posting is the implementation of a function with the following > prototype: >=20 > extern void _process_run(uint32_t cr3, uint32_t eip, uint32_t cs,=20 > uint32_t eflags, uint32_t esp,=20 > uint32_t ss) __attribute__ ((noreturn)); >=20 AH! Missed that ;) Sorry, everything is clear now AGL --=20 Smoking is one of the leading causes of statistics. |