Re: [RFC PATCH 1/6] kvm: add device control API

2013-02-21 Thread Scott Wood
On 02/21/2013 02:22:09 AM, Gleb Natapov wrote: On Wed, Feb 20, 2013 at 08:05:12PM -0600, Scott Wood wrote: On 02/20/2013 07:09:49 AM, Gleb Natapov wrote: On Tue, Feb 19, 2013 at 03:16:37PM -0600, Scott Wood wrote: On 02/19/2013 06:24:18 AM, Gleb Natapov wrote: On Mon, Feb 18, 2013 at 05

Re: [RFC PATCH 1/6] kvm: add device control API

2013-02-21 Thread Scott Wood
On 02/21/2013 05:03:32 PM, Marcelo Tosatti wrote: On Wed, Feb 20, 2013 at 07:28:52PM -0600, Scott Wood wrote: On 02/20/2013 06:14:37 PM, Marcelo Tosatti wrote: On Wed, Feb 20, 2013 at 05:53:20PM -0600, Scott Wood wrote: It is then not necessary to set device attributes on a live guest

Re: [RFC PATCH 1/6] kvm: add device control API

2013-02-21 Thread Scott Wood
On 02/21/2013 02:22:09 AM, Gleb Natapov wrote: On Wed, Feb 20, 2013 at 08:05:12PM -0600, Scott Wood wrote: On 02/20/2013 07:09:49 AM, Gleb Natapov wrote: On Tue, Feb 19, 2013 at 03:16:37PM -0600, Scott Wood wrote: On 02/19/2013 06:24:18 AM, Gleb Natapov wrote: On Mon, Feb 18, 2013 at 05

Re: [RFC PATCH 1/6] kvm: add device control API

2013-02-20 Thread Scott Wood
On 02/20/2013 03:17:27 PM, Marcelo Tosatti wrote: On Mon, Feb 18, 2013 at 05:01:40PM -0600, Scott Wood wrote: On 02/18/2013 06:21:59 AM, Gleb Natapov wrote: Copying Christoffer since ARM has in kernel irq chip too. On Wed, Feb 13, 2013 at 11:49:15PM -0600, Scott Wood wrote: Currently

Re: [RFC PATCH 1/6] kvm: add device control API

2013-02-20 Thread Scott Wood
On 02/20/2013 03:28:24 PM, Marcelo Tosatti wrote: On Wed, Feb 20, 2013 at 03:09:49PM +0200, Gleb Natapov wrote: On Tue, Feb 19, 2013 at 03:16:37PM -0600, Scott Wood wrote: On 02/19/2013 06:24:18 AM, Gleb Natapov wrote: On Mon, Feb 18, 2013 at 05:01:40PM -0600, Scott Wood wrote

Re: [PATCH 3/9] KVM: PPC: Book3S: Add kernel emulation for the XICS interrupt controller

2013-02-20 Thread Scott Wood
On 02/20/2013 01:58:54 PM, Marcelo Tosatti wrote: This is probably a stupid question, but why the KVM_SET_IRQCHIP/KVM_SET_GSI_ROUTING interface is not appropriate for your purposes? x86 sets up a default GSI-IRQCHIP PIN mapping on creation (during KVM_SET_IRQCHIP), but it can be modified with

Re: [RFC PATCH 1/6] kvm: add device control API

2013-02-20 Thread Scott Wood
On 02/20/2013 06:01:00 PM, Marcelo Tosatti wrote: The main problem, to me, is that the interface allows flexibility but the details of using such flexibility are not worked out. That is, lack of definitions such as when setting attributes is allowed. That is defined by the individual

Re: [RFC PATCH 1/6] kvm: add device control API

2013-02-20 Thread Scott Wood
On 02/20/2013 06:14:37 PM, Marcelo Tosatti wrote: On Wed, Feb 20, 2013 at 05:53:20PM -0600, Scott Wood wrote: It is then not necessary to set device attributes on a live guest and deal with the complications associated with that. Which complications? -Scott Semantics of individual

Re: [PATCH 3/9] KVM: PPC: Book3S: Add kernel emulation for the XICS interrupt controller

2013-02-20 Thread Scott Wood
On 02/20/2013 07:09:55 PM, Marcelo Tosatti wrote: On Wed, Feb 20, 2013 at 06:20:51PM -0600, Scott Wood wrote: On 02/20/2013 01:58:54 PM, Marcelo Tosatti wrote: This is probably a stupid question, but why the KVM_SET_IRQCHIP/KVM_SET_GSI_ROUTING interface is not appropriate for your

Re: [RFC PATCH 1/6] kvm: add device control API

2013-02-20 Thread Scott Wood
On 02/20/2013 07:09:49 AM, Gleb Natapov wrote: On Tue, Feb 19, 2013 at 03:16:37PM -0600, Scott Wood wrote: On 02/19/2013 06:24:18 AM, Gleb Natapov wrote: On Mon, Feb 18, 2013 at 05:01:40PM -0600, Scott Wood wrote: The ability to set/get attributes is needed. Sorry, but get or set one

Re: [PATCH 3/9] KVM: PPC: Book3S: Add kernel emulation for the XICS interrupt controller

2013-02-20 Thread Scott Wood
On 02/20/2013 01:58:54 PM, Marcelo Tosatti wrote: This is probably a stupid question, but why the KVM_SET_IRQCHIP/KVM_SET_GSI_ROUTING interface is not appropriate for your purposes? x86 sets up a default GSI-IRQCHIP PIN mapping on creation (during KVM_SET_IRQCHIP), but it can be modified with

Re: [RFC PATCH 1/6] kvm: add device control API

2013-02-20 Thread Scott Wood
On 02/20/2013 06:01:00 PM, Marcelo Tosatti wrote: The main problem, to me, is that the interface allows flexibility but the details of using such flexibility are not worked out. That is, lack of definitions such as when setting attributes is allowed. That is defined by the individual

Re: [PATCH 3/9] KVM: PPC: Book3S: Add kernel emulation for the XICS interrupt controller

2013-02-20 Thread Scott Wood
On 02/20/2013 07:09:55 PM, Marcelo Tosatti wrote: On Wed, Feb 20, 2013 at 06:20:51PM -0600, Scott Wood wrote: On 02/20/2013 01:58:54 PM, Marcelo Tosatti wrote: This is probably a stupid question, but why the KVM_SET_IRQCHIP/KVM_SET_GSI_ROUTING interface is not appropriate for your

Re: [RFC PATCH 1/6] kvm: add device control API

2013-02-20 Thread Scott Wood
On 02/20/2013 07:09:49 AM, Gleb Natapov wrote: On Tue, Feb 19, 2013 at 03:16:37PM -0600, Scott Wood wrote: On 02/19/2013 06:24:18 AM, Gleb Natapov wrote: On Mon, Feb 18, 2013 at 05:01:40PM -0600, Scott Wood wrote: The ability to set/get attributes is needed. Sorry, but get or set one

Re: [RFC PATCH 1/6] kvm: add device control API

2013-02-19 Thread Scott Wood
On 02/18/2013 11:50:44 PM, Christoffer Dall wrote: On Mon, Feb 18, 2013 at 4:53 PM, Scott Wood scottw...@freescale.com wrote: On 02/18/2013 06:44:20 PM, Christoffer Dall wrote: On Wed, Feb 13, 2013 at 9:49 PM, Scott Wood scottw...@freescale.com +#define KVM_CREATE_DEVICE_IOWR

Re: [RFC PATCH 1/6] kvm: add device control API

2013-02-19 Thread Scott Wood
On 02/19/2013 06:24:18 AM, Gleb Natapov wrote: On Mon, Feb 18, 2013 at 05:01:40PM -0600, Scott Wood wrote: The ability to set/get attributes is needed. Sorry, but get or set one blob of data, up to 512 bytes, for the entire irqchip is just not good enough -- assuming you don't want us

Re: [PATCH 3/9] KVM: PPC: Book3S: Add kernel emulation for the XICS interrupt controller

2013-02-19 Thread Scott Wood
On 02/19/2013 06:41:11 PM, Paul Mackerras wrote: On Mon, Feb 18, 2013 at 04:43:27PM -0600, Scott Wood wrote: On 02/15/2013 10:51:16 PM, Paul Mackerras wrote: The KVM_CREATE_IRQCHIP_ARGS ioctl says that you want emulation of a specific interrupt controller architecture connected to the vcpus

Re: [RFC PATCH 1/6] kvm: add device control API

2013-02-19 Thread Scott Wood
On 02/19/2013 06:24:18 AM, Gleb Natapov wrote: On Mon, Feb 18, 2013 at 05:01:40PM -0600, Scott Wood wrote: The ability to set/get attributes is needed. Sorry, but get or set one blob of data, up to 512 bytes, for the entire irqchip is just not good enough -- assuming you don't want us

Re: [PATCH 3/9] KVM: PPC: Book3S: Add kernel emulation for the XICS interrupt controller

2013-02-18 Thread Scott Wood
On 02/15/2013 10:51:16 PM, Paul Mackerras wrote: On Fri, Feb 15, 2013 at 09:57:06PM -0600, Scott Wood wrote: On 02/15/2013 08:56:14 PM, Paul Mackerras wrote: I have no particular objection to the device control API per se, but I have two objections to using it as the primary interface

Re: [RFC PATCH 1/6] kvm: add device control API

2013-02-18 Thread Scott Wood
On 02/18/2013 06:21:59 AM, Gleb Natapov wrote: Copying Christoffer since ARM has in kernel irq chip too. On Wed, Feb 13, 2013 at 11:49:15PM -0600, Scott Wood wrote: Currently, devices that are emulated inside KVM are configured in a hardcoded manner based on an assumption that any given

Re: [RFC PATCH 0/6] kvm/ppc/mpic: in-kernel irqchip

2013-02-18 Thread Scott Wood
On 02/18/2013 06:04:51 AM, Gleb Natapov wrote: Can you tell us why mpic should be in kernel? Is it used often by modern guests or may be they prefer MSI for interrupt delivery (hmm may be MSIs are delivered through mpic too)? Yes, MSIs are delivered through the mpic. Plus, MSIs are only

Re: [RFC PATCH 1/6] kvm: add device control API

2013-02-18 Thread Scott Wood
On 02/18/2013 06:44:20 PM, Christoffer Dall wrote: On Wed, Feb 13, 2013 at 9:49 PM, Scott Wood scottw...@freescale.com wrote: index 0350e0d..dbaf012 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h @@ -335,6 +335,25 @@ struct kvm_memslots { short id_to_index

[PATCH] kvm/powerpc/e500mc: fix tlb invalidation on cpu migration

2013-02-18 Thread Scott Wood
The existing check handles the case where we've migrated to a different core than we last ran on, but it doesn't handle the case where we're still on the same cpu we last ran on, but some other vcpu has run on this cpu in the meantime. Signed-off-by: Scott Wood scottw...@freescale.com

Re: [PATCH 3/9] KVM: PPC: Book3S: Add kernel emulation for the XICS interrupt controller

2013-02-18 Thread Scott Wood
On 02/15/2013 10:51:16 PM, Paul Mackerras wrote: On Fri, Feb 15, 2013 at 09:57:06PM -0600, Scott Wood wrote: On 02/15/2013 08:56:14 PM, Paul Mackerras wrote: I have no particular objection to the device control API per se, but I have two objections to using it as the primary interface

Re: [RFC PATCH 1/6] kvm: add device control API

2013-02-18 Thread Scott Wood
On 02/18/2013 06:21:59 AM, Gleb Natapov wrote: Copying Christoffer since ARM has in kernel irq chip too. On Wed, Feb 13, 2013 at 11:49:15PM -0600, Scott Wood wrote: Currently, devices that are emulated inside KVM are configured in a hardcoded manner based on an assumption that any given

Re: [RFC PATCH 0/6] kvm/ppc/mpic: in-kernel irqchip

2013-02-18 Thread Scott Wood
On 02/18/2013 06:04:51 AM, Gleb Natapov wrote: Can you tell us why mpic should be in kernel? Is it used often by modern guests or may be they prefer MSI for interrupt delivery (hmm may be MSIs are delivered through mpic too)? Yes, MSIs are delivered through the mpic. Plus, MSIs are only

Re: [RFC PATCH 1/6] kvm: add device control API

2013-02-18 Thread Scott Wood
On 02/18/2013 06:44:20 PM, Christoffer Dall wrote: On Wed, Feb 13, 2013 at 9:49 PM, Scott Wood scottw...@freescale.com wrote: index 0350e0d..dbaf012 100644 --- a/include/linux/kvm_host.h +++ b/include/linux/kvm_host.h @@ -335,6 +335,25 @@ struct kvm_memslots { short id_to_index

[PATCH] kvm/powerpc/e500mc: fix tlb invalidation on cpu migration

2013-02-18 Thread Scott Wood
The existing check handles the case where we've migrated to a different core than we last ran on, but it doesn't handle the case where we're still on the same cpu we last ran on, but some other vcpu has run on this cpu in the meantime. Signed-off-by: Scott Wood scottw...@freescale.com

Re: [PATCH 02/12] KVM: PPC: E500: Explicitly mark shadow maps invalid

2013-02-15 Thread Scott Wood
On 02/14/2013 06:16:18 PM, Alexander Graf wrote: When we invalidate shadow TLB maps on the host, we don't mark them as not valid. But we should. Fix this by removing the E500_TLB_VALID from their flags when invalidating. Signed-off-by: Alexander Graf ag...@suse.de ---

Re: [PATCH 3/9] KVM: PPC: Book3S: Add kernel emulation for the XICS interrupt controller

2013-02-15 Thread Scott Wood
On 02/14/2013 06:01:08 PM, Paul Mackerras wrote: From: Benjamin Herrenschmidt b...@kernel.crashing.org This adds in-kernel emulation of the XICS (eXternal Interrupt Controller Specification) interrupt controller specified by PAPR, for both HV and PR KVM guests. This adds a new

Re: [PATCH 3/9] KVM: PPC: Book3S: Add kernel emulation for the XICS interrupt controller

2013-02-15 Thread Scott Wood
On 02/15/2013 05:18:31 PM, Paul Mackerras wrote: On Fri, Feb 15, 2013 at 02:05:41PM -0600, Scott Wood wrote: On 02/14/2013 06:01:08 PM, Paul Mackerras wrote: From: Benjamin Herrenschmidt b...@kernel.crashing.org This adds in-kernel emulation of the XICS (eXternal Interrupt Controller

Re: [PATCH 3/9] KVM: PPC: Book3S: Add kernel emulation for the XICS interrupt controller

2013-02-15 Thread Scott Wood
On 02/15/2013 08:56:14 PM, Paul Mackerras wrote: I have no particular objection to the device control API per se, but I have two objections to using it as the primary interface to the XICS emulation. First, I dislike the magical side-effect where creating a device of a particular type (e.g.

Re: [PATCH 02/12] KVM: PPC: E500: Explicitly mark shadow maps invalid

2013-02-15 Thread Scott Wood
On 02/14/2013 06:16:18 PM, Alexander Graf wrote: When we invalidate shadow TLB maps on the host, we don't mark them as not valid. But we should. Fix this by removing the E500_TLB_VALID from their flags when invalidating. Signed-off-by: Alexander Graf ag...@suse.de ---

Re: [PATCH 3/9] KVM: PPC: Book3S: Add kernel emulation for the XICS interrupt controller

2013-02-15 Thread Scott Wood
On 02/14/2013 06:01:08 PM, Paul Mackerras wrote: From: Benjamin Herrenschmidt b...@kernel.crashing.org This adds in-kernel emulation of the XICS (eXternal Interrupt Controller Specification) interrupt controller specified by PAPR, for both HV and PR KVM guests. This adds a new

Re: [PATCH 3/9] KVM: PPC: Book3S: Add kernel emulation for the XICS interrupt controller

2013-02-15 Thread Scott Wood
On 02/15/2013 05:18:31 PM, Paul Mackerras wrote: On Fri, Feb 15, 2013 at 02:05:41PM -0600, Scott Wood wrote: On 02/14/2013 06:01:08 PM, Paul Mackerras wrote: From: Benjamin Herrenschmidt b...@kernel.crashing.org This adds in-kernel emulation of the XICS (eXternal Interrupt Controller

Re: [PATCH 3/9] KVM: PPC: Book3S: Add kernel emulation for the XICS interrupt controller

2013-02-15 Thread Scott Wood
On 02/15/2013 08:56:14 PM, Paul Mackerras wrote: I have no particular objection to the device control API per se, but I have two objections to using it as the primary interface to the XICS emulation. First, I dislike the magical side-effect where creating a device of a particular type (e.g.

[PATCH 0/3] kvm/ppc/e500: TLB bugfixes

2013-02-13 Thread Scott Wood
Scott Wood (3): kvm/ppc/e500: h2g_tlb1_rmap: esel 0 is valid kvm/ppc/e500: g2h_tlb1_map: clear old bit before setting new bit kvm/ppc/e500: eliminate tlb_refs arch/powerpc/kvm/e500.h | 24 --- arch/powerpc/kvm/e500_mmu_host.c | 85

[PATCH 1/3] kvm/ppc/e500: h2g_tlb1_rmap: esel 0 is valid

2013-02-13 Thread Scott Wood
Add one to esel values in h2g_tlb1_rmap, so that no mapping can be distinguished from esel 0. Note that we're not saved by the fact that host esel 0 is reserved for non-KVM use, because KVM host esel numbering is not the raw host numbering (see to_htlb1_esel). Signed-off-by: Scott Wood scottw

[PATCH 2/3] kvm/ppc/e500: g2h_tlb1_map: clear old bit before setting new bit

2013-02-13 Thread Scott Wood
It's possible that we're using the same host TLB1 slot to map (a presumably different portion of) the same guest TLB1 entry. Clear the bit in the map before setting it, so that if the esels are the same the bit will remain set. Signed-off-by: Scott Wood scottw...@freescale.com --- arch/powerpc

[PATCH 3/3] kvm/ppc/e500: eliminate tlb_refs

2013-02-13 Thread Scott Wood
in TLB1. Since we can have more than one host TLB entry for a given tlbe_ref, be careful not to clear existing flags that are relevant to other host TLB entries when preparing a new host TLB entry. Signed-off-by: Scott Wood scottw...@freescale.com --- arch/powerpc/kvm/e500.h | 24

Re: [PATCH 0/3] kvm/ppc/e500: TLB bugfixes

2013-02-13 Thread Scott Wood
On 02/13/2013 11:37:47 PM, Scott Wood wrote: Scott Wood (3): kvm/ppc/e500: h2g_tlb1_rmap: esel 0 is valid kvm/ppc/e500: g2h_tlb1_map: clear old bit before setting new bit kvm/ppc/e500: eliminate tlb_refs arch/powerpc/kvm/e500.h | 24 --- arch/powerpc/kvm

[PATCH 1/3] kvm/ppc/e500: h2g_tlb1_rmap: esel 0 is valid

2013-02-13 Thread Scott Wood
Add one to esel values in h2g_tlb1_rmap, so that no mapping can be distinguished from esel 0. Note that we're not saved by the fact that host esel 0 is reserved for non-KVM use, because KVM host esel numbering is not the raw host numbering (see to_htlb1_esel). Signed-off-by: Scott Wood scottw

[PATCH 3/3] kvm/ppc/e500: eliminate tlb_refs

2013-02-13 Thread Scott Wood
in TLB1. Since we can have more than one host TLB entry for a given tlbe_ref, be careful not to clear existing flags that are relevant to other host TLB entries when preparing a new host TLB entry. Signed-off-by: Scott Wood scottw...@freescale.com --- arch/powerpc/kvm/e500.h | 24

[PATCH 2/3] kvm/ppc/e500: g2h_tlb1_map: clear old bit before setting new bit

2013-02-13 Thread Scott Wood
It's possible that we're using the same host TLB1 slot to map (a presumably different portion of) the same guest TLB1 entry. Clear the bit in the map before setting it, so that if the esels are the same the bit will remain set. Signed-off-by: Scott Wood scottw...@freescale.com --- arch/powerpc

[RFC PATCH 5/6] kvm/ppc/mpic: adapt to kernel style and environment

2013-02-13 Thread Scott Wood
Remove braces that Linux style doesn't permit, remove space after '*' that Lindent added, keep error/debug strings contiguous, etc. Substitute type names, debug prints, etc. Signed-off-by: Scott Wood scottw...@freescale.com --- arch/powerpc/kvm/mpic.c | 445

[RFC PATCH 1/6] kvm: add device control API

2013-02-13 Thread Scott Wood
enumerated capabilities. Signed-off-by: Scott Wood scottw...@freescale.com --- Documentation/virtual/kvm/api.txt| 76 ++ Documentation/virtual/kvm/devices/README |1 + include/linux/kvm_host.h | 21 + include/uapi/linux/kvm.h | 25

[RFC PATCH 3/6] kvm/ppc/mpic: import hw/openpic.c from QEMU

2013-02-13 Thread Scott Wood
patch. Signed-off-by: Scott Wood scottw...@freescale.com --- arch/powerpc/kvm/mpic.c | 1686 +++ 1 file changed, 1686 insertions(+) create mode 100644 arch/powerpc/kvm/mpic.c diff --git a/arch/powerpc/kvm/mpic.c b/arch/powerpc/kvm/mpic.c new file mode

[RFC PATCH 4/6] kvm/ppc/mpic: remove some obviously unneeded code

2013-02-13 Thread Scott Wood
Remove some parts of the code that are obviously QEMU or Raven specific before fixing style issues, to reduce the style issues that need to be fixed. Signed-off-by: Scott Wood scottw...@freescale.com --- arch/powerpc/kvm/mpic.c | 344 --- 1 file

[RFC PATCH 6/6] kvm/ppc/mpic: in-kernel MPIC emulation

2013-02-13 Thread Scott Wood
Hook the MPIC code up to the KVM interfaces, add locking, etc. TODO: irqfd support Signed-off-by: Scott Wood scottw...@freescale.com --- Documentation/virtual/kvm/devices/mpic.txt | 36 ++ arch/powerpc/include/asm/kvm_host.h|9 +- arch/powerpc/include/asm/kvm_ppc.h |4

[RFC PATCH 2/6] kvm/ppc: add a notifier chain for vcpu creation/destruction.

2013-02-13 Thread Scott Wood
on on x86 (why are kvm_arch_vcpu_free and kvm_arch_vcpu_destroy so different?). Signed-off-by: Scott Wood scottw...@freescale.com --- arch/powerpc/kvm/powerpc.c | 19 +++ include/linux/kvm_host.h | 19 +++ virt/kvm/kvm_main.c|2 ++ 3 files changed, 36

Re: [PATCH 0/3] kvm/ppc/e500: TLB bugfixes

2013-02-13 Thread Scott Wood
On 02/13/2013 11:37:47 PM, Scott Wood wrote: Scott Wood (3): kvm/ppc/e500: h2g_tlb1_rmap: esel 0 is valid kvm/ppc/e500: g2h_tlb1_map: clear old bit before setting new bit kvm/ppc/e500: eliminate tlb_refs arch/powerpc/kvm/e500.h | 24 --- arch/powerpc/kvm

Re: [PATCH] Added one_reg interface for timer registers

2013-02-08 Thread Scott Wood
On 02/08/2013 04:06:14 AM, Bharat Bhushan wrote: If userspace wants to change some specific bits of TSR (timer status register) then it uses GET/SET_SREGS ioctl interface. So the steps will be: i) user-space will make get ioctl, ii) change TSR in userspace iii) then make set

Re: [PATCH] Added one_reg interface for timer registers

2013-02-08 Thread Scott Wood
On 02/08/2013 04:06:14 AM, Bharat Bhushan wrote: If userspace wants to change some specific bits of TSR (timer status register) then it uses GET/SET_SREGS ioctl interface. So the steps will be: i) user-space will make get ioctl, ii) change TSR in userspace iii) then make set

[PATCH] KVM: PPC: e500: fix BOOKE_INTERRUPT_ALIGNMENT build break

2013-02-07 Thread Scott Wood
Commit 2765788fcc3dc64920dd2be3d32319b50b1e2813 (KVM: PPC: BookE: Handle alignment interrupts) broke the build by adding mismatched parentheses. Signed-off-by: Scott Wood scottw...@freescale.com --- Against kvm-ppc-queue arch/powerpc/kvm/booke_interrupts.S |4 ++-- 1 file changed, 2

Re: [PATCH] KVM: PPC: e500: fix BOOKE_INTERRUPT_ALIGNMENT build break

2013-02-07 Thread Scott Wood
On 02/07/2013 06:20:33 PM, Alexander Graf wrote: On 07.02.2013, at 23:17, Scott Wood wrote: Commit 2765788fcc3dc64920dd2be3d32319b50b1e2813 (KVM: PPC: BookE: Handle alignment interrupts) broke the build by adding mismatched parentheses. Signed-off-by: Scott Wood scottw

Re: [PATCH] KVM: PPC: e500: fix BOOKE_INTERRUPT_ALIGNMENT build break

2013-02-07 Thread Scott Wood
On 02/07/2013 06:20:33 PM, Alexander Graf wrote: On 07.02.2013, at 23:17, Scott Wood wrote: Commit 2765788fcc3dc64920dd2be3d32319b50b1e2813 (KVM: PPC: BookE: Handle alignment interrupts) broke the build by adding mismatched parentheses. Signed-off-by: Scott Wood scottw

Re: [PATCH 8/8] KVM:PPC:booke: Allow debug interrupt injection to guest

2013-02-04 Thread Scott Wood
On 02/03/2013 10:48:29 PM, Bhushan Bharat-R65777 wrote: -Original Message- From: Wood Scott-B07421 Sent: Saturday, February 02, 2013 4:09 AM To: Alexander Graf Cc: Bhushan Bharat-R65777; kvm-...@vger.kernel.org; kvm@vger.kernel.org Subject: Re: [PATCH 8/8] KVM:PPC:booke: Allow

Re: [PATCH 8/8] KVM:PPC:booke: Allow debug interrupt injection to guest

2013-02-04 Thread Scott Wood
On 02/03/2013 10:48:29 PM, Bhushan Bharat-R65777 wrote: -Original Message- From: Wood Scott-B07421 Sent: Saturday, February 02, 2013 4:09 AM To: Alexander Graf Cc: Bhushan Bharat-R65777; kvm-ppc@vger.kernel.org; k...@vger.kernel.org Subject: Re: [PATCH 8/8] KVM:PPC:booke: Allow

Re: [PATCH 8/8] KVM:PPC:booke: Allow debug interrupt injection to guest

2013-02-01 Thread Scott Wood
On 01/31/2013 06:11:32 PM, Alexander Graf wrote: On 31.01.2013, at 23:40, Scott Wood wrote: On 01/31/2013 01:20:39 PM, Alexander Graf wrote: On 31.01.2013, at 20:05, Alexander Graf wrote: On 31.01.2013, at 19:54, Scott Wood wrote: On 01/31/2013 12:52:41 PM, Alexander Graf wrote

Re: [PATCH 8/8] KVM:PPC:booke: Allow debug interrupt injection to guest

2013-02-01 Thread Scott Wood
On 01/31/2013 06:11:32 PM, Alexander Graf wrote: On 31.01.2013, at 23:40, Scott Wood wrote: On 01/31/2013 01:20:39 PM, Alexander Graf wrote: On 31.01.2013, at 20:05, Alexander Graf wrote: On 31.01.2013, at 19:54, Scott Wood wrote: On 01/31/2013 12:52:41 PM, Alexander Graf wrote

Re: [PATCH 1/5] KVM: PPC: e500: Move VCPU's MMUCFG register initialization earlier

2013-01-31 Thread Scott Wood
On 01/31/2013 09:26:20 AM, Caraman Mihai Claudiu-B02008 wrote: -Original Message- From: Alexander Graf [mailto:ag...@suse.de] Sent: Thursday, January 31, 2013 4:58 PM To: Caraman Mihai Claudiu-B02008 Cc: kvm-...@vger.kernel.org; kvm@vger.kernel.org; linuxppc- d...@lists.ozlabs.org

Re: [PATCH 8/8] KVM:PPC:booke: Allow debug interrupt injection to guest

2013-01-31 Thread Scott Wood
On 01/31/2013 06:04:29 AM, Alexander Graf wrote: On 30.01.2013, at 12:12, Bhushan Bharat-R65777 wrote: On bookehv this is how I am controlling the MSR_DE in hardware MSR. And why is this whole thing only executed on HV? On e500v2 we always enable MSR_DE using vcpu-arch.shadow_msr in

Re: [PATCH 8/8] KVM:PPC:booke: Allow debug interrupt injection to guest

2013-01-31 Thread Scott Wood
On 01/31/2013 12:21:07 PM, Alexander Graf wrote: How about something like this? Then both targets at least suck as much :). I'm not sure that should be the goal... Thanks to e500mc's awful hardware design, we don't know who sets the MSR_DE bit. Once we forced it onto the guest, we have no

Re: [PATCH 8/8] KVM:PPC:booke: Allow debug interrupt injection to guest

2013-01-31 Thread Scott Wood
On 01/31/2013 12:52:41 PM, Alexander Graf wrote: On 31.01.2013, at 19:43, Scott Wood wrote: On 01/31/2013 12:21:07 PM, Alexander Graf wrote: How about something like this? Then both targets at least suck as much :). I'm not sure that should be the goal... Thanks to e500mc's awful

Re: [PATCH 8/8] KVM:PPC:booke: Allow debug interrupt injection to guest

2013-01-31 Thread Scott Wood
On 01/31/2013 01:20:39 PM, Alexander Graf wrote: On 31.01.2013, at 20:05, Alexander Graf wrote: On 31.01.2013, at 19:54, Scott Wood wrote: On 01/31/2013 12:52:41 PM, Alexander Graf wrote: On 31.01.2013, at 19:43, Scott Wood wrote: On 01/31/2013 12:21:07 PM, Alexander Graf wrote: How

Re: [PATCH 8/8] KVM:PPC:booke: Allow debug interrupt injection to guest

2013-01-31 Thread Scott Wood
On 01/31/2013 06:04:29 AM, Alexander Graf wrote: On 30.01.2013, at 12:12, Bhushan Bharat-R65777 wrote: On bookehv this is how I am controlling the MSR_DE in hardware MSR. And why is this whole thing only executed on HV? On e500v2 we always enable MSR_DE using vcpu-arch.shadow_msr in

Re: [PATCH 8/8] KVM:PPC:booke: Allow debug interrupt injection to guest

2013-01-31 Thread Scott Wood
On 01/31/2013 12:52:41 PM, Alexander Graf wrote: On 31.01.2013, at 19:43, Scott Wood wrote: On 01/31/2013 12:21:07 PM, Alexander Graf wrote: How about something like this? Then both targets at least suck as much :). I'm not sure that should be the goal... Thanks to e500mc's awful

Re: [PATCH 8/8] KVM:PPC:booke: Allow debug interrupt injection to guest

2013-01-31 Thread Scott Wood
On 01/31/2013 01:20:39 PM, Alexander Graf wrote: On 31.01.2013, at 20:05, Alexander Graf wrote: On 31.01.2013, at 19:54, Scott Wood wrote: On 01/31/2013 12:52:41 PM, Alexander Graf wrote: On 31.01.2013, at 19:43, Scott Wood wrote: On 01/31/2013 12:21:07 PM, Alexander Graf wrote: How

Re: [PATCH][v2] KVM: PPC: add paravirt idle loop for 64-bit book E

2013-01-24 Thread Scott Wood
On 01/22/2013 05:54:43 PM, Stuart Yoder wrote: +.macro BOOK3E_IDLE_LOOP +1: + PPC_WAIT(0) b 1b +.endm + +.macro EPAPR_EV_IDLE_LOOP +idle_loop: + LOAD_REG_IMMEDIATE(r11, EV_HCALL_TOKEN(EV_IDLE)) + +.global epapr_ev_idle_start +epapr_ev_idle_start: + li r3, -1

Re: [PATCH 2/6] KVM: PPC: E500: Explicitly mark shadow maps invalid

2013-01-18 Thread Scott Wood
On 01/18/2013 08:08:01 AM, Alexander Graf wrote: On 18.01.2013, at 04:05, Scott Wood wrote: Invalidation paths that call kvmppc_e500_tlbil_all(), such as MMUCSR0 and tlbivax, need a call to clear_tlb_refs() in order to get the valid bits cleared. Yeah, instead of kvmppc_e500_tlbil_all

Re: [PATCH 1/3] KVM: PPC: e500: Call kvmppc_mmu_map for initial mapping

2013-01-17 Thread Scott Wood
On 01/17/2013 04:50:39 PM, Alexander Graf wrote: @@ -1024,9 +1001,11 @@ void kvmppc_mmu_map(struct kvm_vcpu *vcpu, u64 eaddr, gpa_t gpaddr, { struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu); struct tlbe_priv *priv; - struct kvm_book3e_206_tlb_entry *gtlbe, stlbe; +

Re: [PATCH 3/3] KVM: PPC: e500: Implement TLB1-in-TLB0 mapping

2013-01-17 Thread Scott Wood
On 01/17/2013 04:50:41 PM, Alexander Graf wrote: When a host mapping fault happens in a guest TLB1 entry today, we map the translated guest entry into the host's TLB1. This isn't particularly clever when the guest is mapped by normal 4k pages, since these would be a lot better to put into TLB0

Re: [PATCH 1/3] KVM: PPC: e500: Call kvmppc_mmu_map for initial mapping

2013-01-17 Thread Scott Wood
On 01/17/2013 06:29:56 PM, Alexander Graf wrote: On 18.01.2013, at 01:20, Alexander Graf wrote: On 18.01.2013, at 01:11, Scott Wood wrote: It also seems like it would be cleaner to just invalidate the old entry in tlbwe, and then this function doesn't need to change at all. I am

Re: [PATCH 1/3] KVM: PPC: e500: Call kvmppc_mmu_map for initial mapping

2013-01-17 Thread Scott Wood
On 01/17/2013 06:20:03 PM, Alexander Graf wrote: On 18.01.2013, at 01:11, Scott Wood wrote: On 01/17/2013 04:50:39 PM, Alexander Graf wrote: @@ -1024,9 +1001,11 @@ void kvmppc_mmu_map(struct kvm_vcpu *vcpu, u64 eaddr, gpa_t gpaddr, { struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500

Re: [PATCH 2/6] KVM: PPC: E500: Explicitly mark shadow maps invalid

2013-01-17 Thread Scott Wood
On 01/17/2013 08:34:53 PM, Alexander Graf wrote: When we invalidate shadow TLB maps on the host, we don't mark them as not valid. But we should. Fix this by removing the E500_TLB_VALID from their flags when invalidating. Signed-off-by: Alexander Graf ag...@suse.de ---

Re: [PATCH 1/3] KVM: PPC: e500: Call kvmppc_mmu_map for initial mapping

2013-01-17 Thread Scott Wood
On 01/17/2013 04:50:39 PM, Alexander Graf wrote: @@ -1024,9 +1001,11 @@ void kvmppc_mmu_map(struct kvm_vcpu *vcpu, u64 eaddr, gpa_t gpaddr, { struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500(vcpu); struct tlbe_priv *priv; - struct kvm_book3e_206_tlb_entry *gtlbe, stlbe; +

Re: [PATCH 1/3] KVM: PPC: e500: Call kvmppc_mmu_map for initial mapping

2013-01-17 Thread Scott Wood
On 01/17/2013 06:29:56 PM, Alexander Graf wrote: On 18.01.2013, at 01:20, Alexander Graf wrote: On 18.01.2013, at 01:11, Scott Wood wrote: It also seems like it would be cleaner to just invalidate the old entry in tlbwe, and then this function doesn't need to change at all. I am

Re: [PATCH 1/3] KVM: PPC: e500: Call kvmppc_mmu_map for initial mapping

2013-01-17 Thread Scott Wood
On 01/17/2013 06:20:03 PM, Alexander Graf wrote: On 18.01.2013, at 01:11, Scott Wood wrote: On 01/17/2013 04:50:39 PM, Alexander Graf wrote: @@ -1024,9 +1001,11 @@ void kvmppc_mmu_map(struct kvm_vcpu *vcpu, u64 eaddr, gpa_t gpaddr, { struct kvmppc_vcpu_e500 *vcpu_e500 = to_e500

Re: [PATCH 2/6] KVM: PPC: E500: Explicitly mark shadow maps invalid

2013-01-17 Thread Scott Wood
On 01/17/2013 08:34:53 PM, Alexander Graf wrote: When we invalidate shadow TLB maps on the host, we don't mark them as not valid. But we should. Fix this by removing the E500_TLB_VALID from their flags when invalidating. Signed-off-by: Alexander Graf ag...@suse.de ---

Re: [PATCH] KVM: PPC: add paravirt idle loop for 64-bit book E

2013-01-16 Thread Scott Wood
On 01/16/2013 11:21:24 AM, Stuart Yoder wrote: From: Stuart Yoder stuart.yo...@freescale.com loop was derived from book3e_idle() Signed-off-by: Stuart Yoder stuart.yo...@freescale.com --- arch/powerpc/kernel/epapr_hcalls.S | 63 1 file changed, 63

Re: [kvmarm] [PATCH v5.1 0/2] KVM: ARM: Rename KVM_SET_DEVICE_ADDRESS

2013-01-11 Thread Scott Wood
On 01/11/2013 09:42:55 AM, Alexander Graf wrote: On 11.01.2013, at 02:10, Scott Wood wrote: struct kvm_device_attr { __u32 device; This needs some semantic specification. Is device a constant value? Is it the return value of CREATE_IRQCHIP? As proposed, it's up to the architecture

Re: [RFC PATCH 0/9] KVM: PPC: In-kernel PAPR interrupt controller emulation

2013-01-10 Thread Scott Wood
On 01/10/2013 05:42:16 AM, Alexander Graf wrote: Other instantiation attributes we don't know that early on should be settable between the time frame of vm creation and first execution. An example for this are device addresses. Check out the threads KVM: ARM: Rename KVM_SET_DEVICE_ADDRESS

Re: [kvmarm] [PATCH v5.1 0/2] KVM: ARM: Rename KVM_SET_DEVICE_ADDRESS

2013-01-10 Thread Scott Wood
On 01/10/2013 04:28:01 PM, Marcelo Tosatti wrote: On Wed, Jan 09, 2013 at 10:37:20PM +0100, Alexander Graf wrote: We can start to introduce (and fix ARM) with a generic ioctl in the MPIC patches then. The ioctl is already generic, except for its name. It's making a few wrong

Re: [kvmarm] [PATCH v5.1 0/2] KVM: ARM: Rename KVM_SET_DEVICE_ADDRESS

2013-01-10 Thread Scott Wood
On 01/10/2013 06:35:02 PM, Marcelo Tosatti wrote: On Thu, Jan 10, 2013 at 04:40:12PM -0600, Scott Wood wrote: On 01/10/2013 04:28:01 PM, Marcelo Tosatti wrote: Or just have KVM_SET_PPC_DEVICE_ADDRESS. Is there a downside to that? Besides the above, and my original complaint

Re: [kvmarm] [PATCH v5.1 0/2] KVM: ARM: Rename KVM_SET_DEVICE_ADDRESS

2013-01-09 Thread Scott Wood
On 01/09/2013 10:48:47 AM, Alexander Graf wrote: On 09.01.2013, at 17:26, Christoffer Dall wrote: Renames the KVM_SET_DEVICE_ADDRESS to KVM_ARM_SET_DEVICE_ADDR to make it obvious that this is ARM specific in lack of a better generic interface. Once we agree on a better interface the

Re: [kvmarm] [PATCH v5.1 0/2] KVM: ARM: Rename KVM_SET_DEVICE_ADDRESS

2013-01-09 Thread Scott Wood
On 01/09/2013 02:12:16 PM, Alexander Graf wrote: On 09.01.2013, at 20:50, Scott Wood wrote: On 01/09/2013 10:48:47 AM, Alexander Graf wrote: On 09.01.2013, at 17:26, Christoffer Dall wrote: Renames the KVM_SET_DEVICE_ADDRESS to KVM_ARM_SET_DEVICE_ADDR to make it obvious that this is ARM

Re: [kvmarm] [PATCH v5.1 0/2] KVM: ARM: Rename KVM_SET_DEVICE_ADDRESS

2013-01-09 Thread Scott Wood
On 01/09/2013 03:37:20 PM, Alexander Graf wrote: Am 09.01.2013 um 22:15 schrieb Scott Wood scottw...@freescale.com: I get that there's a tradeoff between getting something in now, versus waiting until the API is more refined. Tagging it with a particular ISA seems like an odd way

Re: [PATCH v5 01/12] KVM: ARM: Introduce KVM_SET_DEVICE_ADDRESS ioctl

2013-01-08 Thread Scott Wood
On 01/08/2013 12:41:30 PM, Christoffer Dall wrote: On ARM (and possibly other architectures) some bits are specific to the model being emulated for the guest and user space needs a way to tell the kernel about those bits. An example is mmio device base addresses, where KVM must know the

Re: [PATCH v5 01/12] KVM: ARM: Introduce KVM_SET_DEVICE_ADDRESS ioctl

2013-01-08 Thread Scott Wood
On 01/08/2013 05:17:05 PM, Christoffer Dall wrote: On Tue, Jan 8, 2013 at 5:36 PM, Scott Wood scottw...@freescale.com wrote: On 01/08/2013 12:41:30 PM, Christoffer Dall wrote: +struct kvm_device_address { + __u64 id; + __u64 addr; +}; What about this is really specific

Re: [PATCH v5 01/12] KVM: ARM: Introduce KVM_SET_DEVICE_ADDRESS ioctl

2013-01-08 Thread Scott Wood
On 01/08/2013 05:49:40 PM, Christoffer Dall wrote: On Tue, Jan 8, 2013 at 6:29 PM, Scott Wood scottw...@freescale.com wrote: On 01/08/2013 05:17:05 PM, Christoffer Dall wrote: This *could* look something like this: struct kvm_device_param { u64 dev_id; u64 param_id; u64

Re: [PATCH 3/4] KVM: PPC: BookE: Implement EPR exit

2013-01-07 Thread Scott Wood
On 01/04/2013 05:41:42 PM, Alexander Graf wrote: @@ -408,6 +411,11 @@ static int kvmppc_booke_irqprio_deliver(struct kvm_vcpu *vcpu, set_guest_esr(vcpu, vcpu-arch.queued_esr); if (update_dear == true) set_guest_dear(vcpu,

Re: [PATCH 3/4] KVM: PPC: BookE: Implement EPR exit

2013-01-07 Thread Scott Wood
On 01/04/2013 05:41:42 PM, Alexander Graf wrote: @@ -408,6 +411,11 @@ static int kvmppc_booke_irqprio_deliver(struct kvm_vcpu *vcpu, set_guest_esr(vcpu, vcpu-arch.queued_esr); if (update_dear == true) set_guest_dear(vcpu,

Re: [PATCH 1/4] KVM: PPC: BookE: Allow irq deliveries to inject requests

2013-01-04 Thread Scott Wood
On 01/04/2013 11:36:37 AM, Alexander Graf wrote: When injecting an interrupt into guest context, we usually don't need to check for requests anymore. At least not until today. With the introduction of EPR, we will have to create a request when the guest has successfully accepted an external

Re: [PATCH 2/4] KVM: PPC: BookE: Emulate mfspr on EPR

2013-01-04 Thread Scott Wood
On 01/04/2013 11:36:38 AM, Alexander Graf wrote: The EPR register is potentially valid for PR KVM as well, so we need to emulate accesses to it. It's only defined for reading, so only handle the mfspr case. Signed-off-by: Alexander Graf ag...@suse.de --- arch/powerpc/kvm/booke_emulate.c |3

Re: [PATCH 4/4] KVM: PPC: BookE: Add EPR ONE_REG sync

2013-01-04 Thread Scott Wood
On 01/04/2013 11:36:40 AM, Alexander Graf wrote: We need to be able to read and write the contents of the EPR register from user space. This patch implements that logic through the ONE_REG API and declares its (never implemented) SREGS counterpart as deprecated. QEMU already uses SREGS to

Re: [PATCH 3/4] KVM: PPC: BookE: Implement EPR exit

2013-01-04 Thread Scott Wood
On 01/04/2013 11:36:39 AM, Alexander Graf wrote: diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index 4ae83f9..363301f 100644 --- a/arch/powerpc/kvm/booke.c +++ b/arch/powerpc/kvm/booke.c @@ -306,7 +306,7 @@ static int kvmppc_booke_irqprio_deliver(struct kvm_vcpu *vcpu, {

Re: [PATCH 4/4] KVM: PPC: BookE: Add EPR ONE_REG sync

2013-01-04 Thread Scott Wood
On 01/04/2013 04:55:34 PM, Alexander Graf wrote: On 04.01.2013, at 21:08, Scott Wood wrote: On 01/04/2013 11:36:40 AM, Alexander Graf wrote: We need to be able to read and write the contents of the EPR register from user space. This patch implements that logic through the ONE_REG API

Re: [PATCH 2/4] KVM: PPC: BookE: Emulate mfspr on EPR

2013-01-04 Thread Scott Wood
On 01/04/2013 11:36:38 AM, Alexander Graf wrote: The EPR register is potentially valid for PR KVM as well, so we need to emulate accesses to it. It's only defined for reading, so only handle the mfspr case. Signed-off-by: Alexander Graf ag...@suse.de --- arch/powerpc/kvm/booke_emulate.c |3

Re: [PATCH 4/4] KVM: PPC: BookE: Add EPR ONE_REG sync

2013-01-04 Thread Scott Wood
On 01/04/2013 04:55:34 PM, Alexander Graf wrote: On 04.01.2013, at 21:08, Scott Wood wrote: On 01/04/2013 11:36:40 AM, Alexander Graf wrote: We need to be able to read and write the contents of the EPR register from user space. This patch implements that logic through the ONE_REG API

Re: [PATCH 2/4] KVM: PPC: Only WARN on invalid emulation

2012-12-18 Thread Scott Wood
On 12/18/2012 06:38:41 AM, Alexander Graf wrote: When we hit an emulation result that we didn't expect, that is an error, but it's nothing that warrants a BUG(), because it can be guest triggered. So instead, let's only WARN() the user that this happened. Signed-off-by: Alexander Graf

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