Re: ms_sysenter_eip zero value

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

 



On 01/26/2011 12:24 PM, Avi Kivity wrote:
On 01/23/2011 01:25 PM, Matteo Signorini wrote:
Hi,

I'm having some problems understanding the sysenter instruction.
As far as I know, in order to successfully call the sysenter instruction,
MSR_IA32_SYSENTER_CS and MSR_IA32_SYSENTER_EIP registers have to be
correctly set.

So I printed the value of such registers while the VM was running but
the output is 0 for both.

now:

1) I'm having this problem ONLY with the Intel CPU (vmx.c source code).
When I run the same code on an AMD CPU (svm.c source code)
MSR_IA32_SYSENTER_EIP and MSR_IA32_SYSENTER_CS contain nonzero values.

2) I am 100% sure the guest is not executing an int80 but a sysenter

so there is something here I can't understand...
please help me solving this problem.

How are you printing out the values? Maybe the problem is there?


arguably there is something I'm doing wrong but I don't think it's the  print format.

Let me explain what I'm doing. I have modified a little bit the  "cpu_dump_state" function called by the monitor's "do_info_registers"  function in order to print  an additional element and precisely the env->sysenter_cs/eip value.

Now, as stated before I don't think the problem is the format because if  I  use the same code on an AMD machine, the value printed during the VM  execution is a  non zero value so I'm wondering why this difference from amd and intel?

Matteo


--
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