Re: [Qemu-devel] [PATCH 0/2] mips/kvm: Fixes for big endian & MIPS64 hosts

2015-07-09 Thread Paolo Bonzini
On 09/07/2015 16:00, Peter Maydell wrote: >> > >> > I've actually just applied them to master as buildfixes :-) > No, wait, I'm confusing this set with a different 2-patch > set of MIPS fixes. Paolo, can you go ahead and take them through > the kvm tree? Sure, I had already queued them in fact.

Re: [PATCH 0/2] mips/kvm: Fixes for big endian & MIPS64 hosts

2015-07-09 Thread Paolo Bonzini
On 09/07/2015 10:13, Leon Alrae wrote: > On 08/07/2015 16:22, Paolo Bonzini wrote: >> On 08/07/2015 17:03, James Hogan wrote: >>> Hi Paolo, >>> >>> On 24/04/15 11:26, James Hogan wrote: >>>> A couple of small fixes for accessing 32-bit KVM registe

Re: [PATCH] target-i386: Sanity check host processor physical address width

2015-07-09 Thread Paolo Bonzini
On 09/07/2015 10:26, Laszlo Ersek wrote: >> > >> > Perhaps KVM could simply hide memory above the limit (i.e. treat it as >> > MMIO), and the BIOS could remove RAM above the limit from the e820 >> > memory map? > I'd prefer to leave the guest firmware*s* out of this... :) > > E820 is a legacy B

Re: [PATCH] KVM: Add Kconfig option to signal cross-endian guests

2015-07-09 Thread Paolo Bonzini
On 09/07/2015 11:48, Laurent Vivier wrote: > > > On 09/07/2015 09:49, Thomas Huth wrote: >> The option for supporting cross-endianness legacy guests in >> the vhost and tun code should only be available on systems >> that support cross-endian guests. > > I'm sure I misunderstand something, but

Re: [PATCH] kvm: x86: fix load xsave feature warning

2015-07-09 Thread Paolo Bonzini
On 09/07/2015 09:44, Wanpeng Li wrote: > [ 68.196974] WARNING: CPU: 1 PID: 2140 at arch/x86/kvm/x86.c:3161 > kvm_arch_vcpu_ioctl+0xe88/0x1340 [kvm]() > [ 68.196975] Modules linked in: snd_hda_codec_hdmi i915 rfcomm bnep > bluetooth i2c_algo_bit rfkill nfsd drm_kms_helper nfs_acl nfs drm loc

Re: [PATCH] KVM: x86: Add host physical address width capability

2015-07-09 Thread Paolo Bonzini
On 09/07/2015 08:43, Laszlo Ersek wrote: > On 07/09/15 08:09, Paolo Bonzini wrote: >> >> >> On 09/07/2015 00:36, Bandan Das wrote: >>> Let userspace inquire the maximum physical address width >>> of the host processors; this can be used to identify maximum

Re: [PATCH] target-i386: Sanity check host processor physical address width

2015-07-09 Thread Paolo Bonzini
On 09/07/2015 00:42, Bandan Das wrote: > > If a Linux guest is assigned more memory than is supported > by the host processor, the guest is unable to boot. That > is expected, however, there's no message indicating the user > what went wrong. This change prints a message to stderr if > KVM has t

Re: [PATCH] KVM: x86: Add host physical address width capability

2015-07-08 Thread Paolo Bonzini
On 09/07/2015 00:36, Bandan Das wrote: > Let userspace inquire the maximum physical address width > of the host processors; this can be used to identify maximum > memory that can be assigned to the guest. > > Reported-by: Laszlo Ersek > Signed-off-by: Bandan Das > --- > arch/x86/kvm/x86.c

Re: [PATCH 07/13] arm64: KVM: VHE: Patch out use of HVC

2015-07-08 Thread Paolo Bonzini
On 08/07/2015 18:19, Marc Zyngier wrote: > +/* Hack to allow stringification of macros... */ > +#define __S__(a,args...) __stringify(a, ##args) > +#define _S_(a,args...) __S__(a, args) > + > +.macro ifnvhe nonvhe vhe > + alternative_insn"\nonvhe", "\vhe", ARM64_HAS_V

Re: [PATCH 0/2] mips/kvm: Fixes for big endian & MIPS64 hosts

2015-07-08 Thread Paolo Bonzini
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 On 08/07/2015 17:03, James Hogan wrote: > Hi Paolo, > > On 24/04/15 11:26, James Hogan wrote: >> A couple of small fixes for accessing 32-bit KVM registers on >> big endian, and to sign extend struct kvm_regs registers so as to >> work on MIPS64 h

[RFC/RFT PATCH v3 0/4] KVM: x86: full virtualization of guest MTRR

2015-07-08 Thread Paolo Bonzini
value Paolo Bonzini (3): KVM: count number of assigned devices KVM: SVM: use NPT page attributes KVM: x86: apply guest MTRR virtualization on host reserved pages arch/x86/include/asm/kvm_host.h | 2 + arch/x86/kvm/iommu.c| 2 + arch/x86/kvm/svm.c

[PATCH 2/4] KVM: SVM: use NPT page attributes

2015-07-08 Thread Paolo Bonzini
s the type. Signed-off-by: Paolo Bonzini --- arch/x86/kvm/svm.c | 101 ++--- 1 file changed, 96 insertions(+), 5 deletions(-) diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index 602b974a60a6..414ec25b673e 100644 --- a/arch/x86/kvm/svm.c +++ b

[PATCH 1/4] KVM: count number of assigned devices

2015-07-08 Thread Paolo Bonzini
ignment so that they provide this information to KVM. Signed-off-by: Paolo Bonzini --- arch/x86/include/asm/kvm_host.h | 2 ++ arch/x86/kvm/iommu.c| 2 ++ arch/x86/kvm/x86.c | 18 ++ include/linux/kvm_host.h| 18 ++ virt/

[PATCH 4/4] KVM: x86: apply guest MTRR virtualization on host reserved pages

2015-07-08 Thread Paolo Bonzini
. Suggested-by: Xiao Guangrong Signed-off-by: Paolo Bonzini --- arch/x86/kvm/svm.c | 7 ++- arch/x86/kvm/vmx.c | 11 +++ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index d36cfaf5a97a..bbc678a66b18 100644 --- a/arch/x86/kvm/svm.c

[PATCH 3/4] KVM: SVM: Sync g_pat with guest-written PAT value

2015-07-08 Thread Paolo Bonzini
From: Jan Kiszka When hardware supports the g_pat VMCB field, we can use it for emulating the PAT configuration that the guest configures by writing to the corresponding MSR. Signed-off-by: Jan Kiszka Signed-off-by: Paolo Bonzini --- arch/x86/kvm/svm.c | 10 ++ 1 file changed, 10

Re: [PATCH 2/4] KVM: SVM: use NPT page attributes

2015-07-08 Thread Paolo Bonzini
On 08/07/2015 07:59, Xiao Guangrong wrote: > > > On 07/07/2015 09:45 PM, Paolo Bonzini wrote: >> Right now, NPT page attributes are not used, and the final page >> attribute depends solely on gPAT (which however is not synced >> correctly), the guest MTRRs an

Re: [PATCH 1/4] KVM: count number of assigned devices

2015-07-07 Thread Paolo Bonzini
On 07/07/2015 17:22, Alex Williamson wrote: >> > -#define __KVM_HAVE_ARCH_NONCOHERENT_DMA >> > +#define __KVM_HAVE_ARCH_VFIO_HOOKS > Do we really want to tie these two things together under something > that's not strictly a "vfio" option? Legacy assignment also makes use > of these, as shown in

Re: [RFC/RFT PATCH v2 0/4] KVM: x86: full virtualization of guest MTRR

2015-07-07 Thread Paolo Bonzini
On 07/07/2015 16:06, Joerg Roedel wrote: > > I do not have any AMD machines that support an IOMMU, so I would like > > some help testing these patches. Thanks, > > What kind of testing do you want? Booting a guest with a device attached > is probably not sufficient, right? The guest should not

Re: [PATCH] KVM: VMX: fix vmwrite to invalid VMCS

2015-07-07 Thread Paolo Bonzini
On 07/07/2015 15:50, Radim Krčmář wrote: >> Andrey reported offlist that the bug went away by reverting 1cde293. So >> the patch would at least need a new commit message. :) > > I think it's a different bug than the one Andrey reproduced > (https://bugzilla.kernel.org/show_bug.cgi?id=100671).

[PATCH 2/4] KVM: SVM: use NPT page attributes

2015-07-07 Thread Paolo Bonzini
tting only includes the other types. Signed-off-by: Paolo Bonzini --- arch/x86/kvm/svm.c | 47 ++- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index 602b974a60a6..0f125c1860ec 100644 --- a/arc

[PATCH 1/4] KVM: count number of assigned devices

2015-07-07 Thread Paolo Bonzini
ignment so that they provide this information to KVM. Signed-off-by: Paolo Bonzini --- arch/x86/include/asm/kvm_host.h | 3 ++- arch/x86/kvm/iommu.c| 2 ++ arch/x86/kvm/x86.c | 18 ++ include/linux/kvm_host.h| 18 +- virt/

[PATCH 4/4] KVM: x86: apply guest MTRR virtualization on host reserved pages

2015-07-07 Thread Paolo Bonzini
. Suggested-by: Xiao Guangrong Signed-off-by: Paolo Bonzini --- arch/x86/kvm/svm.c | 7 ++- arch/x86/kvm/vmx.c | 11 +++ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index 728ac43fae16..43f3a2a3479a 100644 --- a/arch/x86/kvm/svm.c

[PATCH 3/4] KVM: SVM: Sync g_pat with guest-written PAT value

2015-07-07 Thread Paolo Bonzini
From: Jan Kiszka When hardware supports the g_pat VMCB field, we can use it for emulating the PAT configuration that the guest configures by writing to the corresponding MSR. Signed-off-by: Jan Kiszka Signed-off-by: Paolo Bonzini --- arch/x86/kvm/svm.c | 10 ++ 1 file changed, 10

[RFC/RFT PATCH v2 0/4] KVM: x86: full virtualization of guest MTRR

2015-07-07 Thread Paolo Bonzini
would like some help testing these patches. Thanks, Paolo v1->v2: AMD IOMMUs do have snooping control [Joerg] New patch 1 Jan Kiszka (1): KVM: SVM: Sync g_pat with guest-written PAT value Paolo Bonzini (3): KVM: count number of assigned devices KVM: SVM: use NPT page attribu

Re: [RFC v2 3/6] irq: bypass: Extend skeleton for ARM forwarding control

2015-07-07 Thread Paolo Bonzini
On 07/07/2015 13:33, Wu, Feng wrote: >>> > > The need to store the consumer->producer link seems to be unique to >>> > > posted interrupts. It is difficult to say without seeing the PI code, >>> > > but I prefer to keep the bypass manager as small as possible. >> > >> > Fine. I will follow your

[PATCH] KVM: x86: reintroduce kvm_is_mmio_pfn

2015-07-07 Thread Paolo Bonzini
The call to get_mt_mask was really using kvm_is_reserved_pfn to detect an MMIO-backed page. In this case, we want "false" to be returned for the zero page. Reintroduce a separate kvm_is_mmio_pfn predicate for this use only. Signed-off-by: Paolo Bonzini --- arch/x86/kvm/

[PATCH 3/3] KVM: x86: apply guest MTRR virtualization on host reserved pages

2015-07-07 Thread Paolo Bonzini
. Suggested-by: Xiao Guangrong Signed-off-by: Paolo Bonzini --- arch/x86/kvm/svm.c | 7 ++- arch/x86/kvm/vmx.c | 11 +++ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index 089153666c54..c97a96a32768 100644 --- a/arch/x86/kvm/svm.c

[PATCH 1/3] KVM: SVM: use NPT page attributes

2015-07-07 Thread Paolo Bonzini
tting only includes the other types. Signed-off-by: Paolo Bonzini --- arch/x86/kvm/svm.c | 47 ++- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index 602b974a60a6..1eeb412e057b 100644 --- a/arc

[PATCH 2/3] KVM: SVM: Sync g_pat with guest-written PAT value

2015-07-07 Thread Paolo Bonzini
From: Jan Kiszka When hardware supports the g_pat VMCB field, we can use it for emulating the PAT configuration that the guest configures by writing to the corresponding MSR. Signed-off-by: Jan Kiszka Signed-off-by: Paolo Bonzini --- arch/x86/kvm/svm.c | 10 ++ 1 file changed, 10

[RFC/RFT PATCH 0/3] KVM: x86: full virtualization of guest MTRR

2015-07-07 Thread Paolo Bonzini
would like some help testing these patches. Thanks, Paolo Jan Kiszka (1): KVM: SVM: Sync g_pat with guest-written PAT value Paolo Bonzini (2): KVM: SVM: use NPT page attributes KVM: x86: apply guest MTRR virtualization on host reserved pages arch/x86/kvm/svm.c | 54

Re: [kvm-unit-tests PATCH 1/2] arm/arm64: spinlock-test fixup

2015-07-07 Thread Paolo Bonzini
On 07/07/2015 13:24, Andrew Jones wrote: >> > The reason I switched was that the non-atomic test didn't work for me. >> > I have now debugged it, and it needs this: >> > >> > @@ -29,12 +29,12 @@ static void gcc_builtin_unlock(int *lock_var) >> > } >> > static void none_lock(int *lock_var) >> >

Re: [RFC v2 3/6] irq: bypass: Extend skeleton for ARM forwarding control

2015-07-07 Thread Paolo Bonzini
On 07/07/2015 13:18, Wu, Feng wrote: > Then I still need assign prod and de-assign prod in > irq_bypass_register_consumer/irq_bypass_unregister_consumer, Right? > Would you please share why this is better. The need to store the consumer->producer link seems to be unique to posted interrupts. It

Re: [RFC v2 3/6] irq: bypass: Extend skeleton for ARM forwarding control

2015-07-07 Thread Paolo Bonzini
On 07/07/2015 13:13, Wu, Feng wrote: >> > You can use container_of to add it to your own struct, e.g. >> > >> >struct irq_bypass_consumer cons; >> >struct irq_bypass_producer *prod; > Do you mean this: > > struct kvm_kernel_irqfd { > > .. > > struct irq_bypass_co

Re: [RFC v2 3/6] irq: bypass: Extend skeleton for ARM forwarding control

2015-07-07 Thread Paolo Bonzini
On 07/07/2015 12:58, Wu, Feng wrote: > > >> -Original Message- >> From: Eric Auger [mailto:eric.au...@linaro.org] >> Sent: Monday, July 06, 2015 8:11 PM >> To: eric.au...@st.com; eric.au...@linaro.org; >> linux-arm-ker...@lists.infradead.org; kvm...@lists.cs.columbia.edu; >> kvm@vger.ke

Re: [PATCH 12/12] i386/kvm: Hyper-v crash msrs set/get'ers and migration

2015-07-07 Thread Paolo Bonzini
On 03/07/2015 14:01, Denis V. Lunev wrote: > @@ -904,6 +905,7 @@ typedef struct CPUX86State { > uint64_t msr_hv_guest_os_id; > uint64_t msr_hv_vapic; > uint64_t msr_hv_tsc; > +uint64_t msr_hv_crash_prm[HV_X64_MSR_CRASH_PARAMS]; Do not abbreviate variable names! The enum even

Re: [PATCH v6 0/12] HyperV equivalent of pvpanic driver

2015-07-07 Thread Paolo Bonzini
and per cpu hyperv context structures > * added saving crash msrs inside qemu cpu state > * added qemu fetch and update of crash msrs > * added qemu crash msrs store in cpu state and it's migration > > Signed-off-by: Andrey Smetanin > Signed-off-by: Denis V. Lunev > CC: Gl

Re: [PATCH 12/12] i386/kvm: Hyper-v crash msrs set/get'ers and migration

2015-07-07 Thread Paolo Bonzini
On 03/07/2015 14:01, Denis V. Lunev wrote: > diff --git a/linux-headers/asm-x86/hyperv.h b/linux-headers/asm-x86/hyperv.h > index ce6068d..5f88dc7 100644 > --- a/linux-headers/asm-x86/hyperv.h > +++ b/linux-headers/asm-x86/hyperv.h > @@ -108,6 +108,8 @@ > #define HV_X64_HYPERCALL_PARAMS_XMM_AVAI

Re: [PATCH] KVM: nVMX: VMX instructions: add checks for #GP/#SS exceptions

2015-07-07 Thread Paolo Bonzini
On 17/04/2015 04:22, Eugene Korenevsky wrote: > According to Intel SDM several checks must be applied for memory operands > of VMX instructions. > > Long mode: #GP(0) or #SS(0) depending on the segment must be thrown > if the memory address is in a non-canonical form. > > Protected mode, check

Re: [RFC v2 3/6] irq: bypass: Extend skeleton for ARM forwarding control

2015-07-07 Thread Paolo Bonzini
On 07/07/2015 09:10, Eric Auger wrote: > On 07/06/2015 07:41 PM, Paolo Bonzini wrote: >> >> >> On 06/07/2015 19:09, Eric Auger wrote: >>>>> The good thing is that this helps a bit forming a lock hierarchy across >>>>> the subsystems, for

Re: [kvm-unit-tests PATCH 1/2] arm/arm64: spinlock-test fixup

2015-07-06 Thread Paolo Bonzini
On 06/07/2015 15:31, Andrew Jones wrote: > + if (argc && strcmp(argv[0], "non-atomic") != 0) { You want == here, don't you? The reason I switched was that the non-atomic test didn't work for me. I have now debugged it, and it needs this: @@ -29,12 +29,12 @@ static void gcc_builtin_unlock(i

Re: [RFC v2 3/6] irq: bypass: Extend skeleton for ARM forwarding control

2015-07-06 Thread Paolo Bonzini
On 06/07/2015 19:09, Eric Auger wrote: >> > The good thing is that this helps a bit forming a lock hierarchy across >> > the subsystems, for example irq bypass mutex outside vfio_platform_irq >> > spinlock, because you cannot have a spinlock inside the mutex. I think >> > that all of your six ca

Re: [RFC v2 3/6] irq: bypass: Extend skeleton for ARM forwarding control

2015-07-06 Thread Paolo Bonzini
On 06/07/2015 17:35, Eric Auger wrote: >>> diff --git a/kernel/irq/bypass.c b/kernel/irq/bypass.c >>> >> index 5d0f92b..efadbe5 100644 >>> >> --- a/kernel/irq/bypass.c >>> >> +++ b/kernel/irq/bypass.c >>> >> @@ -19,6 +19,42 @@ static LIST_HEAD(producers); >>> >> static LIST_HEAD(consumers); >>>

Re: [PATCH 1/7] KVM: api: add kvm_irq_routing_extended_msi

2015-07-06 Thread Paolo Bonzini
On 06/07/2015 17:37, Andre Przywara wrote: > Wouldn't: > if (kvm_vm_check_extension(s, KVM_CAP_MSI_DEVID)) { > kroute.flags = KVM_MSI_VALID_DEVID; > kroute.u.msi.devid = (pci_bus_num(dev->bus) << 8) | dev->devfn; > } > > be saner (without a global variable)? > That would

Re: [RFC v2 3/6] irq: bypass: Extend skeleton for ARM forwarding control

2015-07-06 Thread Paolo Bonzini
On 06/07/2015 14:11, Eric Auger wrote: > diff --git a/kernel/irq/bypass.c b/kernel/irq/bypass.c > index 5d0f92b..efadbe5 100644 > --- a/kernel/irq/bypass.c > +++ b/kernel/irq/bypass.c > @@ -19,6 +19,42 @@ static LIST_HEAD(producers); > static LIST_HEAD(consumers); > static DEFINE_MUTEX(lock); >

Re: [RFC v2 1/6] KVM: arm/arm64: select IRQ_BYPASS_MANAGER

2015-07-06 Thread Paolo Bonzini
On 06/07/2015 14:11, Eric Auger wrote: > Select IRQ_BYPASS_MANAGER when CONFIG_KVM is set > > Signed-off-by: Eric Auger > > --- > v1 -> v2: > - also set IRQ_BYPASS_MANAGER for arm64 > --- > arch/arm/kvm/Kconfig | 1 + > arch/arm64/kvm/Kconfig | 1 + > 2 files changed, 2 insertions(+) > > d

Re: [PATCH 1/7] KVM: api: add kvm_irq_routing_extended_msi

2015-07-06 Thread Paolo Bonzini
On 06/07/2015 13:23, Andre Przywara wrote: > Hi Paolo, > > thanks for looking at this! > > On 06/07/15 12:07, Paolo Bonzini wrote: >> >> >> On 06/07/2015 12:37, Christoffer Dall wrote: >>> I don't view it as 'the kernel requires this'

Re: [PATCH 1/7] KVM: api: add kvm_irq_routing_extended_msi

2015-07-06 Thread Paolo Bonzini
On 06/07/2015 12:37, Christoffer Dall wrote: > I don't view it as 'the kernel requires this' but as 'the kernel will > not complain with arbitrary error code if you set the devid flag' > capability, and it's up to userspace (as usual) to provide the correct > arguments for things to work, and up

Re: [BUG/RFC] Two cpus are not brought up normally in SLES11 sp3 VM after reboot

2015-07-06 Thread Paolo Bonzini
On 06/07/2015 11:59, zhanghailiang wrote: > > > Besides, the follow is the cpus message got from host. > 80FF72F5-FF6D-E411-A8C8-00821800:/home/fsp/hrg # virsh > qemu-monitor-command instance-000 > * CPU #0: pc=0x7f64160c683d thread_id=68570 > CPU #1: pc=0x810301f1 (halted

Re: [BUG/RFC] Two cpus are not brought up normally in SLES11 sp3 VM after reboot

2015-07-06 Thread Paolo Bonzini
On 06/07/2015 09:54, zhanghailiang wrote: > > From host, we found that QEMU vcpu1 thread and vcpu7 thread were not > consuming any cpu (Should be in idle state), > All of VCPUs' stacks in host is like bellow: > > [] kvm_vcpu_block+0x65/0xa0 [kvm] > [] __vcpu_run+0xd1/0x260 [kvm] > [] kvm_arch_v

[GIT PULL] Second batch of KVM changes for 4.2 (+ preempt notifier fix)

2015-07-05 Thread Paolo Bonzini
Linus, The following changes since commit 9bdc771f2c29a11920f477fba05a58e23ee42554: Merge tag 'acpica-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm (2015-07-02 17:11:28 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/virt/kvm/kvm.gi

Re: [PATCH 3/3] arm/arm64: speed up spinlocks and atomic ops

2015-07-03 Thread Paolo Bonzini
On 25/06/2015 20:45, Andrew Jones wrote: > spinlock torture tests made it clear that checking mmu_enabled() > every time we call spin_lock is a bad idea. As most tests will > want the MMU enabled the entire time, then we can inline a light > weight "nobody disabled the mmu" check, and bail out ea

Re: [PATCH 1/3] arm/arm64: Introduce mmu_disable

2015-07-03 Thread Paolo Bonzini
On 25/06/2015 20:45, Andrew Jones wrote: > Allow unit test cpus to disable the MMU. Why not? We want the > test framework to be as flexible as possible. Callers will have > to deal with the cache coherency fallout... Cache flush support > is still forthcoming to the framework though. > > Signed-

Re: [PATCH 1/3] arm/arm64: spinlocks: fix memory barriers

2015-07-03 Thread Paolo Bonzini
On 25/06/2015 18:12, Andrew Jones wrote: > It shouldn't be necessary to use a barrier on the way into > spin_lock. We'll be focused on a single address until we get > it (exclusively) set, and then we'll do a barrier on the way > out. Also, it does make sense to do a barrier on the way in > to sp

Re: [PATCH 2/3] arm/arm64: drop mmu_set_enabled

2015-07-03 Thread Paolo Bonzini
On 25/06/2015 20:45, Andrew Jones wrote: > The mmu is enabled automatically for all cpus, they must disable it > themselves if they don't want it on. Switch from managing a cpumask > of enabled cpus to one of disabled cpus. This allows us to remove > the mmu_set_enabled call from secondary_cinit,

Re: [RFC 12/17] irq: bypass: Extend skeleton for ARM forwarding control

2015-07-03 Thread Paolo Bonzini
On 03/07/2015 15:12, Eric Auger wrote: >> > Linux IRQ and active should be okay. As to the vfio_device handle, you >> > should link it from the vfio_platform_device instead. And for the >> > vfio_platform_device, you can link it from the vfio_platform_irq instead. > For this last one, I don't t

Re: [PATCH] KVM: VMX: fix vmwrite to invalid VMCS

2015-07-03 Thread Paolo Bonzini
On 03/07/2015 15:49, Radim Krčmář wrote: > fpu_activate is called outside of vcpu_load(), which means it should not > touch VMCS, but fpu_activate needs to. Avoid the call by moving it to a > point where we know that the guest needs eager FPU and VMCS is loaded. > > This will get rid of the fol

Re: [PATCH] arm/run: don't enable KVM if system can't do it

2015-07-03 Thread Paolo Bonzini
On 03/07/2015 14:24, Alex Bennée wrote: > > Andrew Jones writes: > >> On Thu, Jul 02, 2015 at 03:45:17PM +0200, Paolo Bonzini wrote: >>> >>> >>> On 02/07/2015 13:51, Andrew Jones wrote: >>>> 4) I recently mentioned[*] it might be nice to a

Re: [[PATCH 2/2] kvm: enable preemption to register/unregister preempt notifier

2015-07-03 Thread Paolo Bonzini
static_key_slow_inc+0xc4/0x140 > [] preempt_notifier_register+0x25/0x70 > [] vcpu_load+0x76/0xf0 [kvm] > [] kvm_vcpu_ioctl+0x7e/0xeb0 [kvm] > [] ? __lock_is_held+0x70/0xa0 > [] ? get_parent_ip+0x19/0x90 > [] do_vfs_ioctl+0x3c4/0x910 > [] ? expand_files+0x311/0x360 > [] ?

Re: [RFC 12/17] irq: bypass: Extend skeleton for ARM forwarding control

2015-07-03 Thread Paolo Bonzini
On 02/07/2015 15:17, Eric Auger wrote: > + void (*stop_producer)(struct irq_bypass_producer *); > + void (*resume_producer)(struct irq_bypass_producer *); Also, can you call these just "stop"/"resume" ... > + void (*add_consumer)(struct irq_bypass_producer *, > +

Re: [RFC 12/17] irq: bypass: Extend skeleton for ARM forwarding control

2015-07-03 Thread Paolo Bonzini
On 03/07/2015 09:00, Wu, Feng wrote: >>> > > struct irq_bypass_consumer { >>> > >struct list_head node; >>> > >void *token; >>> > > + unsigned irq;/*got from producer when registered*/ >>> > >void (*add_producer)(struct irq_bypass_producer *, >>> > >

Re: [RFC 12/17] irq: bypass: Extend skeleton for ARM forwarding control

2015-07-03 Thread Paolo Bonzini
On 03/07/2015 08:54, Eric Auger wrote: >> > Oh... we can get gsi from irq_bypass_consumer -> _irqfd -> gsi, so it >> > is not needed in irq_bypass_consumer. Got it! :) > The issue I have is that struct _irqfd is local to eventfd.c so it > cannot be used in archi specific code. Is it acceptable to

Re: [RFC 12/17] irq: bypass: Extend skeleton for ARM forwarding control

2015-07-02 Thread Paolo Bonzini
On 03/07/2015 04:43, Wu, Feng wrote: > > struct irq_bypass_consumer { >struct list_head node; >void *token; > + unsigned irq; /*got from producer when registered*/ >void (*add_producer)(struct irq_bypass_producer *, > struct irq_bypass_co

Re: [Qemu-devel] [PATCH 00/16] implement vNVDIMM

2015-07-02 Thread Paolo Bonzini
On 02/07/2015 20:01, Xiao Guangrong wrote: > > Thanks for your review, Stefan and Paolo! > > On 07/02/2015 05:52 PM, Paolo Bonzini wrote: >> >> >> On 02/07/2015 11:20, Stefan Hajnoczi wrote: >>>> Currently, the NVDIMM driver has been merged int

Re: [PATCH 07/12] kvm/x86: added hyper-v crash data and ctl msr's get/set'ers

2015-07-02 Thread Paolo Bonzini
On 02/07/2015 18:07, Denis V. Lunev wrote: > From: Andrey Smetanin > > Added hyper-v crash msr's(HV_X64_MSR_CRASH*) data and control > geters and setters. Userspace should check that such msr's > available by check of KVM_CAP_HYPERV_MSR_CRASH capability. It should use the existing KVM_GET_SUPP

Re: [PATCH 11/12] qemu: add crash_occurred flag into CPUState

2015-07-02 Thread Paolo Bonzini
On 02/07/2015 18:18, Andreas Färber wrote: >> > +uint32_t crash_occurred; >> > volatile sig_atomic_t exit_request; >> > uint32_t interrupt_request; >> > int singlestep_enabled; > If you add this field to CPUState, you'll also need to reset it in > qom/cpu.c. Or is it intentiona

Re: [PATCH 12/12] qemu/kvm/x86: hyper-v crash msrs set/get'ers and migration

2015-07-02 Thread Paolo Bonzini
On 02/07/2015 18:07, Denis V. Lunev wrote: > +if (cpu->hyperv_crash && > +kvm_check_extension(cs->kvm_state, KVM_CAP_HYPERV_MSR_CRASH) > > 0) { > +c->edx |= HV_X64_GUEST_CRASH_MSR_AVAILABLE; > +has_msr_hv_crash = true; > +} > + Please patch kvm

Re: [PATCH] arm/run: don't enable KVM if system can't do it

2015-07-02 Thread Paolo Bonzini
On 02/07/2015 13:51, Andrew Jones wrote: > 4) I recently mentioned[*] it might be nice to add a '-force-tcg' type >of arm/run command line option, allowing tcg to be used even if >it's possible to use kvm. Adding that at the same time would be >nice. Can you just use --no-kvm? It is

Re: [RFC 16/17] KVM: eventfd: add irq bypass consumer management

2015-07-02 Thread Paolo Bonzini
On 02/07/2015 15:17, Eric Auger wrote: > This patch adds the registration/unregistration of an > irq_bypass_consumer on irqfd assignment/deassignment. > > Signed-off-by: Eric Auger > --- > virt/kvm/eventfd.c | 22 +++--- > 1 file changed, 19 insertions(+), 3 deletions(-) > > d

Re: [RFC 13/17] KVM: introduce kvm_arch functions for IRQ bypass

2015-07-02 Thread Paolo Bonzini
On 02/07/2015 15:17, Eric Auger wrote: > +#ifdef CONFIG_IRQ_BYPASS_MANAGER Please use a separate symbol CONFIG_KVM_HAVE_IRQ_BYPASS. > +void kvm_arch_add_producer(struct irq_bypass_consumer *, > +struct irq_bypass_producer *); add_irq_bypass_producer, and so on below. P

Re: [RFC 12/17] irq: bypass: Extend skeleton for ARM forwarding control

2015-07-02 Thread Paolo Bonzini
On 02/07/2015 15:17, Eric Auger wrote: > - new fields are added on producer side: linux irq, vfio_device handle, > active which reflects whether the source is active (at interrupt > controller level or at VFIO level - automasked -) and finally an > opaque pointer which will be used to point

Re: [PATCH 9/9] qemu/kvm: kvm hyper-v based guest crash event handling

2015-07-02 Thread Paolo Bonzini
On 02/07/2015 15:19, Andrey Smetanin wrote: >>> > > +if (has_msr_hv_crash) { >>> > > +env->msr_hv_crash_ctl = HV_X64_MSR_CRASH_CTL_NOTIFY; >> > >> > The value is always host-defined, so I think it doesn't need a field in >> > CPUX86State. On the other hand, this: > Kernel just w

Re: [Qemu-devel] [PATCH 00/16] implement vNVDIMM

2015-07-02 Thread Paolo Bonzini
On 02/07/2015 11:20, Stefan Hajnoczi wrote: > > Currently, the NVDIMM driver has been merged into upstream Linux Kernel and > > this patchset tries to enable it in virtualization field > > From a device model perspective, have you checked whether it makes sense > to integrate nvdimms into the pc

Re: [PATCH 3/9] kvm: add hyper-v crash msrs values

2015-07-01 Thread Paolo Bonzini
On 01/07/2015 18:06, Peter Hornyack wrote: > If userspace is controlling the crash capabilities then > HV_X64_MSR_CRASH_CTL_CONTENTS is not needed. Actually you still need to: userspace cannot write anything but 0 or (1ULL << 63). However, the name makes less sense, so I'm in favor of removing

Re: [PATCH 7/9] kvm/x86: added hyper-v crash data and ctl msr's get/set'ers

2015-07-01 Thread Paolo Bonzini
On 30/06/2015 13:33, Denis V. Lunev wrote: > +static int kvm_hv_msr_set_crash_ctl(struct kvm_vcpu *vcpu, u64 data, bool > host) > +{ > + struct kvm_hv *hv = &vcpu->kvm->arch.hyperv; > + > + if (host) > + hv->hv_crash_ctl = data; > + You need to check against HV_X64_MSR_CRASH

Re: [PATCH] MAINTAINERS: separate section for s390 virtio drivers

2015-07-01 Thread Paolo Bonzini
ng list is probably a good idea. > +S: Supported > +F: drivers/s390/kvm/ Since we are at it, do we want to rename the directory to drivers/s390/virtio? Anyway: Acked-by: Paolo Bonzini Paolo > VIRTIO HOST (VHOST) > M: "Michael S. Tsirkin" > L:

Re: [PATCH 8/9] kvm/x86: add sending hyper-v crash notification to user space

2015-07-01 Thread Paolo Bonzini
eed to send the whole series again; just resend this one patch. Paolo > Signed-off-by: Andrey Smetanin > Signed-off-by: Denis V. Lunev > CC: Paolo Bonzini > CC: Gleb Natapov > --- > arch/x86/kvm/x86.c | 8 > include/uapi/linux/kvm.h | 2 ++ > 2 files changed

Re: [PATCH 9/9] qemu/kvm: kvm hyper-v based guest crash event handling

2015-07-01 Thread Paolo Bonzini
On 30/06/2015 13:33, Denis V. Lunev wrote: > > +static int kvm_arch_handle_hv_crash(CPUState *cs) > +{ > +X86CPU *cpu = X86_CPU(cs); > +CPUX86State *env = &cpu->env; > + > +/* Mark that Hyper-v guest crash occurred */ > +env->hv_crash_occurred = 1; This need not be a hv crash.

Re: [PATCH 3/9] kvm: add hyper-v crash msrs values

2015-07-01 Thread Paolo Bonzini
On 30/06/2015 13:33, Denis V. Lunev wrote: > +#define HV_X64_MSR_CRASH_CTL_NOTIFY (1ULL << 63) > +#define HV_X64_MSR_CRASH_CTL_CONTENTS\ > + (HV_X64_MSR_CRASH_CTL_NOTIFY) Why is HV_X64_MSR_CRASH_CTL_CONTENTS needed? Can I just remove it? Paolo -- To unsubscribe fro

Re: [PATCH 0/1] KVM: s390: virtio-ccw: Fix config space values

2015-07-01 Thread Paolo Bonzini
On 01/07/2015 16:18, Michael S. Tsirkin wrote: > On Wed, Jul 01, 2015 at 04:05:27PM +0200, Paolo Bonzini wrote: >> >> >> On 01/07/2015 15:45, Michael S. Tsirkin wrote: >>>> Paolo, >>>> >>>> here is fix targetted for kvm/master (4.2) that

Re: [PATCH v3 0/9] HyperV equivalent of pvpanic driver

2015-07-01 Thread Paolo Bonzini
etch and update of crash msrs > * added qemu crash msrs store in cpu state and it's migration > > Signed-off-by: Andrey Smetanin > Signed-off-by: Denis V. Lunev > CC: Gleb Natapov > CC: Paolo Bonzini The patches look good, thanks. I'll queue them as soon as I start

Re: [PATCH 0/1] KVM: s390: virtio-ccw: Fix config space values

2015-07-01 Thread Paolo Bonzini
On 01/07/2015 15:45, Michael S. Tsirkin wrote: > > Paolo, > > > > here is fix targetted for kvm/master (4.2) that fixes an issue with > > virtio config space on s390. It mostly manifests in vhost-scsi > > not working properly on s390. The problem itself might affect other > > things as well so c

Re: [PATCH] KVM: x86: remove data variable from kvm_get_msr_common

2015-07-01 Thread Paolo Bonzini
On 29/06/2015 12:39, Nicolas Iooss wrote: > Commit 609e36d372ad ("KVM: x86: pass host_initiated to functions that > read MSRs") modified kvm_get_msr_common function to use msr_info->data > instead of data but missed one occurrence. Replace it and remove the > unused local variable. > > Fixes: 6

Re: [PATCH 1/1] KVM: s390: virtio-ccw: don't overwrite config space values

2015-07-01 Thread Paolo Bonzini
On 29/06/2015 16:44, Christian Borntraeger wrote: > From: Cornelia Huck > > Eric noticed problems with vhost-scsi and virtio-ccw: vhost-scsi > complained about overwriting values in the config space, which > was triggered by a broken implementation of virtio-ccw's config > get/set routines. It

Re: [PATCH 0/3] KVM: x86: legacy NMI watchdog fixes

2015-07-01 Thread Paolo Bonzini
On 30/06/2015 22:19, Radim Krčmář wrote: > Until v2.6.37, Linux used NMI watchdog that utilized IO-APIC and LVT0. > This series fixes some problems with APICv, restore, and concurrency > while keeping the monster asleep. Queued for 4.2. Paolo -- To unsubscribe from this list: send the line "uns

Re: [PATCH 3/3] KVM: x86: make vapics_in_nmi_mode atomic

2015-07-01 Thread Paolo Bonzini
On 30/06/2015 22:19, Radim Krčmář wrote: > Writes were a bit racy, but hard to turn into a bug at the same time. > (Particularly because modern Linux doesn't use this feature anymore.) I suspect patch 2 makes this race much easier to trigger, so it deserves Cc: stable@ as well. Paolo > Signed-

Re: [PATCH 2/3] KVM: x86: properly restore LVT0

2015-07-01 Thread Paolo Bonzini
On 30/06/2015 22:19, Radim Krčmář wrote: > Legacy NMI watchdog didn't work after migration/resume, because > vapics_in_nmi_mode was left at 0. > > Signed-off-by: Radim Krčmář > --- > arch/x86/kvm/lapic.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/x86/kvm/lapic.c b/arch/x86/

Re: [PATCH v3 4/4] KVM: x86: Add support for local interrupt requests from userspace

2015-06-26 Thread Paolo Bonzini
On 26/06/2015 02:26, Steve Rutherford wrote: > Implemented a basic version of this, and ran into some potential > issues with this strategy. Supporting PIC masking/unmasking by the > CPU/APIC means that either: > A) PIC interrupts need to be bufferable in the kernel (with some way >of compari

Re: [PATCH 2/3] arm/arm64: speed up spinlocks and atomic ops

2015-06-25 Thread Paolo Bonzini
On 25/06/2015 18:12, Andrew Jones wrote: > spinlock torture tests made it clear that checking mmu_enabled() > every time we call spin_lock is a bad idea. As most tests will > want the MMU enabled the entire time, then just hard code > mmu_enabled() to true. Tests that want to play with the MMU ca

Re: [PATCH 01/11] kvm/x86: move Hyper-V MSR's/hypercall code into hyperv.c file

2015-06-25 Thread Paolo Bonzini
On 25/06/2015 12:25, Denis V. Lunev wrote: > > Paolo, Gleb, > > we are very sensitive on the first patch. Could you > suggest which tree we should be based on? > For now I think that we should use > > https://git.kernel.org/cgit/virt/kvm/kvm.git/ > > but the branch here could also matters. Y

Re: Hang on reboot in FreeBSD guest on Linux KVM host

2015-06-24 Thread Paolo Bonzini
On 24/06/2015 19:07, John Nielsen wrote: > > Unfortunately I no longer have the test environment I used a few days > ago to reproduce this issue so I can’t verify the software versions > that were in use. It’s possible I was mistaken about the kernel > version (I thought it was 4.0.4). Perhaps i

Re: [GIT PULL] First batch of KVM changes for 4.2

2015-06-24 Thread Paolo Bonzini
On 24/06/2015 18:33, Linus Torvalds wrote: > On Tue, Jun 23, 2015 at 9:49 AM, Paolo Bonzini wrote: >> > >> > There are some x86 conflicts, one with the rc8 pull request and >> > the rest with Ingo's FPU rework. > Hmm. I'm dropping the "fx_ini

Re: Hang on reboot in FreeBSD guest on Linux KVM host

2015-06-24 Thread Paolo Bonzini
On 24/06/2015 17:57, Bandan Das wrote: > Paolo Bonzini writes: > ... >> >> I did this: >> >> 1) download >> http://download.pcbsd.org/iso/10.1-RELEASE/amd64/PCBSD10.1.2-x64-trueos-server.raw.xz >> and unpack it >> >> 2) run it with "qem

Re: Hang on reboot in FreeBSD guest on Linux KVM host

2015-06-24 Thread Paolo Bonzini
On 23/06/2015 00:08, John Nielsen wrote: >>> I’m resurrecting an old thread since I haven’t heard anything in a >>> while. Has anyone looked in to the KVM+apicv bug documented above as >>> well as here: >>> >>> https://bugs.launchpad.net/qemu/+bug/1329956 ? >>> >>> If appropriate, where should I

Re: [v4 01/16] KVM: Extend struct pi_desc for VT-d Posted-Interrupts

2015-06-24 Thread Paolo Bonzini
On 24/06/2015 07:42, Wu, Feng wrote: > Do you mean we don't use bitfields at all, or the following format is > acceptable, in which, we use bitfileds as less as possible? > union { > struct > { > u16 on : 1, /* bit 256 - Outstanding Notification */ >

[GIT PULL] First batch of KVM changes for 4.2

2015-06-23 Thread Paolo Bonzini
debugging KVM: x86: Fix update RCX/RDI/RSI on REP-string KVM: x86: Fix zero iterations REP-string Nicholas Krause (1): kvm: x86: Make functions that have no external callers static Paolo Bonzini (38): KVM: booke: use __kvm_guest_exit KVM: x86: tweak types of fie

Re: [v4 15/16] KVM: Update Posted-Interrupts Descriptor when vCPU is blocked

2015-06-23 Thread Paolo Bonzini
On 11/06/2015 12:51, Feng Wu wrote: > - vcpu->arch.mp_state = KVM_MP_STATE_HALTED; > + /* Handle posted-interrupt when vCPU is to be halted */ > + if (!kvm_x86_ops->pi_pre_block || > + (kvm_x86_ops->pi_pre_block && This condition is unnecessary

Re: [v4 12/16] KVM: kvm-vfio: implement the VFIO skeleton for VT-d Posted-Interrupts

2015-06-23 Thread Paolo Bonzini
On 12/06/2015 16:51, Alex Williamson wrote: > > > The code below can't get to this function without > > > __KVM_HAVE_ARCH_KVM_VFIO_POST, but this seems like it should return an > > > error if not implemented. > > > > kvm_arch_vfio_update_pi_irte() is called by kvm_vfio_control_pi(), if we > > r

Re: [v4 01/16] KVM: Extend struct pi_desc for VT-d Posted-Interrupts

2015-06-23 Thread Paolo Bonzini
On 11/06/2015 12:51, Feng Wu wrote: > + union { > + struct { > + /* bit 256 - Outstanding Notification */ > + u64 on : 1, > + /* bit 257 - Suppress Notification */ > +

Re: [PATCH 1/1] KVM: s390: clear floating interrupt bitmap and parameters

2015-06-23 Thread Paolo Bonzini
On 22/06/2015 13:20, Christian Borntraeger wrote: > From: Jens Freimann > > commit 6d3da24141 ("KVM: s390: deliver floating interrupts in order > of priority") introduced a regression for the reset handling. > > We don't clear the bitmap of pending floating interrupts > and interrupt parameters.

Re: [PATCH 1/2] powerpc: Define the hcall opcodes & return values we need

2015-06-23 Thread Paolo Bonzini
On 23/06/2015 12:31, Andre Przywara wrote: >> > >> > Because it's not part of the kernel API, never was, still isn't. > Technically it may not - if I get this correctly it is more a platform > API defined by the architecture, like ACPI or PSCI on ARM. > But if I get this correctly Linux re-uses

<    3   4   5   6   7   8   9   10   11   12   >