Re: [PATCH] arm64: KVM: Kconfig integration

2013-07-04 Thread Paolo Bonzini
Il 04/07/2013 14:38, Marc Zyngier ha scritto: > Sent v2 with fixes. If you're pleased with it, do you want another pull > request? Or will you just pick that patch? Since it would be a fast forward, I can (and did) just pick that patch. Paolo -- To unsubscribe from this list: send the line "unsub

Re: [PATCH v4 2/2] KVM: s390: use cookies for ioeventfd

2013-07-15 Thread Paolo Bonzini
Il 14/07/2013 12:19, Gleb Natapov ha scritto: > On Sun, Jul 14, 2013 at 12:25:16PM +0300, Gleb Natapov wrote: >> On Thu, Jul 04, 2013 at 08:54:32AM +0200, Paolo Bonzini wrote: >>> Il 03/07/2013 18:33, Cornelia Huck ha scritto: >>>> On Wed, 03 Jul 2013 17:30:40 +

Re: Disabling mergeable rx buffers for the guest

2013-07-15 Thread Paolo Bonzini
Il 16/07/2013 07:09, Naor Shlomo ha scritto: > Hi, > > I am trying to disable the mergeable rx buffers for a Linux guest but I am > currently unable to do so. > > I tried looking in the code of libvirt in order to find the "-global > virtio-net-pci.mrg_rxbuf=off" but the only globals configured

Re: Disabling mergeable rx buffers for the guest

2013-07-15 Thread Paolo Bonzini
Il 16/07/2013 08:40, Naor Shlomo ha scritto: > Hi Paolo and thanks for your quick reply, > > I tried editing (virsh edit) the domain's XML and put the XML excerpt you > gave me everywhere but with no success. > The moment I exit the edit mode the text was gone (I guess it didn't pass > some sort

Re: Disabling mergeable rx buffers for the guest

2013-07-16 Thread Paolo Bonzini
. Can you post here the full XML, and the one you're trying to use? Paolo > Naor > > -Original Message- > From: Paolo Bonzini [mailto:pbonz...@redhat.com] > Sent: Tuesday, July 16, 2013 9:42 AM > To: Naor Shlomo > Cc: kvm@vger.kernel.org > Subject: Re: Disa

Re: [PATCH] kvm-unit-tests : The first version of VMX nested test case

2013-07-16 Thread Paolo Bonzini
Il 16/07/2013 11:27, Arthur Chunqi Li ha scritto: > This is the first version for VMX nested environment test case. It > contains the basic VMX instructions test cases, including VMXON/ > VMXOFF/VMXPTRLD/VMXPTRST/VMCLEAR/VMLAUNCH/VMRESUME/VMCALL. This patch > also tests the basic execution routine

Re: Disabling mergeable rx buffers for the guest

2013-07-16 Thread Paolo Bonzini
ight one is (or at this point I'd better say "should be"): Paolo > > > Naor > > -Original Message- > From: Paolo Bonzini [mailto:pbonz...@redhat.com] > Sent: Tuesday, July 16, 2013 12:36 PM > To: Naor Shlomo > Cc: kvm@vger.kernel.org >

Re: [PATCH v5] KVM: nVMX: Set segment infomation of L1 when L2 exits

2013-07-16 Thread Paolo Bonzini
Il 15/07/2013 10:04, Arthur Chunqi Li ha scritto: > When L2 exits to L1, segment infomations of L1 are not set correctly. > According to Intel SDM 27.5.2(Loading Host Segment and Descriptor > Table Registers), segment base/limit/access right of L1 should be > set to some designed value when L2 exit

Re: [[Qemu-devel] [PATCH]] nVMX: Initialize IA32_FEATURE_CONTROL MSR in reset and migration

2013-07-16 Thread Paolo Bonzini
Il 16/07/2013 13:42, Gleb Natapov ha scritto: > On Sun, Jul 07, 2013 at 11:13:37PM +0800, Arthur Chunqi Li wrote: >> The recent KVM patch adds IA32_FEATURE_CONTROL support. QEMU needs >> to clear this MSR when reset vCPU and keep the value of it when >> migration. This patch add this feature. >> >

Re: [PATCH] kvm-unit-tests : The first version of VMX nested test case

2013-07-16 Thread Paolo Bonzini
Il 16/07/2013 13:47, Arthur Chunqi Li ha scritto: > setjmp and longjmp is not implemented in our test environment, and > these two functions are highly depend on architecture. Do you think we > need to write a general code for both 32bit and 64bit, or just write > specific one just for this test ca

Re: [PATCH v2 1/2] kvm-unit-tests : Add setjmp/longjmp to libcflat

2013-07-16 Thread Paolo Bonzini
Il 16/07/2013 17:11, Arthur Chunqi Li ha scritto: > Add setjmp and longjmp functions to libcflat. Now these two functions > are only supported in X86_64 arch. > > New files added: > lib/x86/setjmp64.S > lib/x86/setjmp64.c > > Signed-off-by: Arthur Chunqi Li > --- > config-x86_64.mak

Re: [PATCH] kvm-unit-tests : The first version of VMX nested test case

2013-07-16 Thread Paolo Bonzini
Il 16/07/2013 19:13, Arthur Chunqi Li ha scritto: > On Wed, Jul 17, 2013 at 12:45 AM, Gleb Natapov wrote: >> On Tue, Jul 16, 2013 at 11:29:20PM +0800, Arthur Chunqi Li wrote: >>> On Tue, Jul 16, 2013 at 11:20 PM, Gleb Natapov wrote: >>>> On Tue, Jul 16, 2013 at 1

Re: [PATCH v4 0/2] Basic nested VMX test suite

2013-07-17 Thread Paolo Bonzini
Il 17/07/2013 08:21, Gleb Natapov ha scritto: > On Wed, Jul 17, 2013 at 02:08:54PM +0800, Arthur Chunqi Li wrote: > > Hi Gleb and Paolo, > > As your suggestion, I add general interface for adding test suite in > > this version. It is similar to the achievement of x86/vmx.c, and I > > also move test

Re: [PATCH v4 2/2] kvm-unit-tests : The first version of VMX nested test case

2013-07-17 Thread Paolo Bonzini
Il 17/07/2013 08:05, Arthur Chunqi Li ha scritto: > + guest_rip = vmcs_read(GUEST_RIP); > + reason = vmcs_read(EXI_REASON) & 0xff; > + > + switch (reason) { > + case VMX_VMCALL: > + print_vmexit_info(); > + vmcs_write(GUEST_RIP, guest_rip + 3); > +

Re: [PATCH v4 0/2] Basic nested VMX test suite

2013-07-17 Thread Paolo Bonzini
Il 17/07/2013 11:03, Gleb Natapov ha scritto: > On Wed, Jul 17, 2013 at 09:52:57AM +0200, Paolo Bonzini wrote: >> Il 17/07/2013 08:21, Gleb Natapov ha scritto: >>> On Wed, Jul 17, 2013 at 02:08:54PM +0800, Arthur Chunqi Li wrote: >>>> Hi Gleb and Paolo, >>

Re: [PATCH v4 0/2] Basic nested VMX test suite

2013-07-17 Thread Paolo Bonzini
Il 17/07/2013 12:31, Gleb Natapov ha scritto: > On Wed, Jul 17, 2013 at 12:19:32PM +0200, Paolo Bonzini wrote: >> Il 17/07/2013 11:03, Gleb Natapov ha scritto: >>> This is not about taste, this is about hackability of the code. I will >>> maintain it >>> and I

Re: [PATCH v4 0/2] Basic nested VMX test suite

2013-07-17 Thread Paolo Bonzini
Il 17/07/2013 15:48, Arthur Chunqi Li ha scritto: > Actually, both structure are kind to me and except for some concerns > Gleb's solutions seems easier to read. > > The first concern is Gleb's way cannot set a seperate stack for > HOST_RSP, which I predefined this can be set by test suite's init

Re: [RFC PATCH] kvm-unit-tests : Basic architecture of VMX nested test case

2013-07-17 Thread Paolo Bonzini
Il 17/07/2013 20:54, Arthur Chunqi Li ha scritto: > +/* entry_sysenter */ > +asm( > + ".align 4, 0x90\n\t" > + ".globl entry_sysenter\n\t" > + "entry_sysenter:\n\t" > + SAVE_GPR > + " and $0xf, %rax\n\t" > + " push%rax\n\t" push should be wrong here, the

Re: KVM internal error. Suberror: 1, emulation failure

2013-07-17 Thread Paolo Bonzini
Il 17/07/2013 18:16, Dave Hansen ha scritto: > I'm causing qemu to spew these emulation failure messages until I kill > it. The guest kernel being run has been hacked up pretty heavily and is > probably either accessing bad physical addresses (above the address > ranges in the e820 table) or tryin

Re: [RFC PATCH] kvm-unit-tests : Basic architecture of VMX nested test case

2013-07-18 Thread Paolo Bonzini
Il 18/07/2013 09:26, Gleb Natapov ha scritto: > > I had written a long explanation here about why I don't trust the > > compiler to do the right thing, and ideas about how to fix that. But in > > the end the only workable solution is a single assembly blob like vmx.c > > in KVM to do vmlaunch/vmre

Re: [RFC PATCH] kvm-unit-tests : Basic architecture of VMX nested test case

2013-07-18 Thread Paolo Bonzini
Il 18/07/2013 13:06, Gleb Natapov ha scritto: > On Thu, Jul 18, 2013 at 12:47:46PM +0200, Paolo Bonzini wrote: >>>> and for a testsuite I'd prefer the latter---which means I'd still favor >>>> setjmp/longjmp. >>>> >>>> Now, here is the

Re: [PATCH 4/4] PF: Async page fault support on s390

2013-07-18 Thread Paolo Bonzini
Il 11/07/2013 12:41, Christian Borntraeger ha scritto: > On 11/07/13 11:04, Gleb Natapov wrote: >> On Wed, Jul 10, 2013 at 02:59:55PM +0200, Dominik Dingel wrote: >>> This patch enables async page faults for s390 kvm guests. >>> It provides the userspace API to enable, disable or get the status of

Re: [RFC PATCH] kvm-unit-tests : Basic architecture of VMX nested test case

2013-07-18 Thread Paolo Bonzini
Il 18/07/2013 21:57, Gleb Natapov ha scritto: > On Thu, Jul 18, 2013 at 02:08:51PM +0200, Paolo Bonzini wrote: >> Il 18/07/2013 13:06, Gleb Natapov ha scritto: >>> On Thu, Jul 18, 2013 at 12:47:46PM +0200, Paolo Bonzini wrote: >>>>>> and for a testsuite I&#

Re: [RFC PATCH] kvm-unit-tests : Basic architecture of VMX nested test case

2013-07-19 Thread Paolo Bonzini
Il 19/07/2013 11:40, Gleb Natapov ha scritto: >> Because this is written in C, and I know trying to fool the compiler is >> a losing game. So my reaction is "okay, HOST_RIP must be set so that >> code will not jump around". If I see >> >>asm("vmlaunch") >>exit(-1) >> >> the reaction is th

Re: [PATCH] x86: properly handle KVM emulation of hyperv

2013-07-19 Thread Paolo Bonzini
lso check > KVM_CPUID_SIGNATURE_NEXT which were set when kvm emulate hyperv. > > Cc: Gleb Natapov > Cc: Paolo Bonzini > Cc: Vadim Rozenfeld > Cc: K. Y. Srinivasan > Cc: Thomas Gleixner > Cc: Ingo Molnar > Cc: "H. Peter Anvin" > Signed-off-by: Jason Wang >

[GIT PULL] KVM fixes for 3.11-rc2

2013-07-19 Thread Paolo Bonzini
Linus, The following changes since commit ad81f0545ef01ea651886dddac4bef6cec930092: Linux 3.11-rc1 (2013-07-14 15:18:27 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-linus for you to fetch changes up to 1c118b8226922d225a7df4127926ed2

Re: [PATCH] x86: properly handle KVM emulation of hyperv

2013-07-19 Thread Paolo Bonzini
Il 19/07/2013 22:59, H. Peter Anvin ha scritto: >>> >> -cpuid(KVM_CPUID_SIGNATURE, &eax, &ebx, &ecx, &edx); >>> >> -memcpy(signature + 0, &ebx, 4); >>> >> -memcpy(signature + 4, &ecx, 4); >>> >> -memcpy(signature + 8, &edx, 4); >>> >>

Re: [PATCH 1/4] x86: introduce hypervisor_cpuid_base()

2013-07-23 Thread Paolo Bonzini
Il 23/07/2013 12:04, H. Peter Anvin ha scritto: > On 07/23/2013 02:41 AM, Jason Wang wrote: >> >> +static inline uint32_t hypervisor_cpuid_base(const char *sig, uint32_t >> leaves) >> +{ >> +uint32_t base, eax, ebx, ecx, edx; >> +char signature[13]; >> + >> +for (base = 0x4000; b

Re: [PATCH 2/4] xen: switch to use hypervisor_cpuid_base()

2013-07-23 Thread Paolo Bonzini
Il 23/07/2013 11:41, Jason Wang ha scritto: > Switch to use hypervisor_cpuid_base() to detect Xen. > > Cc: Konrad Rzeszutek Wilk > Cc: Jeremy Fitzhardinge > Cc: Thomas Gleixner > Cc: Ingo Molnar > Cc: "H. Peter Anvin" > Cc: x...@kernel.org

Re: [PATCH 3/4] kvm: switch to use hypervisor_cpuid_base()

2013-07-23 Thread Paolo Bonzini
Il 23/07/2013 11:41, Jason Wang ha scritto: > Switch to use hypervisor_cpuid_base() to detect KVM. > > Cc: Gleb Natapov > Cc: Paolo Bonzini > Cc: Thomas Gleixner > Cc: Ingo Molnar > Cc: "H. Peter Anvin" > Cc: x...@kernel.org > Cc: kvm@vger.k

Re: [PATCH 4/4] x86: properly handle kvm emulation of hyperv

2013-07-23 Thread Paolo Bonzini
ve > this by simply checking kvm in detect_hypervisor() first. > > Cc: Thomas Gleixner > Cc: Ingo Molnar > Cc: "H. Peter Anvin" > Cc: x...@kernel.org > Cc: Gleb Natapov > Cc: Paolo Bonzini > Cc: K. Y. Srinivasan > Signed-off-by: Jason Wang > --- &

Re: kvm: zapping shadow pages for mmio generation wraparound

2013-07-23 Thread Paolo Bonzini
Il 22/07/2013 22:57, Zlatko Calusic ha scritto: > I'm getting a lot of these in kernel 3.11.0-rc1: > > Jul 19 19:53:06 ps kernel: kvm: zapping shadow pages for mmio generation > wraparound > Jul 19 22:37:47 ps kernel: kvm: zapping shadow pages for mmio generation > wraparound > Jul 20 00:07:24 ps

Re: [RFC PATCH] kvm-unit-tests : Basic architecture of VMX nested test case

2013-07-23 Thread Paolo Bonzini
Il 24/07/2013 08:11, Arthur Chunqi Li ha scritto: > > static int vmx_run() > { > u32 eax; > bool ret; > > vmcs_write(HOST_RSP, get_rsp()); > ret = vmlaunch(); The compiler can still change rsp between here... > while (!ret) { > asm volatile( > "vmx_return

Re: [RFC PATCH] kvm-unit-tests : Basic architecture of VMX nested test case

2013-07-23 Thread Paolo Bonzini
Il 24/07/2013 08:46, Arthur Chunqi Li ha scritto: > On Wed, Jul 24, 2013 at 2:40 PM, Paolo Bonzini wrote: >> Il 24/07/2013 08:11, Arthur Chunqi Li ha scritto: >>> >>> static int vmx_run() >>> { >>> u32 eax; >>> bool ret; >>>

Re: [PATCH 4/4] x86: properly handle kvm emulation of hyperv

2013-07-24 Thread Paolo Bonzini
Il 24/07/2013 08:54, Jason Wang ha scritto: > On 07/24/2013 12:48 PM, H. Peter Anvin wrote: >> On 07/23/2013 09:37 PM, Jason Wang wrote: >>> On 07/23/2013 10:48 PM, H. Peter Anvin wrote: On 07/23/2013 06:55 AM, KY Srinivasan wrote: > This strategy of hypervisor detection based on some dete

Re: [RFC PATCH] kvm-unit-tests : Basic architecture of VMX nested test case

2013-07-24 Thread Paolo Bonzini
; /* vmlaunch/vmresume failed, exit */ > "4:\n\t" > "mov $1, %1\n\t" > "5:\n\t" > : "=r"(ret), "=r"(eax) > : "i"(HOST_RSP), "i"(VMX_TEST_VMEXIT), > "i"

Re: [PATCH 4/4] x86: properly handle kvm emulation of hyperv

2013-07-25 Thread Paolo Bonzini
Il 24/07/2013 23:37, H. Peter Anvin ha scritto: > What I'm suggesting is exactly that except that the native hypervisor is > later in CPUID space. Me too actually. I was just suggesting an implementation of the idea (that takes into account hypervisors detected by other means than CPUID). Paolo

Re: [PATCH 0/8] KVM: s390: fixes and cleanup

2013-07-29 Thread Paolo Bonzini
Il 26/07/2013 15:03, Christian Borntraeger ha scritto: > Gleb, Paolo, > > here are some fixes and cleanups for KVM/s390. > > The first two patches > "KVM: s390: move kvm_guest_enter,exit closer to sie" > and > "KVM: s390: fix pfmf non-quiescing control handling" > > should go into 3.11. Everythi

Re: [PATCH v4 01/13] nEPT: Support LOAD_IA32_EFER entry/exit controls for L1

2013-07-29 Thread Paolo Bonzini
Il 25/07/2013 12:59, Gleb Natapov ha scritto: > + * we should use its exit controls. Note that IA32_MODE, LOAD_IA32_EFER > + * bits are further modified by vmx_set_efer() below. IA32E_MODE, but the last sentence is not relevant anyway for this vmcs_write32; in fact, the next command basi

Re: [PATCH v4 03/13] nEPT: Fix wrong test in kvm_set_cr3

2013-07-29 Thread Paolo Bonzini
Il 25/07/2013 12:59, Gleb Natapov ha scritto: > diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c > index 89b15df..56d0066 100644 > --- a/arch/x86/kvm/vmx.c > +++ b/arch/x86/kvm/vmx.c > @@ -7596,8 +7596,7 @@ static void prepare_vmcs02(struct kvm_vcpu *vcpu, > struct vmcs12 *vmcs12) > kvm_

Re: [PATCH v4 09/13] nEPT: Add nEPT violation/misconfigration support

2013-07-29 Thread Paolo Bonzini
Il 25/07/2013 12:59, Gleb Natapov ha scritto: > +#if PTTYPE == PTTYPE_EPT > +#define CHECK_BAD_MT_XWR(G) mmu->bad_mt_xwr & (1ull << ((G) & 0x3f)); > +#else > +#define CHECK_BAD_MT_XWR(G) 0; > +#endif > + > static bool FNAME(is_rsvd_bits_set)(struct kvm_mmu *mmu, u64 gpte, int level) > { > i

Re: [PATCH v4 06/13] nEPT: Add EPT tables support to paging_tmpl.h

2013-07-29 Thread Paolo Bonzini
Il 25/07/2013 12:59, Gleb Natapov ha scritto: > From: Nadav Har'El > > This is the first patch in a series which adds nested EPT support to KVM's > nested VMX. Nested EPT means emulating EPT for an L1 guest so that L1 can use > EPT when running a nested guest L2. When L1 uses EPT, it allows the L

Re: [PATCH v4 11/13] nEPT: Advertise EPT to L1

2013-07-29 Thread Paolo Bonzini
Il 25/07/2013 12:59, Gleb Natapov ha scritto: > + if (enable_ept) { > + /* nested EPT: emulate EPT also to L1 */ > + nested_vmx_secondary_ctls_high |= SECONDARY_EXEC_ENABLE_EPT; > + nested_vmx_ept_caps = VMX_EPT_PAGE_WALK_4_BIT; > + nested_vmx_ept

Re: [PATCH v4 09/13] nEPT: Add nEPT violation/misconfigration support

2013-07-29 Thread Paolo Bonzini
Il 29/07/2013 12:52, Gleb Natapov ha scritto: > On Mon, Jul 29, 2013 at 10:59:31AM +0200, Paolo Bonzini wrote: >> Il 25/07/2013 12:59, Gleb Natapov ha scritto: >>> +#if PTTYPE == PTTYPE_EPT >>> +#define CHECK_BAD_MT_XWR(G) mmu->bad_mt_xwr & (1ull <<

Re: [PATCH v4 11/13] nEPT: Advertise EPT to L1

2013-07-29 Thread Paolo Bonzini
Il 29/07/2013 13:11, Gleb Natapov ha scritto: > > > + nested_vmx_ept_caps &= vmx_capability.ept; > > > > This is always missing VMX_EPT_EXECUTE_ONLY_BIT, should it be added > > before the "&=". > > I am not at all sure our current shadow implementation can support > execute only pages. Be

Re: [PATCH v4 06/13] nEPT: Add EPT tables support to paging_tmpl.h

2013-07-29 Thread Paolo Bonzini
Il 29/07/2013 13:33, Gleb Natapov ha scritto: > On Mon, Jul 29, 2013 at 11:48:06AM +0200, Paolo Bonzini wrote: >> Il 25/07/2013 12:59, Gleb Natapov ha scritto: >>> From: Nadav Har'El >>> >>> This is the first patch in a series which adds nested EPT su

Re: [PATCH v4 09/13] nEPT: Add nEPT violation/misconfigration support

2013-07-29 Thread Paolo Bonzini
Il 29/07/2013 13:43, Gleb Natapov ha scritto: > On Mon, Jul 29, 2013 at 12:59:54PM +0200, Paolo Bonzini wrote: >> Il 29/07/2013 12:52, Gleb Natapov ha scritto: >>> On Mon, Jul 29, 2013 at 10:59:31AM +0200, Paolo Bonzini wrote: >>>> Il 25/07/2013 12:59, Gleb Natapov

Re: [PATCH v4 09/13] nEPT: Add nEPT violation/misconfigration support

2013-07-29 Thread Paolo Bonzini
Il 29/07/2013 14:34, Gleb Natapov ha scritto: But I think what you _really_ want is not avoiding conditional branches. >>> The idea is that it is hard for branch prediction to predict correct >>> result when correct result depends on guest's page table that can >>> contain anything, so in some

Re: [PATCH v4 06/13] nEPT: Add EPT tables support to paging_tmpl.h

2013-07-29 Thread Paolo Bonzini
Il 29/07/2013 14:24, Gleb Natapov ha scritto: >> My initial impression to this patch was "everything's ready after the >> previous patch, you just have to set the mask to 0". Which is not quite >> true. Maybe you need three patches instead of two. >> > Or change commit message for patch 5 to make

Re: [PATCH v4 09/13] nEPT: Add nEPT violation/misconfigration support

2013-07-29 Thread Paolo Bonzini
Il 29/07/2013 15:20, Gleb Natapov ha scritto: >> 2) in cases like this you just do not use likely/unlikely; the branch >> will be very unlikely in the beginning, and very likely once shadow >> pages are filled or in the no-EPT case. Just let the branch predictor >> adjust, it will probably do bett

Re: [PATCH v4 01/13] nEPT: Support LOAD_IA32_EFER entry/exit controls for L1

2013-07-29 Thread Paolo Bonzini
Il 29/07/2013 15:12, Gleb Natapov ha scritto: >> Il 25/07/2013 12:59, Gleb Natapov ha scritto: >>> > > +* we should use its exit controls. Note that IA32_MODE, >>> > > LOAD_IA32_EFER >>> > > +* bits are further modified by vmx_set_efer() below. >> > >> > IA32E_MODE, but the last s

Re: [PATCH v4 06/13] nEPT: Add EPT tables support to paging_tmpl.h

2013-07-29 Thread Paolo Bonzini
Il 29/07/2013 15:27, Gleb Natapov ha scritto: doesn't look bad at all. With the old check on EPT it looked ugly, but with the new check on PT_GUEST_DIRTY_MASK it is quite natural. Also because you have anyway a reference to PT_GUEST_DIRTY_MASK in the "if". If I see

Re: [PATCH v4 06/13] nEPT: Add EPT tables support to paging_tmpl.h

2013-07-29 Thread Paolo Bonzini
Il 29/07/2013 18:14, Gleb Natapov ha scritto: >> > accessed_dirty &= >> > pte >> (PT_DIRTY_SHIFT - PT_ACCESSED_SHIFT); >> > >> > if (PT_GUEST_DIRTY_MASK != 0 && >> > unlikely(!accessed_dirty)) { >> > >>

Re: [PATCH v4 09/13] nEPT: Add nEPT violation/misconfigration support

2013-07-29 Thread Paolo Bonzini
Il 29/07/2013 18:24, Gleb Natapov ha scritto: > On Mon, Jul 29, 2013 at 04:12:33PM +0200, Paolo Bonzini wrote: >> Il 29/07/2013 15:20, Gleb Natapov ha scritto: >>>> 2) in cases like this you just do not use likely/unlikely; the branch >>>> will be very unlikely

Re: [PATCH v4 06/13] nEPT: Add EPT tables support to paging_tmpl.h

2013-07-29 Thread Paolo Bonzini
Il 29/07/2013 18:43, Gleb Natapov ha scritto: > On Mon, Jul 29, 2013 at 06:28:37PM +0200, Paolo Bonzini wrote: >> Il 29/07/2013 18:14, Gleb Natapov ha scritto: >>>>>>>>>>>>> accessed_dirty &= >>>>>&g

Re: [PATCH v4 06/13] nEPT: Add EPT tables support to paging_tmpl.h

2013-07-30 Thread Paolo Bonzini
Il 25/07/2013 12:59, Gleb Natapov ha scritto: > From: Nadav Har'El > > This is the first patch in a series which adds nested EPT support to KVM's > nested VMX. Nested EPT means emulating EPT for an L1 guest so that L1 can use > EPT when running a nested guest L2. When L1 uses EPT, it allows the L

Re: [PATCH v4 06/13] nEPT: Add EPT tables support to paging_tmpl.h

2013-07-30 Thread Paolo Bonzini
Il 30/07/2013 13:56, Gleb Natapov ha scritto: >>> diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c >>> index 4c4274d..b5273c3 100644 >>> --- a/arch/x86/kvm/mmu.c >>> +++ b/arch/x86/kvm/mmu.c >>> @@ -3494,6 +3494,11 @@ static inline bool is_last_gpte(struct kvm_mmu *mmu, >>> unsigned level, uns

Re: [PATCH 04/12] KVM: MMU: log dirty page after marking spte writable

2013-07-30 Thread Paolo Bonzini
Il 30/07/2013 15:02, Xiao Guangrong ha scritto: > Make sure we can see the writable spte before the dirt bitmap is visible > > We do this is for kvm_vm_ioctl_get_dirty_log() write-protects the spte based > on the dirty bitmap, we should ensure the writable spte can be found in rmap > before the di

Re: [PATCH 05/12] KVM: MMU: add spte into rmap before logging dirty page

2013-07-30 Thread Paolo Bonzini
Il 30/07/2013 15:02, Xiao Guangrong ha scritto: > kvm_vm_ioctl_get_dirty_log() write-protects the spte based on the dirty > bitmap, we should ensure the writable spte can be found in rmap before the > dirty bitmap is visible. Otherwise, we cleared the dirty bitmap and failed > to write-protect the

Re: [PATCH v3] kvm-unit-tests : Basic architecture of VMX nested test case

2013-07-30 Thread Paolo Bonzini
Il 30/07/2013 16:57, Arthur Chunqi Li ha scritto: > On Tue, Jul 30, 2013 at 10:53 PM, Paolo Bonzini wrote: >> Il 28/07/2013 16:00, Arthur Chunqi Li ha scritto: >>> + >>> + while (1) { >>> + asm volatile ( >>>

Re: [PATCH v3] kvm-unit-tests : Basic architecture of VMX nested test case

2013-07-30 Thread Paolo Bonzini
Il 28/07/2013 16:00, Arthur Chunqi Li ha scritto: > + > + while (1) { > + asm volatile ( > + "mov %%rsp, %%rsi\n\t" > + "mov %2, %%rdi\n\t" > + "vmwrite %%rsi, %%rdi\n\t" > + > + LOAD_GPR_C > +

[PATCH] KVM: introduce __kvm_io_bus_sort_cmp

2013-07-30 Thread Paolo Bonzini
kvm_io_bus_sort_cmp is used also directly, not just as a callback for sort and bsearch. In these cases, it is handy to have a type-safe variant. This patch introduces such a variant, __kvm_io_bus_sort_cmp, and uses it throughout kvm_main.c. Signed-off-by: Paolo Bonzini --- virt/kvm/kvm_main.c

[PATCH 3/3] KVM: x86: handle singlestep during emulation

2013-07-30 Thread Paolo Bonzini
modified. Signed-off-by: Paolo Bonzini --- arch/x86/kvm/x86.c | 39 ++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 1368cf5..9805cfd 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -4971,6

[PATCH 2/3] KVM: x86: handle hardware breakpoints during emulation

2013-07-30 Thread Paolo Bonzini
This lets debugging work better during emulation of invalid guest state. The check is done before emulating the instruction, and (in the case of guest debugging) reuses EMULATE_DO_MMIO to exit with KVM_EXIT_DEBUG. Signed-off-by: Paolo Bonzini --- arch/x86/kvm/x86.c | 66

[PATCH 0/2] KVM: x86: minimal debugging support during emulation

2013-07-30 Thread Paolo Bonzini
-stepping. Software breakpoints and hardware watchpoints are still ignored. Paolo v1->v2: rename EMULATE_DO_MMIO to EMULATE_USER_EXIT; return EMULATE_* value via pointer-to-int argument. Paolo Bonzini (3): KVM: x86: rename EMULATE_DO_MMIO KVM: x86: handle hardware breakpoints dur

[PATCH 1/3] KVM: x86: rename EMULATE_DO_MMIO

2013-07-30 Thread Paolo Bonzini
The next patch will reuse it for other userspace exits than MMIO, namely debug events. Signed-off-by: Paolo Bonzini --- arch/x86/include/asm/kvm_host.h | 4 ++-- arch/x86/kvm/mmu.c | 2 +- arch/x86/kvm/vmx.c | 2 +- arch/x86/kvm/x86.c | 4 ++-- 4 files

Re: [PATCH 3/3] KVM: x86: handle singlestep during emulation

2013-07-31 Thread Paolo Bonzini
- Gleb Natapov wrote: > On Tue, Jul 30, 2013 at 05:11:36PM +0200, Paolo Bonzini wrote: > > This lets debugging work better during emulation of invalid > > guest state. > > > > This time the check is done after emulation, but before writeback > > of the

Re: [PATCH] KVM: introduce __kvm_io_bus_sort_cmp

2013-07-31 Thread Paolo Bonzini
- Gleb Natapov wrote: > On Tue, Jul 30, 2013 at 05:05:37PM +0200, Paolo Bonzini wrote: > > kvm_io_bus_sort_cmp is used also directly, not just as a callback for > > sort and bsearch. In these cases, it is handy to have a type-safe > > variant. This patch intr

Re: [PATCH] virtio-scsi: Fix virtqueue affinity setup

2013-08-01 Thread Paolo Bonzini
> vscsi->num_queues counts the number of request virtqueue which does not > include the control and event virtqueue. It is wrong to subtract > VIRTIO_SCSI_VQ_BASE from vscsi->num_queues. Reviewed-by: Paolo Bonzini > This patch fixes the following panic. > > (qemu) de

Re: [PATCH v5 07/14] nEPT: Add EPT tables support to paging_tmpl.h

2013-08-01 Thread Paolo Bonzini
On Aug 01 2013, Xiao Guangrong wrote: > On 08/01/2013 03:42 PM, Gleb Natapov wrote: > > On Thu, Aug 01, 2013 at 03:31:01PM +0800, Xiao Guangrong wrote: > >> On 08/01/2013 03:18 PM, Xiao Guangrong wrote: > >> +#endif > > > > Hmm, why not use shadow_x_mask, shadow_user_mask instead? >

Re: [PATCH v5 10/14] nEPT: Add nEPT violation/misconfigration support

2013-08-01 Thread Paolo Bonzini
On Aug 01 2013, Gleb Natapov wrote: > On Thu, Aug 01, 2013 at 04:31:31PM +0800, Xiao Guangrong wrote: > > On 07/31/2013 10:48 PM, Gleb Natapov wrote: > > > From: Yang Zhang > > > > > > Inject nEPT fault to L1 guest. This patch is original from Xinhao. > > > > > > Signed-off-by: Jun Nakajima >

Re: [PATCH v5 10/14] nEPT: Add nEPT violation/misconfigration support

2013-08-01 Thread Paolo Bonzini
On Aug 01 2013, Gleb Natapov wrote: > On Thu, Aug 01, 2013 at 01:19:11PM +0200, Paolo Bonzini wrote: > > On Aug 01 2013, Gleb Natapov wrote: > > > On Thu, Aug 01, 2013 at 04:31:31PM +0800, Xiao Guangrong wrote: > > > > On 07/31/2013 10:48 PM, Gleb Natapov wro

Re: [PATCH v5 10/14] nEPT: Add nEPT violation/misconfigration support

2013-08-01 Thread Paolo Bonzini
> > > > > > Not sure this explicit "inline" is needed... Gcc always inlines the > > > > > > small and > > > > > > static functions. > > > > > > > > > > Paolo asked for it, but now I see that I did in in a wrong patch. I do > > > > > not care much personally either way, I agree with you though, co

Re: [PATCH v7 01/15] nEPT: Support LOAD_IA32_EFER entry/exit controls for L1

2013-08-05 Thread Paolo Bonzini
> > diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c > > index e999dc7..27efa6a 100644 > > --- a/arch/x86/kvm/vmx.c > > +++ b/arch/x86/kvm/vmx.c > > @@ -2198,7 +2198,8 @@ static __init void nested_vmx_setup_ctls_msrs(void) > > #else > > nested_vmx_exit_ctls_high = 0; > > #endif > > -

Re: [PATCH v2] KVM: nVMX: Advertise IA32_PAT in VM exit control

2013-08-05 Thread Paolo Bonzini
- Original Message - > From: "Arthur Chunqi Li" > To: kvm@vger.kernel.org > Cc: "jan kiszka" , g...@redhat.com, pbonz...@redhat.com, > "Arthur Chunqi Li" > Sent: Monday, August 5, 2013 1:18:13 PM > Subject: [PATCH v2] KVM: nVMX: Advertise IA32_PAT in VM exit control > > Advertise VM_E

Re: [PATCH RFC V11 15/18] kvm : Paravirtual ticketlocks support for linux guests running on KVM hypervisor

2013-08-05 Thread Paolo Bonzini
> > On Mon, Aug 05, 2013 at 11:46:03AM +0200, Ingo Molnar wrote: > > > Acked-by: Ingo Molnar > > > > > > I guess you'd want to carry this in the KVM tree or so - maybe in a > > > separate branch because it changes Xen as well? > > > > It changes KVM host and guest side, XEN and common x86 spinlo

Re: [PATCH RFC V11 15/18] kvm : Paravirtual ticketlocks support for linux guests running on KVM hypervisor

2013-08-05 Thread Paolo Bonzini
> Only thing I am thinking is about KVM_FEATURE_PV_UNHALT, and > KVM_HC_KICK_CPU definition in the below hunk, that is needed by guest > as well. may be this header file change can be a separate patch so that > duplicate can be handled easily during merge? Sure, good idea. Paolo > I do testing o

Re: KVM call minutes for 2013-08-06

2013-08-06 Thread Paolo Bonzini
On 08/06/2013 05:15 PM, Juan Quintela wrote: * pvpanic - was added by default in 1.5, this might have been too rash: - might change guest behaviour if guest is set to reboot on panic Interesting, but it looks like either a feature or a driver bug. - might cause slightly annoyi

Re: [PATCH] kvm: Make kvm_rebooting visible

2013-08-07 Thread Paolo Bonzini
On 08/06/2013 12:12 AM, Andi Kleen wrote: From: Andi Kleen kvm_rebooting is referenced from assembler code, thus needs to be visible. Signed-off-by: Andi Kleen --- virt/kvm/kvm_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_mai

Re: [PATCH v2 5/8] KVM: nVMX: Fix guest CR3 read-back on VM-exit

2013-08-07 Thread Paolo Bonzini
On 08/07/2013 02:46 PM, Jan Kiszka wrote: On 2013-08-07 14:39, Gleb Natapov wrote: On Tue, Aug 06, 2013 at 05:57:02PM +0200, Jan Kiszka wrote: On 2013-08-06 17:53, Gleb Natapov wrote: On Tue, Aug 06, 2013 at 05:48:54PM +0200, Jan Kiszka wrote: On 2013-08-06 17:04, Zhang, Yang Z wrote: Gleb N

Re: [PATCH v2 5/8] KVM: nVMX: Fix guest CR3 read-back on VM-exit

2013-08-07 Thread Paolo Bonzini
On 08/07/2013 03:38 PM, Gleb Natapov wrote: On Wed, Aug 07, 2013 at 03:32:37PM +0200, Paolo Bonzini wrote: diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c index 44494ed..60a3644 100644 --- a/arch/x86/kvm/vmx.c +++ b/arch/x86/kvm/vmx.c @@ -3375,8 +3375,10 @@ static void vmx_set_cr3(struct

Re: [PATCH v2 0/8] KVM: nVMX: Enable unrestricted guest mode and fix some nEPT issues

2013-08-07 Thread Paolo Bonzini
On 08/06/2013 10:39 AM, Jan Kiszka wrote: These patches apply on top of nEPT v7. Changes in v2: - rebased over v7 - added patch to fix VM_ENTRY_IA32E_MODE reporting Jan Kiszka (8): KVM: nEPT: Advertise WB type EPTP KVM: nVMX: Fix up VM_ENTRY_IA32E_MODE control feature reporting KVM

Re: [PATCH] KVM: MMU: fix check the reserved bits on the gpte of L2

2013-08-07 Thread Paolo Bonzini
On 08/05/2013 06:59 AM, 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 since it is adapted to the c

Re: [PATCH] KVM: nVMX: correctly set tr base on nested vmexit emulation

2013-08-07 Thread Paolo Bonzini
On 08/04/2013 02: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://bugzilla.kernel.org/show_bug.cgi?id=60679 Signed-off-by: Gleb Natapov diff --git a/arch/x86/kvm/vmx.c b/arch/x8

Re: [PATCH v7 00/15] Nested EPT

2013-08-07 Thread Paolo Bonzini
On 08/05/2013 10:07 AM, Gleb Natapov wrote: Xiao comment about checking ept pointer before flushing individual ept context is addressed here. Gleb Natapov (3): nEPT: make guest's A/D bits depends on guest's paging mode nEPT: Support shadow paging for guest paging without A/D bits nEPT:

Re: [PATCH v3] kvm-unit-tests: VMX: Split VMX test suites to separate file

2013-08-07 Thread Paolo Bonzini
On 08/05/2013 05:32 AM, Arthur Chunqi Li wrote: 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 +

Re: [PATCH] kvm-unit-tests: VMX: Separate host and guest rflags

2013-08-07 Thread Paolo Bonzini
On 08/05/2013 02:43 PM, Arthur Chunqi Li wrote: Separate host_rflags and guest_rflags (regs.rflags used for guest). Fix bug of set/get guest rflags when vmenter/vmexit. Signed-off-by: Arthur Chunqi Li Applied, thanks. Not putting it on the stack is fine, but please do a followup patch to de

Re: KVM Test report, kernel bf640876... qemu 0779caeb...

2013-08-08 Thread Paolo Bonzini
> > I can't trace the bug, either. > > > > kvm: branch next: bf640876e21fe603f7f52b0c27d66b7716da0384 (some > > patches ahead of the bug report version) > > qemu-kvm: branch uq/master: > > 0779caeb1a17f4d3ed14e2925b36ba09b084fb7b > > guest: rhel 6.4, kernel 2.6.32-358.el6.x86_64 > > I can still r

Re: vm performance degradation after kvm live migration or save-restore with EPT enabled

2013-08-08 Thread Paolo Bonzini
On 08/08/2013 01:31 PM, Zhanghaoyu (A) wrote: > And, rebuild the kvm-kmod, then re-insmod kvm-intel.ko with ept=0, I virsh-save the VM, and then virsh-restore the VM, the performance degradation disappeared, and no GFN printed. But, I also made a test on the first bad commit(612819c3c6e67bac8

Re: [RFC PATCH 00/12] KVM: MMU: locklessly wirte-protect

2013-08-08 Thread Paolo Bonzini
Il 06/08/2013 15:16, Xiao Guangrong ha scritto: > Hi Gleb, Paolo, Marcelo, Takuya, > > Any comments or further comments? :) It's not the easiest patch to review. I've looked at it (beyond the small comments I have already posted), but it will take some time to digest it... By the way, both I an

Re: [PATCH 0/3] mips/kvm: Code cleanups for kvm_locore.S

2013-08-09 Thread Paolo Bonzini
--- > 1 file changed, 480 insertions(+), 485 deletions(-) > Acked-by: Paolo Bonzini -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: Are there plans to achieve ram live Snapshot feature?

2013-08-09 Thread Paolo Bonzini
Il 09/08/2013 12:20, Chijianchun ha scritto: > Now in KVM, when RAM snapshot, vcpus needs stopped, it is Unfriendly > restrictions to users. > > Are there plans to achieve ram live Snapshot feature? > > in my mind, Snapshots can not occupy additional too much memory, So when > the memory needs

kvm/queue still ahead of kvm/next

2013-08-09 Thread Paolo Bonzini
Hi all, I'm seeing some breakage of shadow-on-shadow and shadow-on-EPT nested VMX. Until I can track more precisely whether it is a regression, and on which hosts I can reproduce it, I'm going to leave the patches out of kvm/next. The good news is that nested EPT works pretty well. :) Paolo --

[GIT PULL] KVM/S390 fixes for 3.11-rc4

2013-08-09 Thread Paolo Bonzini
The following changes since commit 90db76e829479ef2ba1fed8f2552846015469831: Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 (2013-07-20 20:11:42 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/virt/kvm/kvm.git tags/for-li

Re: [PATCH] KVM: x86: Update symbolic exit codes

2013-08-11 Thread Paolo Bonzini
Il 11/08/2013 09:10, Jan Kiszka ha scritto: > From: Jan Kiszka > > Add decoding for INVEPT and reorder the list according to the reason > numbers. > > Signed-off-by: Jan Kiszka > --- > > Applies on top of queue. > > arch/x86/include/uapi/asm/vmx.h |5 +++-- > 1 files changed, 3 insertion

Re: VMCALL to KVM userspace?

2013-08-13 Thread Paolo Bonzini
Il 13/08/2013 16:33, Florian Pester ha scritto: > Hi, > > for a uni project I'm trying to write a userspace for KVM that can run > ELF binaries without a full blown OS in the guest. The idea is to handle > any syscalls made by the binary running inside the guest in the > userspace of the host. In

Re: KVM Block Device Driver

2013-08-18 Thread Paolo Bonzini
Il 14/08/2013 20:44, Spensky, Chad - 0559 - MITLL ha scritto: > Wolfgang, > > Thanks so much for the response. It turns out that wasn't handling the > QEMUIOVector properly. When I first implemented it, I saw that the iovec > was a pointer and assumed that there would only ever be one. Given

Re: [PATCH 2/4] kvm-unit-tests: VMX: Add test cases for CR0/4 shadowing

2013-08-18 Thread Paolo Bonzini
Il 15/08/2013 09:59, Arthur Chunqi Li ha scritto: >> > volatile u32 stage? And we have barrier() to avoid reordering. > Reordering here is not a big deal here, though it is actually needed > here. I occurred the following problem: > > stage = 1; > do something that causes vmexit; > stage = 2; > >

Re: [uq/master patch 1/2] kvm-all.c: use recommended max vcpus limit

2013-08-18 Thread Paolo Bonzini
Il 12/08/2013 21:56, Marcelo Tosatti ha scritto: > Commit 8c3ba334f8588e1d5099f8602cf01897720e0eca, "KVM: x86: Raise the > hard VCPU count limit", upstream introduced the notion of a recommended > vcpu max limit. > > Switch the order so the recommended vcpu max limit is used instead of > the actua

Re: [PATCH] qemu-kvm bugfix for IA32_FEATURE_CONTROL

2013-08-19 Thread Paolo Bonzini
Il 18/08/2013 20:23, Liu, Jinsong ha scritto: > From 1273f8b2e5464ec987facf9942fd3ccc0b69087e Mon Sep 17 00:00:00 2001 > From: Liu Jinsong > Date: Mon, 19 Aug 2013 09:33:30 +0800 > Subject: [PATCH] qemu-kvm bugfix for IA32_FEATURE_CONTROL > > This patch is to fix the bug https://bugs.launchpad.ne

<    5   6   7   8   9   10   11   12   13   14   >