From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [PULL] KVM/ARM updates for 4.5
Date: Thu, 24 Dec 2015 11:12:08 +0000 [thread overview]
Message-ID: <1450955559-15639-1-git-send-email-marc.zyngier@arm.com> (raw)
Hi Paolo,
THis is the first pull request for the 4.5 merge window. Not much in
terms of features, but a rewrite of our 64bit world switch, making it
a lot nicer, maintainable, and much more likely to cope with things
like VHE. Also support 16bit VMIDs for systems that need to run that
many VMs concurrently.
I was really hoping that the PMU code would make it this time around,
but it got slightly delayed, and the holiday season didn't help. If
we're lucky enough (read: if all known issues have been addressed), I
may send you another pull request early in the new year.
In the mean time, please pull!
Happy Christmas,
M.
The following changes since commit 9f9499ae8e6415cefc4fe0a96ad0e27864353c89:
Linux 4.4-rc5 (2015-12-13 17:42:58 -0800)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git tags/kvm-arm-for-4.5-1
for you to fetch changes up to c7da6fa43cb1c5e649da0f478a491feb9208cae7:
arm/arm64: KVM: Detect vGIC presence at runtime (2015-12-18 12:01:58 +0000)
----------------------------------------------------------------
KVM/ARM changes for Linux v4.5
- Complete rewrite of the arm64 world switch in C, hopefully
paving the way for more sharing with the 32bit code, better
maintainability and easier integration of new features.
Also smaller and slightly faster in some cases...
- Support for 16bit VM identifiers
- Various cleanups
----------------------------------------------------------------
Amit Tomar (1):
KVM: arm/arm64: Count guest exit due to various reasons
Fengguang Wu (1):
MAINTAINERS: add git URL for KVM/ARM
Jisheng Zhang (1):
KVM: arm/arm64: vgic: make vgic_io_ops static
Marc Zyngier (23):
arm64: KVM: Add a HYP-specific header file
arm64: KVM: Implement vgic-v2 save/restore
KVM: arm/arm64: vgic-v3: Make the LR indexing macro public
arm64: KVM: Implement vgic-v3 save/restore
arm64: KVM: Implement timer save/restore
arm64: KVM: Implement system register save/restore
arm64: KVM: Implement 32bit system register save/restore
arm64: KVM: Implement debug save/restore
arm64: KVM: Implement guest entry
arm64: KVM: Add patchable function selector
arm64: KVM: Implement the core world switch
arm64: KVM: Implement fpsimd save/restore
arm64: KVM: Implement TLB handling
arm64: KVM: HYP mode entry points
arm64: KVM: Add panic handling
arm64: KVM: Add compatibility aliases
arm64: KVM: Map the kernel RO section into HYP
arm64: KVM: Move away from the assembly version of the world switch
arm64: KVM: Turn system register numbers to an enum
arm64: KVM: Cleanup asm-offset.c
arm64: KVM: Remove weak attributes
ARM: KVM: Cleanup exception injection
arm64: KVM: debug: Remove spurious inline attributes
Mark Rutland (1):
arm64: Add macros to read/write system registers
Pavel Fedin (1):
arm/arm64: KVM: Detect vGIC presence at runtime
Vladimir Murzin (3):
arm/arm64: KVM: Remove unreferenced S2_PGD_ORDER
arm: KVM: Make kvm_arm.h friendly to assembly code
arm64: KVM: Add support for 16-bit VMID
MAINTAINERS | 1 +
arch/arm/include/asm/kvm_arm.h | 34 +-
arch/arm/include/asm/kvm_host.h | 6 +
arch/arm/include/asm/kvm_mmu.h | 5 +
arch/arm/kvm/arm.c | 40 +-
arch/arm/kvm/emulate.c | 74 +--
arch/arm/kvm/guest.c | 6 +
arch/arm/kvm/handle_exit.c | 3 +
arch/arm/kvm/mmio.c | 3 +
arch/arm/kvm/mmu.c | 6 +-
arch/arm64/include/asm/kvm_arm.h | 3 +-
arch/arm64/include/asm/kvm_asm.h | 76 ---
arch/arm64/include/asm/kvm_emulate.h | 1 -
arch/arm64/include/asm/kvm_host.h | 87 ++-
arch/arm64/include/asm/kvm_mmio.h | 1 -
arch/arm64/include/asm/kvm_mmu.h | 9 +-
arch/arm64/include/asm/sysreg.h | 21 +
arch/arm64/kernel/asm-offsets.c | 40 +-
arch/arm64/kvm/Makefile | 3 +-
arch/arm64/kvm/guest.c | 10 +-
arch/arm64/kvm/handle_exit.c | 4 +
arch/arm64/kvm/hyp-init.S | 9 +
arch/arm64/kvm/hyp.S | 1081 +---------------------------------
arch/arm64/kvm/hyp/Makefile | 14 +
arch/arm64/kvm/hyp/debug-sr.c | 140 +++++
arch/arm64/kvm/hyp/entry.S | 160 +++++
arch/arm64/kvm/hyp/fpsimd.S | 33 ++
arch/arm64/kvm/hyp/hyp-entry.S | 212 +++++++
arch/arm64/kvm/hyp/hyp.h | 90 +++
arch/arm64/kvm/hyp/switch.c | 175 ++++++
arch/arm64/kvm/hyp/sysreg-sr.c | 138 +++++
arch/arm64/kvm/hyp/timer-sr.c | 71 +++
arch/arm64/kvm/hyp/tlb.c | 80 +++
arch/arm64/kvm/hyp/vgic-v2-sr.c | 84 +++
arch/arm64/kvm/hyp/vgic-v3-sr.c | 228 +++++++
arch/arm64/kvm/sys_regs.c | 59 +-
arch/arm64/kvm/vgic-v2-switch.S | 134 -----
arch/arm64/kvm/vgic-v3-switch.S | 269 ---------
include/clocksource/arm_arch_timer.h | 6 +
include/kvm/arm_vgic.h | 6 +
virt/kvm/arm/vgic-v3.c | 11 +-
virt/kvm/arm/vgic.c | 2 +-
42 files changed, 1731 insertions(+), 1704 deletions(-)
create mode 100644 arch/arm64/kvm/hyp/Makefile
create mode 100644 arch/arm64/kvm/hyp/debug-sr.c
create mode 100644 arch/arm64/kvm/hyp/entry.S
create mode 100644 arch/arm64/kvm/hyp/fpsimd.S
create mode 100644 arch/arm64/kvm/hyp/hyp-entry.S
create mode 100644 arch/arm64/kvm/hyp/hyp.h
create mode 100644 arch/arm64/kvm/hyp/switch.c
create mode 100644 arch/arm64/kvm/hyp/sysreg-sr.c
create mode 100644 arch/arm64/kvm/hyp/timer-sr.c
create mode 100644 arch/arm64/kvm/hyp/tlb.c
create mode 100644 arch/arm64/kvm/hyp/vgic-v2-sr.c
create mode 100644 arch/arm64/kvm/hyp/vgic-v3-sr.c
delete mode 100644 arch/arm64/kvm/vgic-v2-switch.S
delete mode 100644 arch/arm64/kvm/vgic-v3-switch.S
next reply other threads:[~2015-12-24 11:12 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-24 11:12 Marc Zyngier [this message]
2015-12-24 11:12 ` [PATCH 01/31] KVM: arm/arm64: vgic: make vgic_io_ops static Marc Zyngier
2015-12-24 11:12 ` [PATCH 02/31] KVM: arm/arm64: Count guest exit due to various reasons Marc Zyngier
2015-12-24 11:12 ` [PATCH 03/31] arm64: Add macros to read/write system registers Marc Zyngier
2015-12-24 11:12 ` [PATCH 04/31] arm64: KVM: Add a HYP-specific header file Marc Zyngier
2015-12-24 11:12 ` [PATCH 05/31] arm64: KVM: Implement vgic-v2 save/restore Marc Zyngier
2015-12-24 11:12 ` [PATCH 06/31] KVM: arm/arm64: vgic-v3: Make the LR indexing macro public Marc Zyngier
2015-12-24 11:12 ` [PATCH 07/31] arm64: KVM: Implement vgic-v3 save/restore Marc Zyngier
2015-12-24 11:12 ` [PATCH 08/31] arm64: KVM: Implement timer save/restore Marc Zyngier
2015-12-24 11:12 ` [PATCH 09/31] arm64: KVM: Implement system register save/restore Marc Zyngier
2015-12-24 11:12 ` [PATCH 10/31] arm64: KVM: Implement 32bit " Marc Zyngier
2015-12-24 11:12 ` [PATCH 11/31] arm64: KVM: Implement debug save/restore Marc Zyngier
2015-12-24 11:12 ` [PATCH 12/31] arm64: KVM: Implement guest entry Marc Zyngier
2015-12-24 11:12 ` [PATCH 13/31] arm64: KVM: Add patchable function selector Marc Zyngier
2015-12-24 11:12 ` [PATCH 14/31] arm64: KVM: Implement the core world switch Marc Zyngier
2015-12-24 11:12 ` [PATCH 15/31] arm64: KVM: Implement fpsimd save/restore Marc Zyngier
2015-12-24 11:12 ` [PATCH 16/31] arm64: KVM: Implement TLB handling Marc Zyngier
2015-12-24 11:12 ` [PATCH 17/31] arm64: KVM: HYP mode entry points Marc Zyngier
2015-12-24 11:12 ` [PATCH 18/31] arm64: KVM: Add panic handling Marc Zyngier
2015-12-24 11:12 ` [PATCH 19/31] arm64: KVM: Add compatibility aliases Marc Zyngier
2015-12-24 11:12 ` [PATCH 20/31] arm64: KVM: Map the kernel RO section into HYP Marc Zyngier
2015-12-24 11:12 ` [PATCH 21/31] arm64: KVM: Move away from the assembly version of the world switch Marc Zyngier
2015-12-24 11:12 ` [PATCH 22/31] arm64: KVM: Turn system register numbers to an enum Marc Zyngier
2015-12-24 11:12 ` [PATCH 23/31] arm64: KVM: Cleanup asm-offset.c Marc Zyngier
2015-12-24 11:12 ` [PATCH 24/31] arm64: KVM: Remove weak attributes Marc Zyngier
2015-12-24 11:12 ` [PATCH 25/31] ARM: KVM: Cleanup exception injection Marc Zyngier
2015-12-24 11:12 ` [PATCH 26/31] arm64: KVM: debug: Remove spurious inline attributes Marc Zyngier
2015-12-24 11:12 ` [PATCH 27/31] arm/arm64: KVM: Remove unreferenced S2_PGD_ORDER Marc Zyngier
2015-12-24 11:12 ` [PATCH 28/31] arm: KVM: Make kvm_arm.h friendly to assembly code Marc Zyngier
2015-12-24 11:12 ` [PATCH 29/31] arm64: KVM: Add support for 16-bit VMID Marc Zyngier
2015-12-24 11:12 ` [PATCH 30/31] MAINTAINERS: add git URL for KVM/ARM Marc Zyngier
2015-12-24 11:12 ` [PATCH 31/31] arm/arm64: KVM: Detect vGIC presence at runtime Marc Zyngier
2016-01-07 10:07 ` [PULL] KVM/ARM updates for 4.5 Paolo Bonzini
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=1450955559-15639-1-git-send-email-marc.zyngier@arm.com \
--to=marc.zyngier@arm.com \
--cc=linux-arm-kernel@lists.infradead.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).