[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [MiNT] Crash log
man, 24,.04.2006 kl. 18.22 -0400, skrev Lonny Pursell:
> on 4/24/06 12:52 PM, Lonny Pursell wrote:
>
> > Hi,
> >
> > I have an app that dies with a memory protection enabled. Can someone tell me
> > what the "Addr: $hex..." entry in the crash log means exactly?
> >
> > Looked at mprot.x on the server, but well still not sure what it is exactly.
>
> Never mind. Frank answered this on IRC. Thanks Frank.
>
> I have 1 observation. Any particular reason crash entries have to be so
> obtuse? The kernel knows the values, why can't it just compute the offset
> for me? It makes me do the math every time, so instead of:
>
> /* construct an AES alert box for this error:
> * | PROCESS "buserrxx" KILLED: |
> * | MEMORY VIOLATION. (PID 000) |
> * | |
> * | Type: ......... PC: pc...... |
> * | Addr: ........ BP: ........ |
> */
>
> I propose a change to:
>
> /* construct an AES alert box for this error:
> * | PROCESS "buserrxx" KILLED: |
> * | MEMORY VIOLATION. (PID 000) |
> * | Type: ......... PC: pc...... |
> * | Addr: ........ BP: ........ |
> * | OS: ........ |
> */
>
> Insert the offset at "OS:"
> Where OS = (PC-BP)-256 ;-))
I will make the necessary changes for this, as this is something I've
missed myself :)
>
>
> Now a new question.
> Ingo pointed this out, and it's true on my machine as well.
> With memory protection enabled we can clobber memory addresses below 2048
> without entering super mode. Is this suppose to happen? I though this
> should generate a memory violation?
As we've already talked about, this is most likely a hardware bug in
the clones, Milan/Hades. On both my milan/hades applications are allowed
to read/write this area. Generating access faults to the first 2Kb of
system RAM is a task done by the address-logic in real Atari hardware,
and indipendant of the PMMU settings. Even ST's sets supervisor
restrictions to this area, it has no PMMU ;-)
However, this is a very serious shortcoming, and I am thinking of ways
to overcome this, using the PMMU. Since the PMMU uses 8Kb pages, it
means that membot must be moved to the top of the first 8Kb page, and
have super set on that page. Anyone have an idea of what we have to
relocate in order for this to be possible? Cookie jar most likely,
anything else?
Best Regards,
Odd Skancke