Reading GDT base and limit value of guest VM on host

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

 



I am trying to get the base address and the size of the GDT of the
guest VM. When I read the value inside the Windows 7 64bit guest VM I
get following values: gdt base 0xfffff80003b37000, gdt limit 0x7f.
These values I read out with gdtr in kernel mode via a driver.
However, when I read the value upon a VMEXIT (triggered by SYSCALL) in
VMCB where all the values are stored, I get the following (different)
values: gdt base 0xFFFFFFFFA03F8060, gdt limit 0x8060. I would expect
the values to be identical. Is there some kind of
translation/calculation that must be done to get the correct value?

I read out the value as follows:

vmcs_readl(GUEST_GDTR_BASE)
vmcs_read32(GUEST_GDTR_LIMIT)

I actually have the same issue with IDTR. However, I am only
interested in GDTR. Reading out other registers like CR3, RIP, or RAX
work fine.

-- Juwo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[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