[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Memory protection and vex_{butv,timv,motv}



> I'm having a problem using vex_* routines when running mint w memory
> protection on a falcon w tos 4.04. Whenever the interrupt handler is
> called I get memory violation on mint (pid 0), even when the handler
> consists of only an rts or jmp <orgrout>. Do you have ideas about why
> this happens?

> /Christer

You have to put the handler in a supervisor access block of memory. The easy
way is to allocate a little block with Mxalloc, then copy the handler
(assuming the handler is entirely PC relative code :). Alternatively, change
your program flags to make all your program supervisor accessable. The 'funny'
way to do it would be to change them during your program's initialisation
using Fcntl.

Cheers,

James Cox