All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/30] KVM: PPC: e500mc support
@ 2012-02-17 17:13 ` Alexander Graf
  0 siblings, 0 replies; 130+ messages in thread
From: Alexander Graf @ 2012-02-17 17:13 UTC (permalink / raw)
  To: kvm-ppc; +Cc: kvm, linuxppc-dev, Scott Wood

(resending with fixed email list - somehow I screwed that one up the
 first time)

This is Scott's e500mc RFC patch set rebased, berobbed of its pt_regs
parts and fixed for bisectability. On top of them, I addressed all the
comments that I had on the code and that came up in his code as FIXMEs.

I verified that this patch set works just fine on e500mc and doesn't
break e500v2, so I would say it's good to go as it is, unless someone
has strong objections to how things are done. Everything hereafter
I would prefer to do based on a working upstream version rather than
a downstream fork, as that way exposure is a lot higher.

Alex

Alexander Graf (15):
  KVM: PPC: e500mc: Add doorbell emulation support
  KVM: PPC: e500mc: implicitly set MSR_GS
  KVM: PPC: e500mc: Move r1/r2 restoration very early
  KVM: PPC: e500mc: add load inst fixup
  KVM: PPC: rename CONFIG_KVM_E500 -> CONFIG_KVM_E500V2
  KVM: PPC: make e500v2 and e500mc mutually exclusive
  KVM: PPC: booke: remove leftover debugging
  KVM: PPC: booke: deliver program int on emulation failure
  KVM: PPC: booke: call resched after every exit
  KVM: PPC: booke: BOOKE_IRQPRIO_MAX is n+1
  KVM: PPC: bookehv: fix exit timing
  KVM: PPC: bookehv: remove negation for CONFIG_64BIT
  KVM: PPC: bookehv: remove SET_VCPU
  KVM: PPC: bookehv: disable MAS register updates early
  KVM: PPC: bookehv: add comment about shadow_msr

Scott Wood (15):
  powerpc/booke: Set CPU_FTR_DEBUG_LVL_EXC on 32-bit
  powerpc/e500: split CPU_FTRS_ALWAYS/CPU_FTRS_POSSIBLE
  KVM: PPC: factor out lpid allocator from book3s_64_mmu_hv
  KVM: PPC: booke: add booke-level vcpu load/put
  KVM: PPC: booke: Move vm core init/destroy out of booke.c
  KVM: PPC: e500: rename e500_tlb.h to e500.h
  KVM: PPC: e500: merge <asm/kvm_e500.h> into arch/powerpc/kvm/e500.h
  KVM: PPC: e500: clean up arch/powerpc/kvm/e500.h
  KVM: PPC: e500: refactor core-specific TLB code
  KVM: PPC: e500: Track TLB1 entries with a bitmap
  KVM: PPC: e500: emulate tlbilx
  powerpc/booke: Provide exception macros with interrupt name
  KVM: PPC: booke: category E.HV (GS-mode) support
  KVM: PPC: booke: standard PPC floating point support
  KVM: PPC: e500mc support

 arch/powerpc/include/asm/cputable.h         |   21 +-
 arch/powerpc/include/asm/dbell.h            |    1 +
 arch/powerpc/include/asm/kvm.h              |    1 +
 arch/powerpc/include/asm/kvm_asm.h          |    8 +
 arch/powerpc/include/asm/kvm_book3s.h       |    3 +
 arch/powerpc/include/asm/kvm_booke.h        |    3 +
 arch/powerpc/include/asm/kvm_booke_hv_asm.h |   49 +++
 arch/powerpc/include/asm/kvm_e500.h         |   96 -----
 arch/powerpc/include/asm/kvm_host.h         |   22 +-
 arch/powerpc/include/asm/kvm_ppc.h          |    8 +
 arch/powerpc/include/asm/mmu-book3e.h       |    6 +
 arch/powerpc/include/asm/processor.h        |    3 +
 arch/powerpc/include/asm/reg.h              |    2 +
 arch/powerpc/include/asm/reg_booke.h        |   34 ++
 arch/powerpc/include/asm/system.h           |    1 +
 arch/powerpc/kernel/asm-offsets.c           |   15 +-
 arch/powerpc/kernel/cpu_setup_fsl_booke.S   |    1 +
 arch/powerpc/kernel/head_44x.S              |   23 +-
 arch/powerpc/kernel/head_booke.h            |   69 ++-
 arch/powerpc/kernel/head_fsl_booke.S        |   98 ++++-
 arch/powerpc/kvm/44x.c                      |   12 +
 arch/powerpc/kvm/Kconfig                    |   26 +-
 arch/powerpc/kvm/Makefile                   |   15 +-
 arch/powerpc/kvm/book3s_64_mmu_hv.c         |   26 +-
 arch/powerpc/kvm/booke.c                    |  379 ++++++++++++++---
 arch/powerpc/kvm/booke.h                    |   57 +++-
 arch/powerpc/kvm/booke_emulate.c            |   23 +-
 arch/powerpc/kvm/bookehv_interrupts.S       |  609 +++++++++++++++++++++++++++
 arch/powerpc/kvm/e500.c                     |  372 ++++++++++++++---
 arch/powerpc/kvm/e500.h                     |  302 +++++++++++++
 arch/powerpc/kvm/e500_emulate.c             |  110 +++++-
 arch/powerpc/kvm/e500_tlb.c                 |  588 +++++++++++---------------
 arch/powerpc/kvm/e500_tlb.h                 |  174 --------
 arch/powerpc/kvm/e500mc.c                   |  342 +++++++++++++++
 arch/powerpc/kvm/powerpc.c                  |   47 ++-
 arch/powerpc/kvm/timing.h                   |    6 +
 36 files changed, 2717 insertions(+), 835 deletions(-)
 create mode 100644 arch/powerpc/include/asm/kvm_booke_hv_asm.h
 delete mode 100644 arch/powerpc/include/asm/kvm_e500.h
 create mode 100644 arch/powerpc/kvm/bookehv_interrupts.S
 create mode 100644 arch/powerpc/kvm/e500.h
 delete mode 100644 arch/powerpc/kvm/e500_tlb.h
 create mode 100644 arch/powerpc/kvm/e500mc.c


^ permalink raw reply	[flat|nested] 130+ messages in thread
* [PATCH 00/30] KVM: PPC: e500mc support
@ 2012-02-17 16:56 Alexander Graf
  2012-02-17 16:56 ` [PATCH 16/30] KVM: PPC: e500mc: Add doorbell emulation support Alexander Graf
  0 siblings, 1 reply; 130+ messages in thread
From: Alexander Graf @ 2012-02-17 16:56 UTC (permalink / raw)
  To: kvm-ppc; +Cc: Scott Wood, linuxppc-dev, list

This is Scott's e500mc RFC patch set rebased, berobbed of its pt_regs
parts and fixed for bisectability. On top of them, I addressed all the
comments that I had on the code and that came up in his code as FIXMEs.

I verified that this patch set works just fine on e500mc and doesn't
break e500v2, so I would say it's good to go as it is, unless someone
has strong objections to how things are done. Everything hereafter
I would prefer to do based on a working upstream version rather than
a downstream fork, as that way exposure is a lot higher.

Alex

Alexander Graf (15):
  KVM: PPC: e500mc: Add doorbell emulation support
  KVM: PPC: e500mc: implicitly set MSR_GS
  KVM: PPC: e500mc: Move r1/r2 restoration very early
  KVM: PPC: e500mc: add load inst fixup
  KVM: PPC: rename CONFIG_KVM_E500 -> CONFIG_KVM_E500V2
  KVM: PPC: make e500v2 and e500mc mutually exclusive
  KVM: PPC: booke: remove leftover debugging
  KVM: PPC: booke: deliver program int on emulation failure
  KVM: PPC: booke: call resched after every exit
  KVM: PPC: booke: BOOKE_IRQPRIO_MAX is n+1
  KVM: PPC: bookehv: fix exit timing
  KVM: PPC: bookehv: remove negation for CONFIG_64BIT
  KVM: PPC: bookehv: remove SET_VCPU
  KVM: PPC: bookehv: disable MAS register updates early
  KVM: PPC: bookehv: add comment about shadow_msr

Scott Wood (15):
  powerpc/booke: Set CPU_FTR_DEBUG_LVL_EXC on 32-bit
  powerpc/e500: split CPU_FTRS_ALWAYS/CPU_FTRS_POSSIBLE
  KVM: PPC: factor out lpid allocator from book3s_64_mmu_hv
  KVM: PPC: booke: add booke-level vcpu load/put
  KVM: PPC: booke: Move vm core init/destroy out of booke.c
  KVM: PPC: e500: rename e500_tlb.h to e500.h
  KVM: PPC: e500: merge <asm/kvm_e500.h> into arch/powerpc/kvm/e500.h
  KVM: PPC: e500: clean up arch/powerpc/kvm/e500.h
  KVM: PPC: e500: refactor core-specific TLB code
  KVM: PPC: e500: Track TLB1 entries with a bitmap
  KVM: PPC: e500: emulate tlbilx
  powerpc/booke: Provide exception macros with interrupt name
  KVM: PPC: booke: category E.HV (GS-mode) support
  KVM: PPC: booke: standard PPC floating point support
  KVM: PPC: e500mc support

 arch/powerpc/include/asm/cputable.h         |   21 +-
 arch/powerpc/include/asm/dbell.h            |    1 +
 arch/powerpc/include/asm/kvm.h              |    1 +
 arch/powerpc/include/asm/kvm_asm.h          |    8 +
 arch/powerpc/include/asm/kvm_book3s.h       |    3 +
 arch/powerpc/include/asm/kvm_booke.h        |    3 +
 arch/powerpc/include/asm/kvm_booke_hv_asm.h |   49 +++
 arch/powerpc/include/asm/kvm_e500.h         |   96 -----
 arch/powerpc/include/asm/kvm_host.h         |   22 +-
 arch/powerpc/include/asm/kvm_ppc.h          |    8 +
 arch/powerpc/include/asm/mmu-book3e.h       |    6 +
 arch/powerpc/include/asm/processor.h        |    3 +
 arch/powerpc/include/asm/reg.h              |    2 +
 arch/powerpc/include/asm/reg_booke.h        |   34 ++
 arch/powerpc/include/asm/system.h           |    1 +
 arch/powerpc/kernel/asm-offsets.c           |   15 +-
 arch/powerpc/kernel/cpu_setup_fsl_booke.S   |    1 +
 arch/powerpc/kernel/head_44x.S              |   23 +-
 arch/powerpc/kernel/head_booke.h            |   69 ++-
 arch/powerpc/kernel/head_fsl_booke.S        |   98 ++++-
 arch/powerpc/kvm/44x.c                      |   12 +
 arch/powerpc/kvm/Kconfig                    |   26 +-
 arch/powerpc/kvm/Makefile                   |   15 +-
 arch/powerpc/kvm/book3s_64_mmu_hv.c         |   26 +-
 arch/powerpc/kvm/booke.c                    |  379 ++++++++++++++---
 arch/powerpc/kvm/booke.h                    |   57 +++-
 arch/powerpc/kvm/booke_emulate.c            |   23 +-
 arch/powerpc/kvm/bookehv_interrupts.S       |  609 +++++++++++++++++++++++++++
 arch/powerpc/kvm/e500.c                     |  372 ++++++++++++++---
 arch/powerpc/kvm/e500.h                     |  302 +++++++++++++
 arch/powerpc/kvm/e500_emulate.c             |  110 +++++-
 arch/powerpc/kvm/e500_tlb.c                 |  588 +++++++++++---------------
 arch/powerpc/kvm/e500_tlb.h                 |  174 --------
 arch/powerpc/kvm/e500mc.c                   |  342 +++++++++++++++
 arch/powerpc/kvm/powerpc.c                  |   47 ++-
 arch/powerpc/kvm/timing.h                   |    6 +
 36 files changed, 2717 insertions(+), 835 deletions(-)
 create mode 100644 arch/powerpc/include/asm/kvm_booke_hv_asm.h
 delete mode 100644 arch/powerpc/include/asm/kvm_e500.h
 create mode 100644 arch/powerpc/kvm/bookehv_interrupts.S
 create mode 100644 arch/powerpc/kvm/e500.h
 delete mode 100644 arch/powerpc/kvm/e500_tlb.h
 create mode 100644 arch/powerpc/kvm/e500mc.c

^ permalink raw reply	[flat|nested] 130+ messages in thread

end of thread, other threads:[~2012-02-20 17:19 UTC | newest]

Thread overview: 130+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-17 17:13 [PATCH 00/30] KVM: PPC: e500mc support Alexander Graf
2012-02-17 17:13 ` Alexander Graf
2012-02-17 17:13 ` Alexander Graf
2012-02-17 17:13 ` [PATCH 01/30] powerpc/booke: Set CPU_FTR_DEBUG_LVL_EXC on 32-bit Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 02/30] powerpc/e500: split CPU_FTRS_ALWAYS/CPU_FTRS_POSSIBLE Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 03/30] KVM: PPC: factor out lpid allocator from book3s_64_mmu_hv Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 04/30] KVM: PPC: booke: add booke-level vcpu load/put Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 05/30] KVM: PPC: booke: Move vm core init/destroy out of booke.c Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 06/30] KVM: PPC: e500: rename e500_tlb.h to e500.h Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 07/30] KVM: PPC: e500: merge <asm/kvm_e500.h> into arch/powerpc/kvm/e500.h Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 08/30] KVM: PPC: e500: clean up arch/powerpc/kvm/e500.h Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 09/30] KVM: PPC: e500: refactor core-specific TLB code Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 10/30] KVM: PPC: e500: Track TLB1 entries with a bitmap Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 11/30] KVM: PPC: e500: emulate tlbilx Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 12/30] powerpc/booke: Provide exception macros with interrupt name Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 13/30] KVM: PPC: booke: category E.HV (GS-mode) support Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 21:12   ` Scott Wood
2012-02-17 21:12     ` Scott Wood
2012-02-17 21:12     ` Scott Wood
2012-02-20 11:40     ` Alexander Graf
2012-02-20 11:40       ` Alexander Graf
2012-02-20 11:40       ` Alexander Graf
2012-02-17 17:13 ` [PATCH 14/30] KVM: PPC: booke: standard PPC floating point support Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 15/30] KVM: PPC: e500mc support Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 16/30] KVM: PPC: e500mc: Add doorbell emulation support Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 21:55   ` Scott Wood
2012-02-17 21:55     ` Scott Wood
2012-02-17 21:55     ` Scott Wood
2012-02-17 21:57     ` Scott Wood
2012-02-17 21:57       ` Scott Wood
2012-02-17 21:57       ` Scott Wood
2012-02-20 11:49     ` Alexander Graf
2012-02-20 11:49       ` Alexander Graf
2012-02-20 11:49       ` Alexander Graf
2012-02-20 15:39       ` Scott Wood
2012-02-20 15:39         ` Scott Wood
2012-02-20 15:39         ` Scott Wood
2012-02-20 15:42         ` Alexander Graf
2012-02-20 15:42           ` Alexander Graf
2012-02-20 15:42           ` Alexander Graf
2012-02-17 17:13 ` [PATCH 17/30] KVM: PPC: e500mc: implicitly set MSR_GS Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 18/30] KVM: PPC: e500mc: Move r1/r2 restoration very early Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 19/30] KVM: PPC: e500mc: add load inst fixup Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 23:17   ` Scott Wood
2012-02-17 23:17     ` Scott Wood
2012-02-17 23:17     ` Scott Wood
2012-02-17 17:13 ` [PATCH 20/30] KVM: PPC: rename CONFIG_KVM_E500 -> CONFIG_KVM_E500V2 Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 21/30] KVM: PPC: make e500v2 and e500mc mutually exclusive Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 22:13   ` Scott Wood
2012-02-17 22:13     ` Scott Wood
2012-02-17 22:13     ` Scott Wood
2012-02-17 17:13 ` [PATCH 22/30] KVM: PPC: booke: remove leftover debugging Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 23/30] KVM: PPC: booke: deliver program int on emulation failure Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 24/30] KVM: PPC: booke: call resched after every exit Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 23:00   ` Scott Wood
2012-02-17 23:00     ` Scott Wood
2012-02-17 23:00     ` Scott Wood
2012-02-20 13:17     ` Alexander Graf
2012-02-20 13:17       ` Alexander Graf
2012-02-20 13:17       ` Alexander Graf
2012-02-20 17:18       ` Scott Wood
2012-02-20 17:18         ` Scott Wood
2012-02-20 17:18         ` Scott Wood
2012-02-17 17:13 ` [PATCH 25/30] KVM: PPC: booke: BOOKE_IRQPRIO_MAX is n+1 Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 26/30] KVM: PPC: bookehv: fix exit timing Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 27/30] KVM: PPC: bookehv: remove negation for CONFIG_64BIT Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 28/30] KVM: PPC: bookehv: remove SET_VCPU Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 29/30] KVM: PPC: bookehv: disable MAS register updates early Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13 ` [PATCH 30/30] KVM: PPC: bookehv: add comment about shadow_msr Alexander Graf
2012-02-17 17:13   ` Alexander Graf
2012-02-17 17:13   ` Alexander Graf
  -- strict thread matches above, loose matches on Subject: below --
2012-02-17 16:56 [PATCH 00/30] KVM: PPC: e500mc support Alexander Graf
2012-02-17 16:56 ` [PATCH 16/30] KVM: PPC: e500mc: Add doorbell emulation support Alexander Graf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.