Bryan K. <ef057@hotmail.com> [2003-06-12 02:24]: > I was trying to figure out where in the memory lives the interrupt > descriptor table. I wrote the following code which is called at > start_kernel bofore smp_init. My problem is that the printk prints > 0xc0330000. This is supposed to be physical memory pointer right? (I don't > have that much memory). I do not believe this is a kernel virtual memory > pointer. What am I missing? > I assume you are working on an ia32 platform since you make use of the IDT. in <asm-i386/page.h> find the #define PAGE_OFFSET 0xC0000000 virtual addresses 0x00000000 up to PAGE_OFFSET-1 can be used by processses for their virual address space. virtual addresses PAGE_OFFSET up to 0xFFFFFFFF are reserved for kernel mode. Thus your address is in the virtual address space of the kernel. If you are interested in the physical address of the idt, you could convert the received number. IIRC you would need to figure out the page since paging superseeds the addressing by the idt. Please correct if wrong. wbr, Lukas -- Lukas Ruf | Wanna know anything about raw | <http://www.lpr.ch> | IP? <http://www.rawip.org> | -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/