--- Gnu-Mach/i386/xen/xen.c 2020/09/02 04:46:46 1.1 +++ Gnu-Mach/i386/xen/xen.c 2020/09/02 04:53:32 1.1.1.2 @@ -46,14 +46,15 @@ void hyp_failsafe_c_callback(struct fail extern void return_to_iret; -void hypclock_machine_intr(int old_ipl, void *ret_addr, struct i386_interrupt_state *regs, unsigned64_t delta) { +void hypclock_machine_intr(int old_ipl, void *ret_addr, struct i386_interrupt_state *regs, uint64_t delta) { if (ret_addr == &return_to_iret) { clock_interrupt(delta/1000, /* usec per tick */ (regs->efl & EFL_VM) || /* user mode */ ((regs->cs & 0x02) != 0), /* user mode */ - old_ipl == SPL0); /* base priority */ + old_ipl == SPL0, /* base priority */ + regs->eip); /* interrupted eip */ } else - clock_interrupt(delta/1000, FALSE, FALSE); + clock_interrupt(delta/1000, FALSE, FALSE, 0); } void hyp_p2m_init(void) {