Lines Matching refs:idt
189 struct desc_struct *idt; in try_deliver_interrupt() local
225 idt = &cpu->arch.idt[FIRST_EXTERNAL_VECTOR+irq]; in try_deliver_interrupt()
227 if (idt_present(idt->a, idt->b)) { in try_deliver_interrupt()
235 set_guest_interrupt(cpu, idt->a, idt->b, false); in try_deliver_interrupt()
337 if (num >= ARRAY_SIZE(cpu->arch.idt)) in deliver_trap()
344 if (!idt_present(cpu->arch.idt[num].a, cpu->arch.idt[num].b)) in deliver_trap()
346 set_guest_interrupt(cpu, cpu->arch.idt[num].a, in deliver_trap()
347 cpu->arch.idt[num].b, has_err(num)); in deliver_trap()
517 if (num >= ARRAY_SIZE(cpu->arch.idt)) in load_guest_idt_entry()
520 set_trap(cpu, &cpu->arch.idt[num], num, lo, hi); in load_guest_idt_entry()
528 static void default_idt_entry(struct desc_struct *idt, in default_idt_entry() argument
550 idt->a = (LGUEST_CS<<16) | (handler&0x0000FFFF); in default_idt_entry()
551 idt->b = (handler&0xFFFF0000) | flags; in default_idt_entry()
569 void copy_traps(const struct lg_cpu *cpu, struct desc_struct *idt, in copy_traps() argument
578 for (i = 0; i < ARRAY_SIZE(cpu->arch.idt); i++) { in copy_traps()
579 const struct desc_struct *gidt = &cpu->arch.idt[i]; in copy_traps()
596 idt[i] = *gidt; in copy_traps()
598 default_idt_entry(&idt[i], i, def[i], gidt); in copy_traps()