[PULL 00/51] ppc patch queue 2013-10-31

Alexander Graf
2013-10-31T21:17:45Z

Hi Paolo / Gleb,

This is my current patch queue for ppc. Please pull.

Highlights of this request are:

- Book3s HV and PR can be built into the same kernel
- e500 target debug support
- Book3s POWER8 preparation
- Lots of book3s PR fixes

I left out the FPU rework from Paul in this round, as kvm/next is still on rc2.
I think it'll just have to wait for 3.14.

Alex

The following changes since commit d570142674890fe10b3d7d86aa105e3dfce1ddfa:

Merge tag 'kvm-arm-for-3.13-1' of git://git.linaro.org/people/cdall/linux-kvm-arm into next (2013-10-16 15:30:32 +0300)

are available in the git repository at:

git://github.com/agraf/linux-2.6.git kvm-ppc-queue

for you to fetch changes up to a78b55d1c0218b6d91d504941d20e36435c276f5:

kvm: powerpc: book3s: drop is_hv_enabled (2013-10-17 18:43:34 +0200)

----------------------------------------------------------------
Aneesh Kumar K.V (11):
kvm: powerpc: book3s: pr: Rename KVM_BOOK3S_PR to KVM_BOOK3S_PR_POSSIBLE
kvm: powerpc: book3s: Add a new config variable CONFIG_KVM_BOOK3S_HV_POSSIBLE
kvm: powerpc: Add kvmppc_ops callback
kvm: powerpc: book3s: Cleanup interrupt handling code
kvm: powerpc: book3s: Add is_hv_enabled to kvmppc_ops
kvm: powerpc: book3s: pr: move PR related tracepoints to a separate header
kvm: powerpc: booke: Move booke related tracepoints to separate header
kvm: powerpc: book3s: Support building HV and PR KVM as module
kvm: Add struct kvm arg to memslot APIs
kvm: powerpc: book3s: Allow the HV and PR selection per virtual machine
kvm: powerpc: book3s: drop is_hv_enabled

Bharat Bhushan (10):
powerpc: book3e: _PAGE_LENDIAN must be _PAGE_ENDIAN
kvm: powerpc: allow guest control "E" attribute in mas2
kvm: powerpc: allow guest control "G" attribute in mas2
kvm: powerpc: e500: mark page accessed when mapping a guest page
powerpc: remove unnecessary line continuations
powerpc: move debug registers in a structure
powerpc: export debug registers save function for KVM
KVM: PPC: E500: exit to user space on "ehpriv 1" instruction
KVM: PPC: E500: Using "struct debug_reg"
KVM: PPC: E500: Add userspace debug stub support

Michael Neuling (1):
KVM: PPC: Book3S HV: Reserve POWER8 space in get/set_one_reg

Paul Mackerras (29):
KVM: PPC: Book3S HV: Save/restore SIAR and SDAR along with other PMU registers
KVM: PPC: Book3S HV: Implement timebase offset for guests
KVM: PPC: Book3S: Add GET/SET_ONE_REG interface for VRSAVE
KVM: PPC: Book3S HV: Implement H_CONFER
KVM: PPC: Book3S HV: Restructure kvmppc_hv_entry to be a subroutine
KVM: PPC: Book3S HV: Pull out interrupt-reading code into a subroutine
KVM: PPC: Book3S HV: Avoid unbalanced increments of VPA yield count
KVM: PPC: BookE: Add GET/SET_ONE_REG interface for VRSAVE
KVM: PPC: Book3S HV: Store LPCR value for each virtual core
KVM: PPC: Book3S HV: Add support for guest Program Priority Register
KVM: PPC: Book3S HV: Support POWER6 compatibility mode on POWER7
KVM: PPC: Book3S HV: Don't crash host on unknown guest interrupt
KVM: PPC: Book3S PR: Fix compilation without CONFIG_ALTIVEC
KVM: PPC: Book3S PR: Keep volatile reg values in vcpu rather than shadow_vcpu
KVM: PPC: Book3S PR: Allow guest to use 64k pages
KVM: PPC: Book3S PR: Use 64k host pages where possible
KVM: PPC: Book3S PR: Handle PP0 page-protection bit in guest HPTEs
KVM: PPC: Book3S PR: Correct errors in H_ENTER implementation
KVM: PPC: Book3S PR: Make HPT accesses and updates SMP-safe
KVM: PPC: Book3S PR: Allocate kvm_vcpu structs from kvm_vcpu_cache
KVM: PPC: Book3S: Move skip-interrupt handlers to common code
KVM: PPC: Book3S PR: Better handling of host-side read-only pages
KVM: PPC: Book3S PR: Use mmu_notifier_retry() in kvmppc_mmu_map_page()
KVM: PPC: Book3S PR: Mark pages accessed, and dirty if being written
KVM: PPC: Book3S PR: Reduce number of shadow PTEs invalidated by MMU notifiers
kvm: powerpc: book3s hv: Fix vcore leak
KVM: PPC: Book3S HV: Better handling of exceptions that happen in real mode
kvm: powerpc: book3s: remove kvmppc_handler_highmem label
kvm: powerpc: book3s: move book3s_64_vio_hv.c into the main kernel binary

Documentation/virtual/kvm/api.txt | 44 +++
arch/arm/kvm/arm.c | 5 +-
arch/ia64/kvm/kvm-ia64.c | 5 +-
arch/mips/kvm/kvm_mips.c | 5 +-
arch/powerpc/include/asm/disassemble.h | 4 +
arch/powerpc/include/asm/exception-64s.h | 21 +-
arch/powerpc/include/asm/kvm_asm.h | 4 +
arch/powerpc/include/asm/kvm_book3s.h | 232 +----------
arch/powerpc/include/asm/kvm_book3s_32.h | 2 +-
arch/powerpc/include/asm/kvm_book3s_64.h | 8 +-
arch/powerpc/include/asm/kvm_book3s_asm.h | 9 +-
arch/powerpc/include/asm/kvm_booke.h | 7 +-
arch/powerpc/include/asm/kvm_host.h | 52 ++-
arch/powerpc/include/asm/kvm_ppc.h | 107 ++++--
arch/powerpc/include/asm/paca.h | 2 +-
arch/powerpc/include/asm/processor.h | 38 +-
arch/powerpc/include/asm/pte-book3e.h | 2 +-
arch/powerpc/include/asm/reg.h | 15 +
arch/powerpc/include/asm/reg_booke.h | 8 +-
arch/powerpc/include/asm/switch_to.h | 1 +
arch/powerpc/include/uapi/asm/kvm.h | 86 ++++-
arch/powerpc/kernel/asm-offsets.c | 23 +-
arch/powerpc/kernel/exceptions-64s.S | 30 +-
arch/powerpc/kernel/idle_power7.S | 2 +-
arch/powerpc/kernel/process.c | 45 +--
arch/powerpc/kernel/ptrace.c | 154 ++++----
arch/powerpc/kernel/ptrace32.c | 2 +-
arch/powerpc/kernel/signal_32.c | 6 +-
arch/powerpc/kernel/traps.c | 35 +-
arch/powerpc/kvm/44x.c | 58 ++-
arch/powerpc/kvm/44x_emulate.c | 8 +-
arch/powerpc/kvm/44x_tlb.c | 2 +-
arch/powerpc/kvm/Kconfig | 28 +-
arch/powerpc/kvm/Makefile | 29 +-
arch/powerpc/kvm/book3s.c | 257 ++++++++++++-
arch/powerpc/kvm/book3s.h | 34 ++
arch/powerpc/kvm/book3s_32_mmu.c | 73 ++--
arch/powerpc/kvm/book3s_32_mmu_host.c | 16 +-
arch/powerpc/kvm/book3s_64_mmu.c | 181 +++++++--
arch/powerpc/kvm/book3s_64_mmu_host.c | 106 +++--
arch/powerpc/kvm/book3s_64_mmu_hv.c | 24 +-
arch/powerpc/kvm/book3s_64_vio_hv.c | 1 +
arch/powerpc/kvm/book3s_emulate.c | 18 +-
arch/powerpc/kvm/book3s_exports.c | 5 +-
arch/powerpc/kvm/book3s_hv.c | 389 +++++++++++++++----
arch/powerpc/kvm/book3s_hv_interrupts.S | 3 -
arch/powerpc/kvm/book3s_hv_rmhandlers.S | 618 +++++++++++++++++-------------
arch/powerpc/kvm/book3s_interrupts.S | 32 +-
arch/powerpc/kvm/book3s_mmu_hpte.c | 66 +++-
arch/powerpc/kvm/book3s_pr.c | 498 +++++++++++++++++-------
arch/powerpc/kvm/book3s_pr_papr.c | 52 ++-
arch/powerpc/kvm/book3s_rmhandlers.S | 32 +-
arch/powerpc/kvm/book3s_rtas.c | 1 +
arch/powerpc/kvm/book3s_segment.S | 4 +-
arch/powerpc/kvm/book3s_xics.c | 7 +-
arch/powerpc/kvm/booke.c | 337 ++++++++++++++--
arch/powerpc/kvm/booke.h | 29 ++
arch/powerpc/kvm/e500.c | 59 ++-
arch/powerpc/kvm/e500.h | 2 +-
arch/powerpc/kvm/e500_emulate.c | 34 +-
arch/powerpc/kvm/e500_mmu.c | 4 +-
arch/powerpc/kvm/e500_mmu_host.c | 6 +-
arch/powerpc/kvm/e500mc.c | 58 ++-
arch/powerpc/kvm/emulate.c | 12 +-
arch/powerpc/kvm/powerpc.c | 171 +++++----
arch/powerpc/kvm/trace.h | 429 ---------------------
arch/powerpc/kvm/trace_booke.h | 177 +++++++++
arch/powerpc/kvm/trace_pr.h | 297 ++++++++++++++
arch/s390/kvm/kvm-s390.c | 5 +-
arch/x86/kvm/x86.c | 5 +-
include/linux/kvm_host.h | 5 +-
include/uapi/linux/kvm.h | 4 +
virt/kvm/kvm_main.c | 16 +-
73 files changed, 3408 insertions(+), 1738 deletions(-)
create mode 100644 arch/powerpc/kvm/book3s.h
create mode 100644 arch/powerpc/kvm/trace_booke.h
create mode 100644 arch/powerpc/kvm/trace_pr.h