From: "Radim Krčmář" <rkrcmar@redhat.com>
To: James Hogan <james.hogan@imgtec.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
Ralf Baechle <ralf@linux-mips.org>,
linux-mips@linux-mips.org, kvm@vger.kernel.org
Subject: Re: [GIT PULL] KVM: MIPS: VZ support, Octeon III, and TLBR
Date: Thu, 6 Apr 2017 19:38:34 +0200 [thread overview]
Message-ID: <20170406173833.GB23559@potion> (raw)
In-Reply-To: <20170406082754.GP31606@jhogan-linux.le.imgtec.org>
2017-04-06 09:27+0100, James Hogan:
> Hi Paolo, Radim,
>
> Here are the main KVM MIPS changes for 4.12, mainly to add VZ support.
> Please consider pulling.
Pulled, thanks. The capability numbers 137-139 are now set in stone.
> Thanks
> James
>
> The following changes since commit 97da3854c526d3a6ee05c849c96e48d21527606c:
>
> Linux 4.11-rc3 (2017-03-19 19:09:39 -0700)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/kvm-mips.git tags/kvm_mips_4.12_1
>
> for you to fetch changes up to dc44abd6aad22411f7f9890e39fd4753dabf0d03:
>
> KVM: MIPS/Emulate: Properly implement TLBR for T&E (2017-03-28 16:31:37 +0100)
>
> ----------------------------------------------------------------
> KVM: MIPS: VZ support, Octeon III, and TLBR
>
> Add basic support for the MIPS Virtualization Module (generally known as
> MIPS VZ) in KVM. We primarily support the ImgTec P5600, P6600, I6400,
> and Cavium Octeon III cores so far. Support is included for the
> following VZ / guest hardware features:
> - MIPS32 and MIPS64, r5 (VZ requires r5 or later) and r6
> - TLBs with GuestID (IMG cores) or Root ASID Dealias (Octeon III)
> - Shared physical root/guest TLB (IMG cores)
> - FPU / MSA
> - Cop0 timer (up to 1GHz for now due to soft timer limit)
> - Segmentation control (EVA)
> - Hardware page table walker (HTW) both for root and guest TLB
>
> Also included is a proper implementation of the TLBR instruction for the
> trap & emulate MIPS KVM implementation.
>
> Preliminary MIPS architecture changes are applied directly with Ralf's
> ack.
>
> ----------------------------------------------------------------
> James Hogan (42):
> MIPS: Add defs & probing of UFR
> MIPS: Separate MAAR V bit into VL and VH for XPA
> MIPS: Probe guest CP0_UserLocal
> MIPS: Probe guest MVH
> MIPS: Add some missing guest CP0 accessors & defs
> MIPS: asm/tlb.h: Add UNIQUE_GUEST_ENTRYHI() macro
> KVM: MIPS: Implement HYPCALL emulation
> KVM: MIPS/Emulate: De-duplicate MMIO emulation
> KVM: MIPS/Emulate: Implement 64-bit MMIO emulation
> KVM: MIPS: Update kvm_lose_fpu() for VZ
> KVM: MIPS: Extend counters & events for VZ GExcCodes
> KVM: MIPS: Add VZ & TE capabilities
> KVM: MIPS: Add 64BIT capability
> KVM: MIPS: Init timer frequency from callback
> KVM: MIPS: Add callback to check extension
> KVM: MIPS: Add hardware_{enable,disable} callback
> KVM: MIPS: Add guest exit exception callback
> KVM: MIPS: Abstract guest CP0 register access for VZ
> KVM: MIPS/Entry: Update entry code to support VZ
> KVM: MIPS/TLB: Add VZ TLB management
> KVM: MIPS/Emulate: Update CP0_Compare emulation for VZ
> KVM: MIPS/Emulate: Drop CACHE emulation for VZ
> KVM: MIPS: Update exit handler for VZ
> KVM: MIPS: Implement VZ support
> KVM: MIPS: Add VZ support to build system
> KVM: MIPS/VZ: Support guest CP0_BadInstr[P]
> KVM: MIPS/VZ: Support guest CP0_[X]ContextConfig
> KVM: MIPS/VZ: Support guest segmentation control
> KVM: MIPS/VZ: Support guest hardware page table walker
> KVM: MIPS/VZ: Support guest load-linked bit
> KVM: MIPS/VZ: Emulate MAARs when necessary
> KVM: MIPS/VZ: Support hardware guest timer
> KVM: MIPS/VZ: Trace guest mode changes
> MIPS: Add Octeon III register accessors & definitions
> KVM: MIPS/Emulate: Adapt T&E CACHE emulation for Octeon
> KVM: MIPS/TLB: Handle virtually tagged icaches
> KVM: MIPS/T&E: Report correct dcache line size
> KVM: MIPS/VZ: VZ hardware setup for Octeon III
> KVM: MIPS/VZ: Emulate hit CACHE ops for Octeon III
> KVM: MIPS/VZ: Handle Octeon III guest.PRid register
> MIPS: Allow KVM to be enabled on Octeon CPUs
> KVM: MIPS/Emulate: Properly implement TLBR for T&E
>
> Documentation/virtual/kvm/api.txt | 90 +-
> Documentation/virtual/kvm/hypercalls.txt | 5 +
> arch/mips/Kconfig | 1 +
> arch/mips/include/asm/cpu-features.h | 10 +
> arch/mips/include/asm/cpu-info.h | 2 +
> arch/mips/include/asm/cpu.h | 1 +
> arch/mips/include/asm/kvm_host.h | 467 ++++-
> arch/mips/include/asm/maar.h | 10 +-
> arch/mips/include/asm/mipsregs.h | 62 +-
> arch/mips/include/asm/tlb.h | 6 +-
> arch/mips/include/uapi/asm/inst.h | 2 +-
> arch/mips/include/uapi/asm/kvm.h | 20 +-
> arch/mips/kernel/cpu-probe.c | 13 +-
> arch/mips/kernel/time.c | 1 +
> arch/mips/kvm/Kconfig | 27 +-
> arch/mips/kvm/Makefile | 9 +-
> arch/mips/kvm/emulate.c | 500 +++--
> arch/mips/kvm/entry.c | 132 +-
> arch/mips/kvm/hypcall.c | 53 +
> arch/mips/kvm/interrupt.h | 5 +
> arch/mips/kvm/mips.c | 120 +-
> arch/mips/kvm/mmu.c | 20 +
> arch/mips/kvm/tlb.c | 441 ++++
> arch/mips/kvm/trace.h | 74 +-
> arch/mips/kvm/trap_emul.c | 73 +-
> arch/mips/kvm/vz.c | 3223 ++++++++++++++++++++++++++++++
> arch/mips/mm/cache.c | 1 +
> arch/mips/mm/init.c | 2 +-
> include/uapi/linux/kvm.h | 7 +
> 29 files changed, 5010 insertions(+), 367 deletions(-)
> create mode 100644 arch/mips/kvm/hypcall.c
> create mode 100644 arch/mips/kvm/vz.c
prev parent reply other threads:[~2017-04-06 17:38 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-06 8:27 [GIT PULL] KVM: MIPS: VZ support, Octeon III, and TLBR James Hogan
2017-04-06 17:38 ` Radim Krčmář [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170406173833.GB23559@potion \
--to=rkrcmar@redhat.com \
--cc=james.hogan@imgtec.com \
--cc=kvm@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=pbonzini@redhat.com \
--cc=ralf@linux-mips.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).