Messages in this thread |  | | Date | Tue, 12 Sep 2000 10:29:09 +0100 | From | Malcolm Beattie <> | Subject | Adding set_system_gate fails in arch/i386/kernel/traps.c |
| |
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 <mbeattie@sable.ox.ac.uk> 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 majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |