| Submitter | Will Deacon |
|---|---|
| Date | Feb. 4, 2013, 1:55 p.m. |
| Message ID | <1359986131-13034-1-git-send-email-will.deacon@arm.com> |
| Download | mbox |
| Permalink | /patch/217933/ |
| State | New |
| Headers | show |
Pull-request
git://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git for-rmk/virt/kvm/coreComments
On Mon, Feb 04, 2013 at 01:55:29PM +0000, Will Deacon wrote: > Hello again, > > This is the second part of the kvm-related series and moves ARM over to > the generic timer broadcast implementation, currently queued by tglx in > -tip. > > Please note that, due to this dependency, this branch contains mainline > up to ~-rc6, so you may want to keep it on a separate branch to avoid > pulling in a bunch of unrelated changes from -tip. Both 1 and 2 pulled and merged. I'll wait 24 hours before pushing this out so that the nightly build can have a go at it before the new devel-stable branch gets published.
On Mon, Feb 04, 2013 at 03:24:26PM +0000, Russell King - ARM Linux wrote: > On Mon, Feb 04, 2013 at 01:55:29PM +0000, Will Deacon wrote: > > Hello again, > > > > This is the second part of the kvm-related series and moves ARM over to > > the generic timer broadcast implementation, currently queued by tglx in > > -tip. > > > > Please note that, due to this dependency, this branch contains mainline > > up to ~-rc6, so you may want to keep it on a separate branch to avoid > > pulling in a bunch of unrelated changes from -tip. > > Both 1 and 2 pulled and merged. I'll wait 24 hours before pushing this out > so that the nightly build can have a go at it before the new devel-stable > branch gets published. Sounds good. I'll deal with 3 and 4 once you're happy with 1/2 and they're out, since we need the same as base. -Olof
Hi Olof, On Tue, Feb 05, 2013 at 10:37:28PM +0000, Olof Johansson wrote: > On Mon, Feb 04, 2013 at 03:24:26PM +0000, Russell King - ARM Linux wrote: > > On Mon, Feb 04, 2013 at 01:55:29PM +0000, Will Deacon wrote: > > > This is the second part of the kvm-related series and moves ARM over to > > > the generic timer broadcast implementation, currently queued by tglx in > > > -tip. > > > > > > Please note that, due to this dependency, this branch contains mainline > > > up to ~-rc6, so you may want to keep it on a separate branch to avoid > > > pulling in a bunch of unrelated changes from -tip. > > > > Both 1 and 2 pulled and merged. I'll wait 24 hours before pushing this out > > so that the nightly build can have a go at it before the new devel-stable > > branch gets published. > > Sounds good. I'll deal with 3 and 4 once you're happy with 1/2 and > they're out, since we need the same as base. 1 and 2 are now in rmk's devel-stable branch, so we should be good to go with the third series. As highlighted by me and Rob, the fourth set likely needs a new base in arm-soc to minimise both the diffstat and number of merge conflicts. Cheers, Will
Hi Russell, Arnd, Olof, Here is the first (and most significant) pull request introducing KVM support for ARM. I'm sending this later than I would have liked due to various indirect dependencies on other branches that didn't stabilise until the end of last week (then I was at FOSDEM over the weekend), but this branch has been stable since -rc3. The only direct dependency is on my for-rmk/perf branch, which you have already pulled. Cheers, Will --->8 The following changes since commit 9931faca02c604c22335f5a935a501bb2ace6e20: Linux 3.8-rc3 (2013-01-09 18:59:55 -0800) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git for-rmk/virt/kvm/core for you to fetch changes up to da141b67d29a05267a9a0d56bd7856b7f3f58d44: Merge branch 'for-will/kvm/core' of git://github.com/virtualopensystems/linux-kvm-arm into for-rmk/virt/kvm/core (2013-01-24 10:37:49 +0000) ---------------------------------------------------------------- Christoffer Dall (15): ARM: Define CPU part numbers and implementors ARM: Use implementor and part defines from cputype.h ARM: Add page table and page defines needed by KVM ARM: Section based HYP idmap KVM: ARM: Initial skeleton to compile KVM support KVM: ARM: Hypervisor initialization KVM: ARM: Memory virtualization setup KVM: ARM: Inject IRQs and FIQs from userspace KVM: ARM: World-switch implementation KVM: ARM: Emulation framework and CP15 emulation KVM: ARM: User space API for getting/setting co-proc registers KVM: ARM: Demux CCSIDR in the userspace API KVM: ARM: Handle guest faults in KVM KVM: ARM: Handle I/O aborts KVM: ARM: Add maintainer entry for KVM/ARM Marc Zyngier (1): KVM: ARM: Power State Coordination Interface implementation Mark Rutland (3): ARM: perf: handle armpmu_register failing ARM: perf: remove unnecessary checks for idx < 0 ARM: perf: simplify __hw_perf_event_init err handling Rusty Russell (1): KVM: ARM: VFP userspace interface Will Deacon (4): ARM: perf: remove redundant NULL check on cpu_pmu ARM: perf: don't pretend to support counting of L1I writes Merge branch 'for-rmk/perf' into for-rmk/virt/kvm/core Merge branch 'for-will/kvm/core' of git://github.com/virtualopensystems/linux-kvm-arm into for-rmk/virt/kvm/core Documentation/virtual/kvm/api.txt | 99 ++- MAINTAINERS | 9 + arch/arm/Kconfig | 2 + arch/arm/Makefile | 1 + arch/arm/include/asm/cputype.h | 33 + arch/arm/include/asm/idmap.h | 1 + arch/arm/include/asm/kvm_arm.h | 214 ++++++ arch/arm/include/asm/kvm_asm.h | 82 +++ arch/arm/include/asm/kvm_coproc.h | 47 ++ arch/arm/include/asm/kvm_emulate.h | 72 ++ arch/arm/include/asm/kvm_host.h | 161 +++++ arch/arm/include/asm/kvm_mmio.h | 56 ++ arch/arm/include/asm/kvm_mmu.h | 50 ++ arch/arm/include/asm/kvm_psci.h | 23 + arch/arm/include/asm/pgtable-3level-hwdef.h | 5 + arch/arm/include/asm/pgtable-3level.h | 18 + arch/arm/include/asm/pgtable.h | 7 + arch/arm/include/uapi/asm/kvm.h | 164 +++++ arch/arm/kernel/asm-offsets.c | 25 + arch/arm/kernel/perf_event.c | 16 +- arch/arm/kernel/perf_event_cpu.c | 51 +- arch/arm/kernel/perf_event_v6.c | 4 +- arch/arm/kernel/perf_event_v7.c | 18 +- arch/arm/kernel/perf_event_xscale.c | 2 +- arch/arm/kernel/vmlinux.lds.S | 6 +- arch/arm/kvm/Kconfig | 56 ++ arch/arm/kvm/Makefile | 21 + arch/arm/kvm/arm.c | 1015 ++++++++++++++++++++++++++ arch/arm/kvm/coproc.c | 1046 +++++++++++++++++++++++++++ arch/arm/kvm/coproc.h | 153 ++++ arch/arm/kvm/coproc_a15.c | 162 +++++ arch/arm/kvm/emulate.c | 373 ++++++++++ arch/arm/kvm/guest.c | 222 ++++++ arch/arm/kvm/init.S | 114 +++ arch/arm/kvm/interrupts.S | 478 ++++++++++++ arch/arm/kvm/interrupts_head.S | 441 +++++++++++ arch/arm/kvm/mmio.c | 153 ++++ arch/arm/kvm/mmu.c | 787 ++++++++++++++++++++ arch/arm/kvm/psci.c | 108 +++ arch/arm/kvm/reset.c | 74 ++ arch/arm/kvm/trace.h | 235 ++++++ arch/arm/mm/idmap.c | 55 +- arch/arm/mm/mmu.c | 22 + include/uapi/linux/kvm.h | 9 + 44 files changed, 6621 insertions(+), 69 deletions(-) create mode 100644 arch/arm/include/asm/kvm_arm.h create mode 100644 arch/arm/include/asm/kvm_asm.h create mode 100644 arch/arm/include/asm/kvm_coproc.h create mode 100644 arch/arm/include/asm/kvm_emulate.h create mode 100644 arch/arm/include/asm/kvm_host.h create mode 100644 arch/arm/include/asm/kvm_mmio.h create mode 100644 arch/arm/include/asm/kvm_mmu.h create mode 100644 arch/arm/include/asm/kvm_psci.h create mode 100644 arch/arm/include/uapi/asm/kvm.h create mode 100644 arch/arm/kvm/Kconfig create mode 100644 arch/arm/kvm/Makefile create mode 100644 arch/arm/kvm/arm.c create mode 100644 arch/arm/kvm/coproc.c create mode 100644 arch/arm/kvm/coproc.h create mode 100644 arch/arm/kvm/coproc_a15.c create mode 100644 arch/arm/kvm/emulate.c create mode 100644 arch/arm/kvm/guest.c create mode 100644 arch/arm/kvm/init.S create mode 100644 arch/arm/kvm/interrupts.S create mode 100644 arch/arm/kvm/interrupts_head.S create mode 100644 arch/arm/kvm/mmio.c create mode 100644 arch/arm/kvm/mmu.c create mode 100644 arch/arm/kvm/psci.c create mode 100644 arch/arm/kvm/reset.c create mode 100644 arch/arm/kvm/trace.h