On Fri, 13 Jan 2023 at 09:51, ttcoder@netcourrier.com wrote:
Kernel: MMU-fault not handled ESR=0x92000061 Kernel: init -> drivers -> gui_fb -> ep raised unhandled MMU fault ip=0x1009bb4 fault-addr=0x113d76ac type=unknown
Maybe the fault IP refers to some special (neon?) instruction with tighter constraints? Have you had a look at the faulting instruction?
Sorry , for being uneducated, but is "ip" an instruction (doesn't make sense , isn't an opcode) or is it an address? If address, where can I look it up?
I see you've already found/fixed the issue (congrats on your RiscOS endeavour, always had a sweet spot for sixteen/thirty-two bits OS'es since the 1990s),
Thanks , it is a giant project.. and there are a lot of things that I haven't a clue how I should do -:)
but in case you still want the info: I asked the same a few years back and was told about the "(arch-name-here)-addr2line" gcc Genode toolchain utility. So when a crash occurs, I substract the driver's base address, e.g.
$ pc
0x1009bb4 - 0x1001000
... /bin/pc outputs the delta here ...
I don't know how I get the base address. I have tried the addresses from bootlog and subtracted image base.
And then I feed it to addr2line, with the path to the driver's "debug" (not-stripped-of-symbols) binary, and get the function name and file and line number. Very convenient once you get the hang of it:
I only get ?0 from above
----------------------------
About the alignment fault: I wonder if the clip function could be modified to round up. I am going to try that. It is very slow without some clipping. But if someone has a better idea , please tell me.
Michael