[parisc-linux] Re: Getting up and running

John Marvin jsm@udlkern.fc.hp.com
Mon, 17 Sep 2001 04:12:30 -0600 (MDT)


>
> How does this look?  I can't test it because I don't have a 720-era machine,
> but it ought to work, I think...
>

<Patch Deleted>

No, it needs to be a little more complicated than that. That patch doesn't
take into account byte and half-word accesses to a page. The real fix
needs to look at the instruction in the iir register in combination with
the ior value in order to determine whether the access is unaligned.

I thought for a second that the patch might work anyway, since the
unaligned fault handler has exception table support, so even though
the instruction might be unecessarily emulated, it would still
successfully bring the page in, but the unaligned fault handler
uses ldb, which would just cause an infinite loop ...

So, the correct fix should probably involve leveraging some of the
macros in unaligned.c and writing something like check_unaligned(regs)
that would be used by the trap 18 handler to determine whether or
not the access was unaligned or not.

John