IRC logs for #openrisc Saturday, 2012-03-03

_franck_juliusb: ping00:04
jonibo_derRichard: no worries...09:52
-!- flea86 is now known as flea86|dinner11:15
-!- flea86|dinner is now known as Flea8613:13
derRichardjonibo_: how does timekeeping work on linux-openrisc? /proc/interrupts does not show a timer13:30
juliusbdoes anyone have any opinion on the behavior of or1k machines when returning from exception and another exception has occurred15:07
juliusbsay in the case of a l.rfe which re-enables interrupts and there is an interrupt pending15:08
juliusbshould we execute an instruction before doing that interrupt?15:08
juliusband what should the EPCR value hold? the address we were going to l.rfe to?15:08
juliusbI'm not certain the architecture spec manual is clear on this15:09
juliusbprobably the most sensible thing is put where you were going to continue executing from into EPCR15:11
juliusb(in the case of l.rfe into an interrupt)15:11
juliusband then handle the interrupt (go straight to 0x800 with exception-handling SR)15:12
jonibo_derRichard: the timer interrupt is not a "regular" interrupt... it's a special timer interrupt that doesn't appear in /proc/interrupts because the exception doesn't go via the hardware interrupt exception and thus doesn't need a registered interrupt handle (the handler is explicitly registered in entry.S)20:00
jonibo_juliusb: no you should not execute an instruction... the interrupt exception should trigger immediately if an interrupt is pending20:00
jonibo_EPCR should be the same as for the previous interrupt20:01
stekerni agree20:01
jonibo_I think the arch spec is clear on this... but perhaps my memory is tricking me20:01
jonibo_derRichard: as for the rest of the openrisc timekeeping, it's all in arch/openrisc/kernel/time.c20:03
derRichardjonibo_: thx. i read arch/openrisc/kernel/time.c but got confused why there is no interrupt...20:04
derRichardthat's why i was asking20:04
derRichardi gotta go now. cu20:06
juliusb I can't see where it is in the arch spec - I read the exception section, but I agree with you20:15
juliusbon l.rfe, if there's a pending interrupt or tick timer exceptino, you should go straight there, and EPCR/EEAR should remain as they were before l.rfe was executed20:16
stekernbut isn't that kind of implied? I mean, you are _about_ to execute what's in EPCR and an interrupt occurs. Isn't that was happens regardless if you are rfeing or not?20:19
stekern(except that what you are about to execute isn't in EPCR)20:19
juliusbthere's certainly nothign in chapter 6 about the exact behavior of l.rfe when tick and PIC interrupts are pending - it makes sense that you go straight to that exception, but it doesn't say you _have_ to, so it appears to me as if you could do it either way, and then possibly get into trouble when you write software relying on this feature20:20

Generated by irclog2html.py 2.15.2 by Marius Gedminas - find it at mg.pov.lt!