Thread (13 messages) 13 messages, 5 authors, 2005-11-01

Re: exception vectors

From: Ingmar <hidden>
Date: 2005-10-31 09:59:07

On Sun, 30 Oct 2005 20:28:49 -0600, Hollis Blanchard wrote
On Oct 30, 2005, at 6:35 PM, Ingmar wrote:
quoted
I am trying to overwrite the exception vector space of an ibook G4 :).
Why?
For my thesis project I am porting the Minix (v3) OS.
quoted
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.
quoted
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 :)
quoted
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?
Yes :).
quoted
 - 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,
-Hollis
Thanks
  Ingmar.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help