My code wasn't working:
Code: Select all
struct idt_t {
unsigned short offset0_15;
unsigned short segment;
unsigned short reserved : 5;
unsigned short options : 11;
unsigned short offset16_31;
};
struct idt_t idt[256];
asm("cli");
... //Here each entry in the IDT
... //is initialized
unsigned int idt_reg[2];
idt_reg[0] = (256*8) << 16;
idt_reg[1] = (unsigned int)idt;
__asm__ __volatile__ ("lidt (%0)": :"g" ((char*)idt_reg+2));
asm("sti");
Code: Select all
printk("****!");
and... It worked...
So now I wrote:
Code: Select all
printk("");
Why????????