Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
BroadcastCommunity.qnx.com will be offline from May 31 6:00pm until June 2 12:00AM for upcoming system upgrades. For more information please go to https://community.qnx.com/sf/discussion/do/listPosts/projects.bazaar/discussion.bazaar.topc28418
Forum Topic - Gaining acces to interrupt descriptor memory: Page 1 of 9 (9 Items)
   
Gaining acces to interrupt descriptor memory  
I need to be able to read the interrupt vector (descriptor) table memory in order to periodically perform a CRC 
calculation to verify the table has not been corrupted.  Getting the address of the table seems to work at any privilege
 level.

    BYTE            idt[6];

    __asm__("sidt %0"
            : "=m"(idt)
           );

However, I get a seg fault when I try to access the memory.  Understandable when done from user code.  I attempted to 
access the memory from a timer interrupt (via timer_create() and SIGALRM) thinking that would allow (put me in ring 0) 
the access, but still get the seg fault.

Anyone have any ideas how to get access to this memory?  Do I need to map it in?  Is code executed in the timer 
interrupt executed at ring 0?

I am using QNX 6.3.2.

Thanks,