On 26.06.14 13:36, BALATON Zoltan wrote:
On Thu, 26 Jun 2014, Alexander Graf wrote:
On 26.06.14 13:20, BALATON Zoltan wrote:
On Thu, 26 Jun 2014, Alexander Graf wrote:
You could enable write protection on the first page before you enter the payload. Then you could unprotect it and disable interrupts as soon as someone wrote to it. I guess that'd be a pretty solid hack.
Good idea, I'll look into this. But 0x00-0xff is reserved for operating system use and MorphOS does write to 0x80 before touching the vectors (that's why I can't just check from the DSI handler). Can I selectively enable writes on a write protected page? (I'll need to read about it some more.)
Not easily. You could emulate the 0x80 write maybe. Is it too early if you just disable DR/IR on the 0x80 touch?
Definitely too early as this is the first thing it does.
Too bad.
I don't think any other OS really accesses these ranges, but only time will tell ;).
Don't know, according to previous replies they may. Then how about always clearing the translation for page zero the next time our handler is called so I always get a new exception when it's accessed? (I have to add it for the access to succeed but I may remove it at the next possible occasion.) In the lack of a better idea I'll try this.
That sounds odd. Why don't you just implement a tiny instruction emulator? We only need to catch stores here, no?
Alex