From patchwork Thu Jun 3 18:33:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Will Deacon X-Patchwork-Id: 12297827 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-14.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 42AF9C47096 for ; Thu, 3 Jun 2021 18:33:58 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 22079613DA for ; Thu, 3 Jun 2021 18:33:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229845AbhFCSfm (ORCPT ); Thu, 3 Jun 2021 14:35:42 -0400 Received: from mail.kernel.org ([198.145.29.99]:51116 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229817AbhFCSfm (ORCPT ); Thu, 3 Jun 2021 14:35:42 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id B93CF613B8; Thu, 3 Jun 2021 18:33:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1622745237; bh=mTX1Gfilu39wfuOraE/ww5xMJ6bnVmsdjqCBug2xBWM=; h=From:To:Cc:Subject:Date:From; b=agvkfBC8twP+tZhCehKLs0SBWL16nvksI3UyUQj6xm1GIZPhO5HpmerqqHpATH39L NmrM/4dVMYBwnX58Ev1uVxlzuEfSy5kjFYRO8sdwV33yvzyTCr0rLV/5t8Odss5sVb 752IfXNj6esCtWQgOVnjeAHmIsik6f95ttIVL0G+Qssa/HNGGKVhnShf+MGkCj1GBd rarZ3CMi78hBXCJOu81PQzciTGS7s7mOa6zFMe3b+IePp+WXzo/q6uUIfSgD8yS8wK s0KbvW9sO119NYEqXiAeHdizNEQCIHmR98fuz4qzZ6DZ0GDdViHYjod2WfTweEGn6q 4AC0QbPYZa3LQ== From: Will Deacon To: kvmarm@lists.cs.columbia.edu Cc: Will Deacon , Marc Zyngier , James Morse , Alexandru Elisei , Suzuki K Poulose , Mark Rutland , Christoffer Dall , Paolo Bonzini , Fuad Tabba , Quentin Perret , Sean Christopherson , David Brazdil , kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH 0/4] kvm/arm64: Initial pKVM user ABI Date: Thu, 3 Jun 2021 19:33:43 +0100 Message-Id: <20210603183347.1695-1-will@kernel.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org Hi folks, These patches implement support for userspace to request a "Protected VM" using KVM on arm64 when configured in Protected Mode (see the existing kvm-arm.mode=protected command-line option). The final patch documents the new ABI and its behaviour, so I won't reproduce that here. Please go and have a look there instead! Note that this series _doesn't_ implement the actual isolation of guest memory; it's more about setting the groundwork for subsequent patches and getting feedback on the user-facing side of things. The final patch is marked RFC accordingly. Cheers, Will Cc: Marc Zyngier Cc: James Morse Cc: Alexandru Elisei Cc: Suzuki K Poulose Cc: Mark Rutland Cc: Christoffer Dall Cc: Paolo Bonzini Cc: Fuad Tabba Cc: Quentin Perret Cc: Sean Christopherson Cc: David Brazdil Cc: kvm@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org --->8 Will Deacon (4): KVM: arm64: Ignore 'kvm-arm.mode=protected' when using VHE KVM: arm64: Extend comment in has_vhe() KVM: arm64: Parse reserved-memory node for pkvm guest firmware region KVM: arm64: Introduce KVM_CAP_ARM_PROTECTED_VM .../admin-guide/kernel-parameters.txt | 1 - Documentation/virt/kvm/api.rst | 69 ++++++++ arch/arm64/include/asm/kvm_host.h | 10 ++ arch/arm64/include/asm/virt.h | 3 + arch/arm64/include/uapi/asm/kvm.h | 9 + arch/arm64/kernel/cpufeature.c | 10 +- arch/arm64/kvm/Makefile | 2 +- arch/arm64/kvm/arm.c | 24 +-- arch/arm64/kvm/mmu.c | 3 + arch/arm64/kvm/pkvm.c | 156 ++++++++++++++++++ include/uapi/linux/kvm.h | 1 + 11 files changed, 267 insertions(+), 21 deletions(-) create mode 100644 arch/arm64/kvm/pkvm.c