Port-sgimips archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: R4000 end-of-page bug



On Mar 5, 2009, at 11:55 AM, Frank Wille wrote:

So I'm wondering if we have workarounds for all known R4000-bugs? What about the "end-of-page" bug, for example? Does our gcc take care of it? And I didn't see an -mfix-r4000 option in the Makefiles either, for the other
workarounds.

We don't have a workaround for the EOP bug. It should really be handled by the toolchain, but I don't think the gnu toolchain does (at least, it didn't a few years ago). It's probably very easy to solve for somebody familiar with that code, but that's definitely not me.

IRIX appears to work around it in the kernel by scanning potentially executable pages and wiring down the next page such that the 'not present in tlb' condition no longer holds. Of course, this has limitations if more than a handful of pages could trigger the bug. I'm pretty sure SGI fixed it in the toolchain and did this for backward compatibility.

Have you checked the dmesg to confirm that you're running a broken cpu? I think R4000's less than revision 2.2 have it.

As for other R4k bugs, I have no idea. I didn't think they were quite as nasty.

Steve


Home | Main Index | Thread Index | Old Index