[PATCH v5 00/34] arm/arm64: KVM: Rework the hyp-stub API
Christoffer Dall
cdall at linaro.org
Tue Apr 4 05:04:05 PDT 2017
Hi Marc,
On Mon, Apr 03, 2017 at 07:37:33PM +0100, Marc Zyngier wrote:
> As noticed by RMK in this thread[1], the hyp-stub API on 32bit ARM
> could do with some TLC (it cannot perform a soft-restart at HYP, and
> has holes in the hyp-stub support in a number of places). In general,
> it would be desirable for the 32bit behaviour to align on 64bit, if
> only to ease maintenance.
>
> This series implements the following:
> - Add HVC_[GS]ET_VECTORS and HVC_SOFT_RESTART to the 32bit code
> - Add HVC_RESET_VECTORS to both arm and arm64, removing the need for
> __hyp_reset_vectors
> - Implement add the stub entry points in the KVM init code, which
> didn't implement any so far
> - Convert the HYP code to use the init code stubs directly
> - Some general cleanup as a result of these changes (which includes
> killing HVC_GET_VECTORS)
> - Add some API documentation that covers the above
>
> Patches 14 to 16 would be better squashed into 12 and 13, but I've
> kept them separate so that I can take the blame for everything I've
> broken.
>
> I've tested this on arm (Cubietruck, Jetson TK1) and arm64 (Seattle),
> both as host and guest. Keerthy has been kind enough to test the 32bit
> code on DRA7-EVM, AM57XX-EVM and KEYSTONE-K2E-EVM.
>
> [1] http://lists.infradead.org/pipermail/linux-arm-kernel/2016-December/473472.html
>
> * From v4:
> - Added a standard return value on stub hypercall failure
> - Zero r0/x0 on successful hypercall
> - Make 32bit ARM resistant to kvm_reboot while executing a guest
> - Update documentation to reflect the calling convention expectations
> - Added Acks from Catalin
> - Rebased on 4.11-rc5
Thanks for doing the changes.
I have applied your patches to kvmarm/queue.
-Christoffer
More information about the linux-arm-kernel
mailing list