To initialise the system call and suchlike traps,
arch/i386/kernel/traps.c does

        set_system_gate(3,&int3);       /* int3-5 can be called from all */
        set_system_gate(4,&overflow);
        set_system_gate(5,&bounds);
        ...
        set_system_gate(SYSCALL_VECTOR,&system_call);

However, any other ones I add (say, with vectors 0x70, 0x71, 0x84,
0x85) vanish after the system has booted further. printk shows that
idt_table is correctly updated immediately after the set_system_gate
but once the system has booted the entries for my new traps have
reverted. (printk telemetry available on request). However, once the
system has booted, a little module which simply updates
idt_table[MY_NEW_VECTOR] directly works fine and "sticks". Help?
(Or, more accurately "Aaarrrgh?").

--Malcolm

-- 
Malcolm Beattie <[EMAIL PROTECTED]>
Unix Systems Programmer
Oxford University Computing Services
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to