Re: [PATCH kvm-unit-tests] x86: move IDT away from address 0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On Jun 26, 2020, at 12:05 AM, Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote:
> 
> On 25/06/20 21:18, Paolo Bonzini wrote:
>> 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.
> 
> Actually the IDTR is not reloaded by exec_in_big_real_mode, so this
> (while a bit weird) works fine.

Err… So it means I need to debug why it does not work for *me*…







[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux