[parisc-linux] rp2470 hang...getting closer

Grant Grundler grundler@dsl2.external.hp.com
Mon, 21 Oct 2002 15:58:17 -0600


Matthew Wilcox wrote:
> So I think we want to change the sti() call to local_irq_enable().

I think we want to remove it all together. Since I don't have a PA2.0
book handy, PA1.1 Arch and Instruction Set Manual, page 5-141 says:
	"... Execution of an RFIR instruction when any of the
	PSW Q, I, or R bits are ones is an undefined operation."

When "handle_interrupts()" is done, execution will return to entry.S
and execute "rfir".  I expect RFIR to put I-bit back the way it was.

And anyone decoding state/insns in the trap/fault handler should read
the next page (5-142):
	"Because this sequence restores the state of the execution pipeline,
	it is possible for software to place the processor in states which
	could not result from the execution of any sequence of insns
	not involving interrupts."

Anyway,  I tried both current CVS and removing local_irq_enable().
Both "hung" in sym2 disk search. :^(
Still looking.

thanks,
grant