On 2013-08-05 04:19, Arthur Chunqi Li wrote:
> On Sun, Aug 4, 2013 at 11:17 PM, Jan Kiszka wrote:
>> From: Jan Kiszka
>>
>> When asking vmx to load the PAT MSR for us while switching from L1 to L2
>> or vice versa, we have to update arch.pat as well as it may later be
>> used again to load or rea
> -Original Message-
> From: Gleb Natapov [mailto:g...@redhat.com]
> Sent: Sunday, August 04, 2013 8:08 PM
> To: kvm@vger.kernel.org
> Cc: Ren, Yongjie; pbonz...@redhat.com; yzt...@gmail.com
> Subject: [PATCH] KVM: nVMX: correctly set tr base on nested vmexit
> emulation
>
> After commit 2
On Mon, Aug 05, 2013 at 12:59:19PM +0800, Xiao Guangrong wrote:
> Current code always uses arch.mmu to check the reserved bits on guest gpte
> which is valid only for L1 guest, we should use arch.nested_mmu instead when
> we translate gva to gpa for the L2 guest
>
> Fix it by using @mmu instead si
On 08/05/2013 12:34 PM, Paul Mackerras wrote:
> On Mon, Jul 22, 2013 at 02:32:35PM +0800, Chen Gang wrote:
>> > 'rmls' is 'unsigned long', lpcr_rmls() will return negative number when
>> > failure occurs, so it need a type cast for comparing.
>> >
>> > 'lpid' is 'unsigned long', kvmppc_alloc_lpid(
On Mon, Jul 22, 2013 at 02:32:35PM +0800, Chen Gang wrote:
> 'rmls' is 'unsigned long', lpcr_rmls() will return negative number when
> failure occurs, so it need a type cast for comparing.
>
> 'lpid' is 'unsigned long', kvmppc_alloc_lpid() return negative number
> when failure occurs, so it need a
Current code always uses arch.mmu to check the reserved bits on guest gpte
which is valid only for L1 guest, we should use arch.nested_mmu instead when
we translate gva to gpa for the L2 guest
Fix it by using @mmu instead since it is adapted to the current mmu mode
automatically
The bug can be tr
On Fri, Aug 2, 2013 at 7:50 PM, Gleb Natapov wrote:
> On Fri, Aug 02, 2013 at 07:19:28AM +, Ren, Yongjie wrote:
>> Hi All,
>>
>> This is KVM upstream test result against kvm.git next branch and
>> qemu-kvm.git uq/master branch.
>> kvm.git next branch: bf640876e21fe603f7f52b0c27d66b77
On 07/25/2013 04:54 PM, Jason Wang wrote:
> We try to handle the hypervisor compatibility mode by detecting hypervisor
> through a specific order. This is not robust, since hypervisors may implement
> each others features.
>
> This patch tries to handle this situation by always choosing the last on
Reconstruct VMX codes and put all VMX test suites in x86/vmx_tests.c.
Signed-off-by: Arthur Chunqi Li
---
ChangeLog to v2:
Remove some unused extern definitions in vmx.h.
config-x86-common.mak |2 +-
x86/vmx.c | 115 -
x8
On Sun, Aug 4, 2013 at 11:17 PM, Jan Kiszka wrote:
> From: Jan Kiszka
>
> When asking vmx to load the PAT MSR for us while switching from L1 to L2
> or vice versa, we have to update arch.pat as well as it may later be
> used again to load or read out the MSR content.
>
> Signed-off-by: Jan Kiszka
On Mon, Aug 5, 2013 at 2:46 AM, Jan Kiszka wrote:
> On 2013-08-04 20:25, Gmail wrote:
>> 在 2013-8-5,2:08,Jan Kiszka 写道:
>>
>>> On 2013-08-04 20:04, Arthur Chunqi Li wrote:
@@ -432,6 +432,22 @@ enum Ctrl1 {
#define HYPERCALL_MASK0xFFF
#define HYPERCALL_VMEXIT0x1
>>>
On 2013-08-04 20:25, Gmail wrote:
> 在 2013-8-5,2:08,Jan Kiszka 写道:
>
>> On 2013-08-04 20:04, Arthur Chunqi Li wrote:
>>> @@ -432,6 +432,22 @@ enum Ctrl1 {
>>> #define HYPERCALL_MASK0xFFF
>>> #define HYPERCALL_VMEXIT0x1
>>>
>>> +
>>> +extern u64 hypercall_field;
>>> +extern u32 vpid_cn
在 2013-8-5,2:08,Jan Kiszka 写道:
> On 2013-08-04 20:04, Arthur Chunqi Li wrote:
>> @@ -432,6 +432,22 @@ enum Ctrl1 {
>> #define HYPERCALL_MASK0xFFF
>> #define HYPERCALL_VMEXIT0x1
>>
>> +
>> +extern u64 hypercall_field;
>> +extern u32 vpid_cnt;
>> +extern ulong fix_cr0_set, fix_cr0_clr;
On 2013-08-04 20:04, Arthur Chunqi Li wrote:
> @@ -432,6 +432,22 @@ enum Ctrl1 {
> #define HYPERCALL_MASK 0xFFF
> #define HYPERCALL_VMEXIT 0x1
>
> +
> +extern u64 hypercall_field;
> +extern u32 vpid_cnt;
> +extern ulong fix_cr0_set, fix_cr0_clr;
> +extern ulong fix_cr4_set, fi
Reconstruct VMX codes and put all VMX test suites in x86/vmx_tests.c.
Signed-off-by: Arthur Chunqi Li
---
ChangeLog to v1:
Reassign places of global variants. Move vmx_tests to vmx_tests.c.
config-x86-common.mak |2 +-
x86/vmx.c | 108 --
From: Jan Kiszka
If nested EPT is enabled, the L2 guest may change CR3 without any exits.
We therefore have to read the current value from the VMCS when switching
to L1. However, if paging wasn't enabled, L0 tracks L2's CR3, and
GUEST_CR3 rather contains the real-mode identity map. So we need to
From: Jan Kiszka
Now that we provide EPT support, there is no reason to torture our
guests by hiding the relieving unrestricted guest mode feature. We just
need to relax CR0 checks for always-on bits as PE and PG can now be
switched off.
Signed-off-by: Jan Kiszka
---
arch/x86/kvm/vmx.c | 18
From: Jan Kiszka
This job is normally performed by the architectural EFER set service
which we cannot use as it prevents transitions that are valid when
switching between L1 and L2. So open-code the update of base_role.nxe
after changing EFER on VM-entry and exit.
Signed-off-by: Jan Kiszka
---
From: Jan Kiszka
Implement and advertise VM_EXIT_SAVE_IA32_EFER. L0 traps EFER writes
unconditionally, so we always find the current L2 value in the
architectural state.
Signed-off-by: Jan Kiszka
---
arch/x86/kvm/vmx.c |4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a
From: Jan Kiszka
We need to update EFER.NX before building the nEPT state via
nested_ept_init_mmu_context. Otherwise, we risk to create an MMU context
that claims to have NX disabled while the guest EPT used NX. This will
cause spurious faults for L2.
Signed-off-by: Jan Kiszka
---
arch/x86/kvm
These patches apply on top of nEPT v6 and basically enable unrestricted
guest mode to be used by L1.
Jan Kiszka (7):
KVM: nEPT: Advertise WB type EPTP
KVM: nVMX: Replace kvm_set_cr0 with vmx_set_cr0 in
load_vmcs12_host_state
KVM: nVMX: Enable unrestricted guest mode support
KVM: nVMX:
From: Jan Kiszka
At least WB must be possible.
Signed-off-by: Jan Kiszka
---
arch/x86/kvm/vmx.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index e51bf4a..53050a0 100644
--- a/arch/x86/kvm/vmx.c
+++ b/arch/x86/kvm/vmx.c
@@
From: Jan Kiszka
Likely a typo, but a fatal one as kvm_set_cr0 performs checks on the
state transition that may prevent loading L1's cr0.
Signed-off-by: Jan Kiszka
---
arch/x86/kvm/vmx.c |2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm
On Mon, Aug 05, 2013 at 01:19:26AM +0800, Xiao Guangrong wrote:
>
> On Aug 5, 2013, at 12:58 AM, Gleb Natapov wrote:
>
> > On Sun, Aug 04, 2013 at 06:42:09PM +0200, Jan Kiszka wrote:
> >> On 2013-08-04 18:15, Xiao Guangrong wrote:
> >>>
> >>> On Aug 4, 2013, at 11:14 PM, Jan Kiszka wrote:
> >>
On 2013-08-04 19:18, Arthur Chunqi Li wrote:
>>> diff --git a/x86/vmx.h b/x86/vmx.h
>>> index d80e000..f82bf5a 100644
>>> --- a/x86/vmx.h
>>> +++ b/x86/vmx.h
>>> @@ -1,5 +1,5 @@
>>> -#ifndef __HYPERVISOR_H
>>> -#define __HYPERVISOR_H
>>> +#ifndef __VMX_H
>>> +#define __VMX_H
>>>
>>> #include "libc
On Aug 5, 2013, at 12:58 AM, Gleb Natapov wrote:
> On Sun, Aug 04, 2013 at 06:42:09PM +0200, Jan Kiszka wrote:
>> On 2013-08-04 18:15, Xiao Guangrong wrote:
>>>
>>> On Aug 4, 2013, at 11:14 PM, Jan Kiszka wrote:
>>>
On 2013-08-04 15:44, Gleb Natapov wrote:
> On Sun, Aug 04, 2013 at 1
On Mon, Aug 5, 2013 at 12:54 AM, Jan Kiszka wrote:
> On 2013-07-31 11:22, Arthur Chunqi Li wrote:
>> Reconstruct VMX codes and put all VMX test suites in x86/vmx_tests.c.
>>
>> Signed-off-by: Arthur Chunqi Li
>> ---
>> config-x86-common.mak |2 +-
>> x86/vmx.c | 71
>> +++-
On Sun, Aug 04, 2013 at 06:42:09PM +0200, Jan Kiszka wrote:
> On 2013-08-04 18:15, Xiao Guangrong wrote:
> >
> > On Aug 4, 2013, at 11:14 PM, Jan Kiszka wrote:
> >
> >> On 2013-08-04 15:44, Gleb Natapov wrote:
> >>> On Sun, Aug 04, 2013 at 12:53:56PM +0300, Gleb Natapov wrote:
> On Sun, Aug
On 2013-07-31 11:22, Arthur Chunqi Li wrote:
> Reconstruct VMX codes and put all VMX test suites in x86/vmx_tests.c.
>
> Signed-off-by: Arthur Chunqi Li
> ---
> config-x86-common.mak |2 +-
> x86/vmx.c | 71
> +++--
> x86/vmx.h
On 2013-08-04 18:15, Xiao Guangrong wrote:
>
> On Aug 4, 2013, at 11:14 PM, Jan Kiszka wrote:
>
>> On 2013-08-04 15:44, Gleb Natapov wrote:
>>> On Sun, Aug 04, 2013 at 12:53:56PM +0300, Gleb Natapov wrote:
On Sun, Aug 04, 2013 at 12:32:06PM +0300, Gleb Natapov wrote:
> On Sun, Aug 04, 2
On Aug 4, 2013, at 11:14 PM, Jan Kiszka wrote:
> On 2013-08-04 15:44, Gleb Natapov wrote:
>> On Sun, Aug 04, 2013 at 12:53:56PM +0300, Gleb Natapov wrote:
>>> On Sun, Aug 04, 2013 at 12:32:06PM +0300, Gleb Natapov wrote:
On Sun, Aug 04, 2013 at 11:24:41AM +0200, Jan Kiszka wrote:
> On 2
From: Jan Kiszka
When asking vmx to load the PAT MSR for us while switching from L1 to L2
or vice versa, we have to update arch.pat as well as it may later be
used again to load or read out the MSR content.
Signed-off-by: Jan Kiszka
---
Arthur, please add your tested-by also officially.
arch
On 2013-08-04 15:44, Gleb Natapov wrote:
> On Sun, Aug 04, 2013 at 12:53:56PM +0300, Gleb Natapov wrote:
>> On Sun, Aug 04, 2013 at 12:32:06PM +0300, Gleb Natapov wrote:
>>> On Sun, Aug 04, 2013 at 11:24:41AM +0200, Jan Kiszka wrote:
On 2013-08-01 16:08, Gleb Natapov wrote:
> Another day -
On Aug 3, 2013, at 1:09 PM, Takuya Yoshikawa wrote:
> On Tue, 30 Jul 2013 21:01:58 +0800
> Xiao Guangrong wrote:
>
>> Background
>> ==
>> Currently, when mark memslot dirty logged or get dirty page, we need to
>> write-protect large guest memory, it is the heavy work, especially, we ne
On Sun, Aug 04, 2013 at 12:53:56PM +0300, Gleb Natapov wrote:
> On Sun, Aug 04, 2013 at 12:32:06PM +0300, Gleb Natapov wrote:
> > On Sun, Aug 04, 2013 at 11:24:41AM +0200, Jan Kiszka wrote:
> > > On 2013-08-01 16:08, Gleb Natapov wrote:
> > > > Another day -- another version of the nested EPT patch
On Sun, Aug 04, 2013 at 08:21:00PM +0800, Arthur Chunqi Li wrote:
> Yes, I have just retraced and found the bug. This is my negligence.
>
Reviewers could have done a better job too :)
> Reviewed-by: Arthur Chunqi Li
>
> On Sun, Aug 4, 2013 at 8:08 PM, Gleb Natapov wrote:
> > After commit 21feb
On Fri, Aug 02, 2013 at 08:24:38AM +0200, Stefan Pietsch wrote:
> On 31.07.2013 11:20, Gleb Natapov wrote:
> > On Wed, Jul 31, 2013 at 11:10:01AM +0200, Stefan Pietsch wrote:
> >> On 30.07.2013 07:31, Gleb Natapov wrote:
> >>
> >>> What happen if you run perf on your host (perf record -a)?
> >>> Do
Yes, I have just retraced and found the bug. This is my negligence.
Reviewed-by: Arthur Chunqi Li
On Sun, Aug 4, 2013 at 8:08 PM, Gleb Natapov wrote:
> After commit 21feb4eb64e21f8dc91136b91ee886b978ce6421 tr base is zeroed
> during vmexit. Set it to L1's HOST_TR_BASE. This should fix
> https:/
After commit 21feb4eb64e21f8dc91136b91ee886b978ce6421 tr base is zeroed
during vmexit. Set it to L1's HOST_TR_BASE. This should fix
https://bugzilla.kernel.org/show_bug.cgi?id=60679
Signed-off-by: Gleb Natapov
diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
index b533cf8..7d31e7b 100644
---
On Sun, Aug 04, 2013 at 12:32:06PM +0300, Gleb Natapov wrote:
> On Sun, Aug 04, 2013 at 11:24:41AM +0200, Jan Kiszka wrote:
> > On 2013-08-01 16:08, Gleb Natapov wrote:
> > > Another day -- another version of the nested EPT patches. In this version
> > > included fix for need_remote_flush() with sh
On Sun, Aug 04, 2013 at 11:24:41AM +0200, Jan Kiszka wrote:
> On 2013-08-01 16:08, Gleb Natapov wrote:
> > Another day -- another version of the nested EPT patches. In this version
> > included fix for need_remote_flush() with shadowed ept, set bits 6:8
> > of exit_qualification during ept_violatio
On 2013-08-01 16:08, Gleb Natapov wrote:
> Another day -- another version of the nested EPT patches. In this version
> included fix for need_remote_flush() with shadowed ept, set bits 6:8
> of exit_qualification during ept_violation, update_permission_bitmask()
> made to work with shadowed ept page
42 matches
Mail list logo