- idt[intnum].base_high = (u16)((u32)(routine)>>16);
- idt[intnum].base_low = (u16)((u32)(routine)&0xffff);
+ idt[intnum].base_high = (u16)((u32)(routine + gd->reloc_off) >> 16);
+ idt[intnum].base_low = (u16)((u32)(routine + gd->reloc_off) & 0xffff);