i2a at gmx.net
Mon Oct 31 20:58:53 EST 2005
On Sun, 30 Oct 2005 20:28:49 -0600, Hollis Blanchard wrote
> On Oct 30, 2005, at 6:35 PM, Ingmar wrote:
> > I am trying to overwrite the exception vector space of an ibook G4 :).
For my thesis project I am porting the Minix (v3) OS.
> > I have set up (for every exception) a small piece of code, that's a
> > prefix of a
> > handler to be called. My problem is, that writing the small chunks
> > of code to
> > the exception vector space gives no problem(so it seams) but writing
> > all the
> > pieces of code as one chunk gives a exception [dsi, dsisr 0x42000000],
> > this
> > indicates a store problem.
> Code please. You're just calling memcpy?
I have done different methods (lots of code),
- as a test just setting the memory, with memset,
- custom copying word by word, flushing the cache while going,
- flushing the cache afterwards,
the results are not always what I excected, the memset works if I don't set to
much like from 0x0 0x200. The copying would be the complete block.
> > I have tried different modes of copying, mmu on/off, also chanced the
> > WING bits,
> > switched the exception prefix on.
> You could not have gotten a DSI if you disabled the MMU...
Oke, than this is one I am sure of now, thanks :)
> > I don't believe putting the exception vectors to there place one by
> > one is the
> > right way, in the Linux kernel the kernel get relocated and the code
> > comes into
> > place. I have taken this as an example, unfortunately to to result :(..
> So you are not trying to overwrite Linux's functioning exception
> handlers, but rather trying to write your own OS?
> > - Am I overlooking something?
> > - Is the a standard way to overwrite the exception vector space of
> > a powerpc?
> Do you think this is a common task? :)
No the task maybe not, but the method could be,
- I am sure (now) that the mmu must be off,
- copying must be done with flushing the caches,
More information about the Linuxppc-dev