On 08/11/2009 11:57 PM, Anthony Liguori wrote:
According to 16.2.5 in the SDM, eflags.vm in the tss is consulted before loading
and new segments. If eflags.vm == 1, then the segments are treated as 16-bit
segments. The LDTR and TR are not normally available in vm86 mode so if they
happen to
On 08/11/2009 11:57 PM, Anthony Liguori wrote:
According to 16.2.5 in the SDM, eflags.vm in the tss is consulted before loading
and new segments. If eflags.vm == 1, then the segments are treated as 16-bit
segments. The LDTR and TR are not normally available in vm86 mode so if they
happen to
On 08/12/2009 03:11 PM, Avi Kivity wrote:
On 08/11/2009 11:57 PM, Anthony Liguori wrote:
According to 16.2.5 in the SDM, eflags.vm in the tss is consulted
before loading
and new segments. If eflags.vm == 1, then the segments are treated
as 16-bit
segments. The LDTR and TR are not normally
Avi Kivity wrote:
On 08/12/2009 03:11 PM, Avi Kivity wrote:
On 08/11/2009 11:57 PM, Anthony Liguori wrote:
According to 16.2.5 in the SDM, eflags.vm in the tss is consulted
before loading
and new segments. If eflags.vm == 1, then the segments are treated
as 16-bit
segments. The LDTR and TR
On 08/12/2009 04:15 PM, Anthony Liguori wrote:
While the code looks nicer with the second patch, the fact that
get_rflags() does a vmcs_read() seems 7 times more than before seems
unfortunate.
We can add kvm_rflags_read(), see kvm_cache_regs.h. In any case, it's
purely academic since task
Avi Kivity wrote:
On 08/12/2009 04:15 PM, Anthony Liguori wrote:
While the code looks nicer with the second patch, the fact that
get_rflags() does a vmcs_read() seems 7 times more than before seems
unfortunate.
We can add kvm_rflags_read(), see kvm_cache_regs.h. In any case, it's
purely
On 08/11/2009 04:00 AM, Anthony Liguori wrote:
According to 16.2.5 in the SDM, eflags.vm in the tss is consulted before loading
and new segments. If eflags.vm == 1, then the segments are treated as 16-bit
segments.
This fixes an invalid vmentry failure in a custom OS that was happening after
a
Avi Kivity wrote:
On 08/11/2009 04:00 AM, Anthony Liguori wrote:
kvm_load_segment_descriptor() can already load plain segments:
if (!(vcpu-arch.cr0 X86_CR0_PE))
return kvm_load_realmode_segment(vcpu, selector, seg);
so we can simplify the patch a bit by extending the check.
I
On 08/11/2009 07:45 PM, Anthony Liguori wrote:
Avi Kivity wrote:
On 08/11/2009 04:00 AM, Anthony Liguori wrote:
kvm_load_segment_descriptor() can already load plain segments:
if (!(vcpu-arch.cr0 X86_CR0_PE))
return kvm_load_realmode_segment(vcpu, selector, seg);
so we can
According to 16.2.5 in the SDM, eflags.vm in the tss is consulted before loading
and new segments. If eflags.vm == 1, then the segments are treated as 16-bit
segments. The LDTR and TR are not normally available in vm86 mode so if they
happen to somehow get loaded, they need to be treated as
According to 16.2.5 in the SDM, eflags.vm in the tss is consulted before loading
and new segments. If eflags.vm == 1, then the segments are treated as 16-bit
segments.
This fixes an invalid vmentry failure in a custom OS that was happening after
a task switch into vm8086 mode. Since the
11 matches
Mail list logo