|
From: | Alexander Graf |
Subject: | Re: [Qemu-ppc] [OpenBIOS] Running client with MMU off |
Date: | Thu, 26 Jun 2014 13:43:12 +0200 |
User-agent: | Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 |
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
[Prev in Thread] | Current Thread | [Next in Thread] |