On Fri, Jun 15, 2012 at 11:21:44PM +0200, Lluís Batlle i Rossell wrote:
> On Fri, Jun 15, 2012 at 11:20:25PM +0200, Michał Masłowski wrote:
> > > It's used *a lot*. It happens the same in ARM. In general, lots of code 
> > > is full
> > > of unaligned accesses fixed realtime by the kernel. Mount debugfs, and 
> > > check
> > > /sys/kerne/debug/mips/unaligned_instructions to see the counter grow! :)
> > > echo 2 to unaligned_action, and check your dmesg for a full report of 
> > > everyone.
> > > echo 1, and see SIGBUS everywhere.
> > >
> > > That's the *easy* way to fix *all* sigbuses. But the Coprocessor 
> > > load/store are
> > > just not implemented. :)
> > 
> > Ok, didn't know it (fixed once a sigbus in code that had all non-double
> > fields properly aligned, didn't expect it to have other reasons for not
> > crashing elsewhere).  This doesn't change the two facts that allocating
> > memory with eight byte alignment isn't difficult to do and that there
> > are other problems in libwebkit which probably need fixing in userspace.
> 
> I agree, userspace software should be fixed for that, because the kernel traps
> are slow. But the kernel traps allow us at least to run the software.
> 
> I'm trying to write those traps, but I'm stuck... Learning mips asm for the
> first time.

Yesterday I managed to come up with a patch that makes that webkit 1.4.0 work
flawlessly (slower than with correct code, but working). Please try it and check
if it solves your SIGBUS cases.

https://groups.google.com/group/loongson-dev/browse_thread/thread/11dfad1ccd7203e3

I sent the same patch to linux-mips. I crossposted it; sorry for the
inconveniences.

Regards,
Lluís.

-- 
You received this message because you are subscribed to the Google Groups 
"loongson-dev" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/loongson-dev?hl=en.

Reply via email to