[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Seek Help !!! (about getting a pointer to sys_call_table)
NO, IDTR contains the virtual address of IDT, it also contains the
length of IDT in number of bytes.
Cheers !!
Gaurav
-----Original Message-----
From: Thekkedath, Gopakumar [mailto:Gopakumar.Thekkedath@xxxxxxx]
Sent: Friday, October 01, 2004 9:32 AM
To: Dhiman, Gaurav; Ashish Mishra
Cc: Kenel Newbies
Subject: RE: Seek Help !!! (about getting a pointer to sys_call_table)
>1. - get the pointer to IDT (Interrupt Descriptor Table), using SIDT
>assembly instruction. This instruction will store the value of IDTR
>register of processor, which actually is a pointer to IDT in kernel.
>2. - Once you get the pointer to IDT, get to the 128th entry of IDT by
>multiplying 128 with 8 (as each entry in IDT is of 8 bytes) and adding
>that to the IDT pointer, which we got in first step. This is a pointer
>to the system gate through with system calls enter kernel mode.
Just a thought, the IDTR holds the physical address of the IDT
in
memory right? so to use that in the kernel,
u may have to convert it to virtual address.
gop
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/