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

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

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 --- arch/powerpc/kvm/e500_tlb.c | 13 +++

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_

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 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-ppc@vger.kernel.org; k...@vger.kernel.org; linuxppc- > d...@lists.ozlab

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 c

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... >

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

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: >> > >&g

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:

[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 --- Against kvm-ppc-queue arch/powerpc/kvm/booke_interrupts.S |4 ++-- 1 file changed, 2 insertions(+), 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: Sco

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 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).

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

2013-02-13 Thread Scott Wood
or E500_TLB_VALID 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 --- 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 --- arch/powerpc/kvm/e500_

[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 --- arch/powerpc/kvm/mpic.c | 445 ++--

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

2013-02-13 Thread Scott Wood
Scott Wood (6): kvm: add device control API kvm/ppc: add a notifier chain for vcpu creation/destruction. kvm/ppc/mpic: import hw/openpic.c from QEMU kvm/ppc/mpic: remove some obviously unneeded code kvm/ppc/mpic: adapt to kernel style and environment kvm/ppc/mpic: in-kernel MPIC

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

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

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

2013-02-13 Thread Scott Wood
l be fixed in a later patch. Signed-off-by: Scott Wood --- 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 10064

[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 --- arch/powerpc/kvm/mpic.c | 344 --- 1 file changed, 344 deletions

[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 --- Documentation/virtual/kvm/devices/mpic.txt | 36 ++ arch/powerpc/include/asm/kvm_host.h|9 +- arch/powerpc/include/asm/kvm_ppc.h |4 + arch/powerpc/kvm

[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 --- arch/powerpc/kvm/powerpc.c | 19 +++ include/linux/kvm_host.h | 19 +++ virt/kvm/kvm_main.c|2 ++ 3 files changed, 36 insertions(

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 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 --- arch/powerpc/kvm/e500_tlb.c | 13 +++

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 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 KVM_CREATE_IRQCHIP_ARGS ioctl, which is l

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 > > > >This adds in-kernel emulation of the XICS (eXternal Interrupt > &

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. MPIC

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 pr

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

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 (n

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 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[KV

[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 --- This seems t

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 wrote: > On 02/18/2013 06:44:20 PM, Christoffer Dall wrote: >> >> On Wed, Feb 13, 2013 at 9:49 PM, Scott Wood >> > +#define KVM_CREATE_DEVICE_I

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 -- assumin

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 c

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 -0

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

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 K

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 attribu

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? > &

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

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,

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

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: &g

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

2013-02-25 Thread Scott Wood
On 02/23/2013 09:04:33 AM, Marcelo Tosatti wrote: On Thu, Feb 21, 2013 at 08:00:25PM -0600, Scott Wood wrote: > On 02/21/2013 05:03:32 PM, Marcelo Tosatti wrote: > >You are not writing to the registers from the CPU point of view. > > That's exactly how KVM_DEV_MPIC_GRP_REG

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

2013-02-25 Thread Scott Wood
On 02/24/2013 09:46:17 AM, Gleb Natapov wrote: On Thu, Feb 21, 2013 at 08:17:54PM -0600, Scott Wood wrote: > On 02/21/2013 02:22:09 AM, Gleb Natapov wrote: > >On Wed, Feb 20, 2013 at 08:05:12PM -0600, Scott Wood wrote: > >> You mean like what we did with SREGS, that

Re: [PATCH 2/7] Added ONE_REG interface for debug instruction

2013-02-28 Thread Scott Wood
On 02/27/2013 10:13:11 PM, Bharat Bhushan wrote: diff --git a/arch/powerpc/kvm/booke.c b/arch/powerpc/kvm/booke.c index 8b553c0..a41cd6d 100644 --- a/arch/powerpc/kvm/booke.c +++ b/arch/powerpc/kvm/booke.c @@ -1448,6 +1448,12 @@ int kvm_vcpu_ioctl_get_one_reg(struct kvm_vcpu *vcpu, struct kvm_o

Re: [PATCH 6/7] Rename EMULATE_DO_PAPR to EMULATE_EXIT_USER

2013-02-28 Thread Scott Wood
On 02/27/2013 10:13:15 PM, Bharat Bhushan wrote: Instruction emulation return EMULATE_DO_PAPR when it requires exit to userspace on book3s. Similar return is required for booke. EMULATE_DO_PAPR reads out to be confusing so it is renamed to EMULATE_EXIT_USER. Signed-off-by: Bharat Bhushan --- a

Re: [PATCH 6/7] Rename EMULATE_DO_PAPR to EMULATE_EXIT_USER

2013-02-28 Thread Scott Wood
On 02/28/2013 10:51:10 AM, Alexander Graf wrote: On 28.02.2013, at 17:31, Scott Wood wrote: > On 02/27/2013 10:13:15 PM, Bharat Bhushan wrote: >> Instruction emulation return EMULATE_DO_PAPR when it requires >> exit to userspace on book3s. Similar return is requir

Re: in-kernel interrupt controller steering

2013-03-04 Thread Scott Wood
On 03/04/2013 04:20:47 PM, Alexander Graf wrote: Howdy, We just sat down to discuss the proposed XICS and MPIC interfaces and how we can take bits of each and create an interface that works for everyone. In this, it feels like we came to some conclusions. Some of which we already reached e

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

2013-03-05 Thread Scott Wood
On 03/05/2013 06:59:26 PM, Paul Mackerras wrote: 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 architecture > only has one way to do it. If th

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

2013-03-05 Thread Scott Wood
On 03/05/2013 08:48:33 PM, Benjamin Herrenschmidt wrote: On Wed, 2013-02-13 at 23:49 -0600, Scott Wood wrote: > Currently, devices that are emulated inside KVM are configured in a > hardcoded manner based on an assumption that any given architecture > only has one way to do it. If th

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

2013-03-06 Thread Scott Wood
or E500_TLB_VALID 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 --- v2: Remove these (harmless, but unnecessary) line

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

2013-03-08 Thread Scott Wood
sbehavior) have been seen in smp guests. Cc: sta...@vger.kernel.org # 3.8.x Signed-off-by: Scott Wood --- arch/powerpc/kvm/e500mc.c |7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/kvm/e500mc.c b/arch/powerpc/kvm/e500mc.c index 1f89d26..2f4baa0 100644 --- a/a

Re: [STRAWMAN PATCH] KVM: PPC: Add ioctl to specify interrupt controller architecture to emulate

2013-03-13 Thread Scott Wood
On 03/08/2013 05:04:30 AM, Alexander Graf wrote: Am 08.03.2013 um 11:37 schrieb Paul Mackerras : > On Thu, Mar 07, 2013 at 03:00:52PM +0100, Alexander Graf wrote: >> >> Could you please (in a quick and drafty way) try and see if setting the IRQ arch (using enable_cap) after the vcpu got crea

Re: [PATCH 7/7] KVM: PPC: Add userspace debug stub support

2013-03-14 Thread Scott Wood
On 03/14/2013 08:57:53 AM, Bhushan Bharat-R65777 wrote: > >>> diff --git a/arch/powerpc/kvm/e500mc.c b/arch/powerpc/kvm/e500mc.c > >>> index 1f89d26..f5fc6f5 100644 > >>> --- a/arch/powerpc/kvm/e500mc.c > >>> +++ b/arch/powerpc/kvm/e500mc.c > >>> @@ -182,8 +182,7 @@ int kvmppc_core_vcpu_setup(s

Re: [STRAWMAN PATCH] KVM: PPC: Add ioctl to specify interrupt controller architecture to emulate

2013-03-14 Thread Scott Wood
On 03/13/2013 08:26:20 PM, Paul Mackerras wrote: On Wed, Mar 13, 2013 at 07:14:48PM -0500, Scott Wood wrote: > On 03/08/2013 05:04:30 AM, Alexander Graf wrote: > > > > > >Am 08.03.2013 um 11:37 schrieb Paul Mackerras : > > > >> On Thu, Mar 07, 2013 at 03

Re: [PATCH] KVM: Add KVM_CAP_IRQ_ARCH capability

2013-03-14 Thread Scott Wood
On 03/13/2013 08:20:44 PM, Paul Mackerras wrote: Setting this capability on a vcpu connects that vcpu to an interrupt controller device. The args[0] field of the argument kvm_enable_cap struct specifies the overall architecture of the interrupt controller. The args[1] field specifies the CPU nu

Re: [PATCH] KVM: Add KVM_CAP_IRQ_ARCH capability

2013-03-14 Thread Scott Wood
On 03/14/2013 01:33:30 PM, Alexander Graf wrote: On 14.03.2013, at 19:20, Scott Wood wrote: > On 03/13/2013 08:20:44 PM, Paul Mackerras wrote: >> Setting this capability on a vcpu connects that vcpu to an interrupt >> controller device. The args[0] field of the argument

Re: [PATCH] KVM: Add KVM_CAP_IRQ_ARCH capability

2013-03-14 Thread Scott Wood
On 03/14/2013 02:03:30 PM, Alexander Graf wrote: On 14.03.2013, at 19:35, Scott Wood wrote: > On 03/14/2013 01:33:30 PM, Alexander Graf wrote: >> On 14.03.2013, at 19:20, Scott Wood wrote: >> > On 03/13/2013 08:20:44 PM, Paul Mackerras wrote: >> >> Setting this

Re: [PATCH] KVM: Add KVM_CAP_IRQ_ARCH capability

2013-03-14 Thread Scott Wood
On 03/14/2013 05:28:03 PM, Paul Mackerras wrote: On Thu, Mar 14, 2013 at 08:03:30PM +0100, Alexander Graf wrote: > > On 14.03.2013, at 19:35, Scott Wood wrote: > > > On 03/14/2013 01:33:30 PM, Alexander Graf wrote: > >> We also want int pic_fd, no? > > > >

Re: [PATCH] KVM: Add KVM_CAP_IRQ_ARCH capability

2013-03-14 Thread Scott Wood
On 03/14/2013 05:19:17 PM, Paul Mackerras wrote: On Thu, Mar 14, 2013 at 01:20:38PM -0500, Scott Wood wrote: > On 03/13/2013 08:20:44 PM, Paul Mackerras wrote: > >--- a/arch/powerpc/include/asm/kvm_host.h > >+++ b/arch/powerpc/include/asm/kvm_host.h > >@@ -3

Re: [STRAWMAN PATCH] KVM: PPC: Add ioctl to specify interrupt controller architecture to emulate

2013-03-14 Thread Scott Wood
On 03/14/2013 05:44:39 PM, Alexander Graf wrote: On 14.03.2013, at 23:02, Paul Mackerras wrote: > On Thu, Mar 14, 2013 at 01:15:35PM -0500, Scott Wood wrote: >> On 03/13/2013 08:26:20 PM, Paul Mackerras wrote: > >>> I arbitrarily >>> assigned 0x58494353 for

Re: [PATCH] KVM: PPC: e500: Expose MMU registers via ONE_REG

2013-03-19 Thread Scott Wood
On 03/19/2013 12:17:11 PM, Mihai Caraman wrote: diff --git a/arch/powerpc/kvm/e500_mmu.c b/arch/powerpc/kvm/e500_mmu.c index 66b6e31..b77b855 100644 --- a/arch/powerpc/kvm/e500_mmu.c +++ b/arch/powerpc/kvm/e500_mmu.c @@ -596,6 +596,95 @@ int kvmppc_set_sregs_e500_tlb(struct kvm_vcpu *vcpu, stru

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

2013-03-21 Thread Scott Wood
On 03/21/2013 03:28:35 AM, Alexander Graf wrote: On 14.02.2013, at 06:49, Scott Wood wrote: > Hook the MPIC code up to the KVM interfaces, add locking, etc. > > TODO: irqfd support > > Signed-off-by: Scott Wood Could you please split this patch up on your next respin? Any p

Re: [PULL 0/7] ppc patch queue 2013-03-22

2013-03-25 Thread Scott Wood
: Marcelo Tosatti (1): Merge remote-tracking branch 'upstream/master' into queue are available in the git repository at: git://github.com/agraf/linux-2.6.git kvm-ppc-next [snip] Scott Wood (3): kvm/ppc/e500: h2g_tlb1_rmap: esel 0 is valid kvm/ppc/e500: g2h_tlb1_

Re: [PULL 0/7] ppc patch queue 2013-03-22

2013-03-25 Thread Scott Wood
On 03/25/2013 05:32:11 PM, Alexander Graf wrote: On 25.03.2013, at 23:21, Scott Wood wrote: > -next? These are bugfixes, at least partially for regressions from 3.8 (that I pointed out before the bugs were merged!), that should go into master. > > Also, what abou

Re: [PULL 0/7] ppc patch queue 2013-03-22

2013-03-25 Thread Scott Wood
On 03/25/2013 05:59:39 PM, Alexander Graf wrote: On 25.03.2013, at 23:54, Scott Wood wrote: > On 03/25/2013 05:32:11 PM, Alexander Graf wrote: >> On 25.03.2013, at 23:21, Scott Wood wrote: >> > -next? These are bugfixes, at least partially for regressions from 3.8 (that I

Re: [PULL 0/7] ppc patch queue 2013-03-22

2013-03-26 Thread Scott Wood
On 03/25/2013 08:33:12 PM, Gleb Natapov wrote: On Tue, Mar 26, 2013 at 12:35:09AM +0100, Alexander Graf wrote: > > On 26.03.2013, at 00:16, Scott Wood wrote: > > > On 03/25/2013 05:59:39 PM, Alexander Graf wrote: > >> On 25.03.2013, at 23:54, Scott Wood wrote: > >

Re: [PATCH 3/7 v2] KVM: PPC: e500: Add support for TLBnPS registers

2013-03-26 Thread Scott Wood
On 03/26/2013 05:05:08 PM, Mihai Caraman wrote: diff --git a/arch/powerpc/kvm/e500.h b/arch/powerpc/kvm/e500.h index b73ca7a..795934d 100644 --- a/arch/powerpc/kvm/e500.h +++ b/arch/powerpc/kvm/e500.h @@ -23,6 +23,8 @@ #include #include +#define VCPU_FTR_MMU_V20 enum? We d

Re: [PATCH 1/7 v2] KVM: PPC: e500: Expose MMU registers via ONE_REG

2013-03-26 Thread Scott Wood
On 03/26/2013 05:05:06 PM, Mihai Caraman wrote: +int kvmppc_set_one_reg_e500_tlb(struct kvm_vcpu *vcpu, u64 id, + union kvmppc_one_reg *val) +{ + int r = 0; + long int i; + + switch (id) { + case KVM_REG_PPC_MAS0: + vcpu->arch.sha

Re: [PATCH 5/7 v2] KVM: PPC: e500: Remove E.PT and E.HV.LRAT categories from VCPUs

2013-03-27 Thread Scott Wood
On 03/26/2013 05:05:10 PM, Mihai Caraman wrote: Embedded.Page Table (E.PT) category in VMs requires indirect tlb entries emulation which is not supported yet. Configure TLBnCFG to remove E.PT and E.HV.LRAT categories from VCPUs. Signed-off-by: Mihai Caraman --- v2: - Remove E.HV.LRAT from vc

[RFC PATCH v2 0/6] device control and in-kernel MPIC

2013-04-01 Thread Scott Wood
improvements, such as support for the standard KVM_IRQ_LINE interface and splitting up the "in-kernel MPIC emulation" patch, will be addressed in a later revision. Scott Wood (6): kvm: add device control API kvm/ppc/mpic: import hw/openpic.c from QEMU kvm/ppc/mpic: remove some

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

2013-04-01 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 --- arch/powerpc/kvm/mpic.c | 344 --- 1 file changed, 344 deletions

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

2013-04-01 Thread Scott Wood
Hook the MPIC code up to the KVM interfaces, add locking, etc. TODO: irqfd support, split up into multiple patches, KVM_IRQ_LINE support Signed-off-by: Scott Wood --- Documentation/virtual/kvm/devices/mpic.txt | 37 ++ arch/powerpc/include/asm/kvm_host.h|8 +- arch/powerpc

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

2013-04-01 Thread Scott Wood
l be fixed in a later patch. Signed-off-by: Scott Wood --- 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 10064

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

2013-04-01 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 --- arch/powerpc/kvm/mpic.c | 445 ++--

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

2013-04-01 Thread Scott Wood
aging enumerated capabilities. Signed-off-by: Scott Wood --- Documentation/virtual/kvm/api.txt| 70 ++ Documentation/virtual/kvm/devices/README |1 + arch/powerpc/include/asm/kvm_host.h |6 +++ arch/powerpc/include/asm/kvm_ppc.h |2 + arch/po

[RFC PATCH v2 6/6] kvm/ppc/mpic: add KVM_CAP_IRQ_MPIC

2013-04-01 Thread Scott Wood
ct is associated with this vm, and it doesn't need to care about ordering between irqchip creation and vcpu creation. Signed-off-by: Scott Wood --- Documentation/virtual/kvm/api.txt |8 ++ arch/powerpc/include/asm/kvm_host.h | 10 --- arch/powerpc/include/asm/kvm_ppc.h |2 ++ ar

Re: [PATCH 4/4 v2] KVM: PPC: Add userspace debug stub support

2013-04-02 Thread Scott Wood
On 04/02/2013 09:09:34 AM, Bhushan Bharat-R65777 wrote: > -Original Message- > From: Alexander Graf [mailto:ag...@suse.de] > Sent: Tuesday, April 02, 2013 1:57 PM > To: Bhushan Bharat-R65777 > Cc: kvm-ppc@vger.kernel.org; k...@vger.kernel.org; Wood Scott-B07421 > Subject: Re: [PATCH 4/4

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

2013-04-02 Thread Scott Wood
On 04/02/2013 08:02:39 PM, Paul Mackerras wrote: On Mon, Apr 01, 2013 at 05:47:48PM -0500, Scott Wood wrote: > Currently, devices that are emulated inside KVM are configured in a > hardcoded manner based on an assumption that any given architecture > only has one way to do it. If th

[RFC PATCH v3 0/6] device control and in-kernel MPIC

2013-04-02 Thread Scott Wood
Fixed some patch shuffling errors and some minor issues. Scott Wood (6): kvm: add device control API kvm/ppc/mpic: import hw/openpic.c from QEMU kvm/ppc/mpic: remove some obviously unneeded code kvm/ppc/mpic: adapt to kernel style and environment kvm/ppc/mpic: in-kernel MPIC emulation

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

2013-04-02 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 --- arch/powerpc/kvm/mpic.c | 344 --- 1 file changed, 344 deletions

[RFC PATCH v3 6/6] kvm/ppc/mpic: add KVM_CAP_IRQ_MPIC

2013-04-02 Thread Scott Wood
ct is associated with this vm, and it doesn't need to care about ordering between irqchip creation and vcpu creation. Signed-off-by: Scott Wood --- Documentation/virtual/kvm/api.txt |8 ++ arch/powerpc/include/asm/kvm_host.h |8 ++ arch/powerpc/include/asm/kvm_ppc.h |2 ++ ar

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

2013-04-02 Thread Scott Wood
Hook the MPIC code up to the KVM interfaces, add locking, etc. TODO: irqfd support, split up into multiple patches, KVM_IRQ_LINE support Signed-off-by: Scott Wood --- v3: mpic_put -> kvmppc_mpic_put Documentation/virtual/kvm/devices/mpic.txt | 37 ++ arch/powerpc/include/asm/kvm_hos

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

2013-04-02 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 --- arch/powerpc/kvm/mpic.c | 445 ++--

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

2013-04-02 Thread Scott Wood
l be fixed in a later patch. Signed-off-by: Scott Wood --- 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 10064

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

2013-04-02 Thread Scott Wood
aging enumerated capabilities. Signed-off-by: Scott Wood --- v3: remove some changes that were merged into this patch by accident, and fix the error documentation for KVM_CREATE_DEVICE. NOTE: I had some difficulty figuring out what ioctl numbers I should assign... it seems that at one point care was

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

2013-04-03 Thread Scott Wood
On 04/03/2013 08:22:37 AM, Alexander Graf wrote: On 03.04.2013, at 04:17, Paul Mackerras wrote: > On Tue, Apr 02, 2013 at 08:19:56PM -0500, Scott Wood wrote: >> On 04/02/2013 08:02:39 PM, Paul Mackerras wrote: >>> On Mon, Apr 01, 2013 at 05:47:48PM -0500, Scott Wood

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

2013-04-03 Thread Scott Wood
On 04/03/2013 10:55:27 AM, Gleb Natapov wrote: On Tue, Apr 02, 2013 at 08:57:52PM -0500, Scott Wood wrote: > Hook the MPIC code up to the KVM interfaces, add locking, etc. > > TODO: irqfd support, split up into multiple patches, KVM_IRQ_LINE > support > > Signed-off-by: Scott

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

2013-04-03 Thread Scott Wood
On 04/02/2013 09:17:58 PM, Paul Mackerras wrote: On Tue, Apr 02, 2013 at 08:19:56PM -0500, Scott Wood wrote: > On 04/02/2013 08:02:39 PM, Paul Mackerras wrote: > >On Mon, Apr 01, 2013 at 05:47:48PM -0500, Scott Wood wrote: > >> +4.79 KVM_CREATE_DEVICE > >> + > >&

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

2013-04-03 Thread Scott Wood
On 04/03/2013 11:19:42 AM, Alexander Graf wrote: On 03.04.2013, at 03:57, Scott Wood wrote: > Hook the MPIC code up to the KVM interfaces, add locking, etc. > > TODO: irqfd support, split up into multiple patches, KVM_IRQ_LINE > support > > Signed-off-by: Scott Wood &g

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

2013-04-03 Thread Scott Wood
On 04/03/2013 04:58:56 PM, Alexander Graf wrote: Am 03.04.2013 um 23:38 schrieb Scott Wood : > On 04/03/2013 11:19:42 AM, Alexander Graf wrote: >> On 03.04.2013, at 03:57, Scott Wood wrote: >> > Hook the MPIC code up to the KVM interfaces, add locking, etc. >> &g

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

2013-04-03 Thread Scott Wood
On 04/03/2013 05:12:06 PM, Alexander Graf wrote: Am 04.04.2013 um 00:07 schrieb Scott Wood : > On 04/03/2013 04:58:56 PM, Alexander Graf wrote: >> Am 03.04.2013 um 23:38 schrieb Scott Wood : >> > On 04/03/2013 11:19:42 AM, Alexander Graf wrote: >> >> On 03

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

2013-04-03 Thread Scott Wood
On 04/03/2013 05:07:30 PM, Scott Wood wrote: On 04/03/2013 04:58:56 PM, Alexander Graf wrote: Am 03.04.2013 um 23:38 schrieb Scott Wood : > On 04/03/2013 11:19:42 AM, Alexander Graf wrote: >> On 03.04.2013, at 03:57, Scott Wood wrote: >> > +switch (attr->gr

Re: [RFC PATCH v3 6/6] kvm/ppc/mpic: add KVM_CAP_IRQ_MPIC

2013-04-04 Thread Scott Wood
On 04/04/2013 07:54:20 AM, Alexander Graf wrote: On 03.04.2013, at 03:57, Scott Wood wrote: > + if (opp->mpic_mode_mask == GCR_MODE_PROXY) Shouldn't this be an &? The way the mode field was originally documented was a two-bit field, where 0b11 was external proxy, and 0b

<    1   2   3   4   5   6   7   8   9   >