On 25/06/20 20:59, Nadav Amit wrote: > I think that there is a hidden assumption about the IDT location in > realmode’s test_int(), which this would break: > > static void test_int(void) > { > init_inregs(NULL); > > boot_idt[11] = 0x1000; /* Store a pointer to address 0x1000 in IDT entry 0x11 */ > *(u8 *)(0x1000) = 0xcf; /* 0x1000 contains an IRET instruction */ > > MK_INSN(int11, "int $0x11\n\t"); > > exec_in_big_real_mode(&insn_int11); > report("int 1", 0, 1); > } Uuuuuuuuuuuuuuuumph... you're right. :( Will send a patch tomorrow. Paolo