RE: Fast IPC path on IA32
"Jan Stoess" <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.l4ka.general |
|---|---|
| Message-ID | <[email protected]> |
Thanks Alexei, I've reproduced the bug and just corrected it in our mercurial development repository. Find the latest version under http://l4ka.org/projects/pistachio/download.php -- Jan Stoess System Architecture Group University of Karlsruhe > -----Original Message----- > From: [email protected] [mailto:[email protected] > karlsruhe.de] On Behalf Of Alexei Mandrykine > Sent: Monday, July 23, 2007 03:25 > To: [email protected] > Subject: Fast IPC path on IA32 > > Hello l4ka. > > The code of Fast IPC path on IA32 is broken. > At least on CVS state on 2006 August 10. > > I spent about two weeks to find why a signal handler does not work > correctly. The signal handler emaultes signal delivery via > L4_ExchangeRegisters syscal. > > In case of receiving phase of IPC has to be aborted, application > generating strange exception - "kernel access raised user pagefault". > > The reason of this exception is tcb_t::return_from_ipc(void) {glue/v4- > ia32/tcb.h}, > that returns to 'fp_ipc_done' {glue/v4-ia32/trap.S}. At this point ESI > conveys MR0 > value, but 'fp_ipc_done' uses ESI as pointer to current TCB. > > This bug does not appear if kernel compiled without "Fast IPC path" > feature. > > > -- > Regards, > Aleksey Mandrykin mailto:[email protected] >
smime.p7s
(application/x-pkcs7-signature, 3.1 KB) - not displayed