[parisc-linux] Boot error on C200+

David Huggins-Daines dhd@linuxcare.com
02 Sep 2000 21:00:33 -0400


Ryan Bradetich <rbradetich@uswest.net> writes:

> Kernel Fault: Code=7 regs=c7f98248 (Addr=00000110)
> 
> PSW  : 0004000b  GR 1 : 00002000  GR 2 : 00013403  GR 3 : 00000000
> GR 4 : 2001ff74  GR 5 : 00000000  GR 6 : 000777f4  GR 7 : 000010c4
> GR 8 : 000011bc  GR 9 : c7f98000  GR10 : c022fa78  GR11 : c0270030
> GR12 : c0270008  GR13 : c022fe14  GR14 : c0270000  GR15 : 617bfdfb
> GR16 : c027c60c  GR17 : 00000000  GR18 : c02b0000  GR19 : 00000001
> GR20 : 00000037  GR21 : 00089b9c  GR22 : 00089bd8  GR23 : 000010c4
> GR24 : 2001ff74  GR25 : 00000001  GR26 : 00000000  GR27 : 00088f00
> GR28 : b64d8e60  GR29 : b44302d0  GR30 : 20020140  GR31 : 00022d63
> SR0  : 00002000  SR1  : fffd2dff  SR2  : 00000000  SR3  : 00002000
> SR4  : 00000000  SR5  : 00002000  SR6  : 00002000  SR7  : 00002000
> 
> IASQ : 00000000 00000000 IAOQ : 00000110 00000114 ORIG_R28 : ffdf7fff
                           ^^^^^^^^^^^^^^^^^^^^^^^^

That is the syscall gateway page.  Note that the low bits of IAOQ are
clear, so you are running in kernel mode and kernel space at this
point.  Note also that the IAOQ points to just after the 'gate'
instruction in linux_gateway_page, and from the look of the space
registers, you've managed to successfully execute the instruction in
the delay slot of the gate (mtsp %r0,%sr4) but nothing else.

Note that GR20 is 0x37, which is the syscall number for fcntl(), which
confirms your earlier findings :-)

>  IIR : 43ffff40 ISR : 00000000 IOR : 00000000

That IIR doesn't look like any instruction on the syscall page that I
know of.  Perhaps the gateway page is not getting mapped properly.
The fact that it is trapping after the 'gate' instruction seems to
support this.

-- 
dhd@linuxcare.com, http://www.linuxcare.com/
Linuxcare. Support for the revolution.