Lines Matching refs:num
334 static bool could_be_syscall(unsigned int num) in could_be_syscall() argument
337 return num == SYSCALL_VECTOR || num == syscall_vector; in could_be_syscall()
384 bool deliver_trap(struct lg_cpu *cpu, unsigned int num) in deliver_trap() argument
390 if (num >= ARRAY_SIZE(cpu->arch.idt)) in deliver_trap()
397 if (!idt_present(cpu->arch.idt[num].a, cpu->arch.idt[num].b)) in deliver_trap()
399 push_guest_interrupt_stack(cpu, has_err(num)); in deliver_trap()
400 guest_run_interrupt(cpu, cpu->arch.idt[num].a, in deliver_trap()
401 cpu->arch.idt[num].b); in deliver_trap()
420 static bool direct_trap(unsigned int num) in direct_trap() argument
426 if (num >= FIRST_EXTERNAL_VECTOR && !could_be_syscall(num)) in direct_trap()
434 return num != 14 && num != 13 && num != 7 && num != LGUEST_TRAP_ENTRY; in direct_trap()
521 unsigned int num, u32 lo, u32 hi) in set_trap() argument
554 void load_guest_idt_entry(struct lg_cpu *cpu, unsigned int num, u32 lo, u32 hi) in load_guest_idt_entry() argument
560 if (num == 2 || num == 8 || num == 15 || num == LGUEST_TRAP_ENTRY) in load_guest_idt_entry()
570 if (num >= ARRAY_SIZE(cpu->arch.idt)) in load_guest_idt_entry()
571 kill_guest(cpu, "Setting idt entry %u", num); in load_guest_idt_entry()
573 set_trap(cpu, &cpu->arch.idt[num], num, lo, hi); in load_guest_idt_entry()