Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp3288000pxb; Mon, 1 Mar 2021 06:29:35 -0800 (PST) X-Google-Smtp-Source: ABdhPJyq6uC3J19arUs95wNI6CINGjrdV9QVRlD29Jg3tDHVnG9eevJxaFNT8axc2anl5V3//sse X-Received: by 2002:a05:6402:11c6:: with SMTP id j6mr17217225edw.138.1614608975765; Mon, 01 Mar 2021 06:29:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614608975; cv=none; d=google.com; s=arc-20160816; b=Kt4UblpWlYgZ+lf/fCumshCzBldlWVSODUW/1JHfhZadcKicQ3VXV5l0D+NhsIbTVc VBKDYkahJqz5EXDxOeZ2ge40X24g9gh6Co4R8u5+3MCzIK2r6n06UKOeRGokeE3I+t/R daCcpZztBnXlD/z9+l/0LtW6u7fz/TNPVRBNlHUlUxRCs865iCNmXDq+uF8lyQWBSffe pF9uUjdSXoc9Et9KQOR7G3+/TCvs+ikvFhXPBiZeo149BDlm29VLJPMdmvucxTFsRbfx ha+VjgbBkbkQOfqOzJ4GC6MP/KpEpiF7iNDHvoY8Y2MC6j0CDJU8SRZjnjsU9O84GBTP bkLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=dljlWi6AOmmkM/mVeE2TEjP7fl3TZXJFnBazeu4/r6U=; b=Tt9YXyB4yU/eY7N0ZzBXn3aBc4ek6BfJlPSwl0TXU9xBnNPZ8zveG9ICGloqt644lV jgdoinEhkZoFcF0NDA9d70qxhXYSUwv7UIzrwV6TmIiV4rf7i9hwYrZNsPHVNEQYA5bn GDWeyYaaVOtyW0nhVNM6qDaSo28DNpYquRaHoUZzjTpw1rGMR1waZscePuaKSdlUeWj5 ALotWNpZHGXyisHEVYc2tEZrw254thHTCQ7nFguxenbIf3nw5Yk8e2SPIk1Dbwh0P7kJ DEk7ehylx/rKTHa9N3YA3MlW7e1VQD5HooL4GJCPEOCrZ08oevLyN2hov8sZOE0RLvsE y99w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id be2si231778edb.153.2021.03.01.06.29.06; Mon, 01 Mar 2021 06:29:35 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=arm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233252AbhCAOZP (ORCPT + 99 others); Mon, 1 Mar 2021 09:25:15 -0500 Received: from foss.arm.com ([217.140.110.172]:58936 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233274AbhCAOYT (ORCPT ); Mon, 1 Mar 2021 09:24:19 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 440931042; Mon, 1 Mar 2021 06:23:33 -0800 (PST) Received: from e112269-lin.arm.com (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 7C1183F70D; Mon, 1 Mar 2021 06:23:30 -0800 (PST) From: Steven Price To: Catalin Marinas , Marc Zyngier , Will Deacon Cc: Steven Price , James Morse , Julien Thierry , Suzuki K Poulose , kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Dave Martin , Mark Rutland , Thomas Gleixner , qemu-devel@nongnu.org, Juan Quintela , "Dr. David Alan Gilbert" , Richard Henderson , Peter Maydell , Haibo Xu , Andrew Jones Subject: [PATCH v9 0/6] MTE support for KVM guest Date: Mon, 1 Mar 2021 14:23:09 +0000 Message-Id: <20210301142315.30920-1-steven.price@arm.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This series adds support for using the Arm Memory Tagging Extensions (MTE) in a KVM guest. This version is rebased on v5.12-rc1 and added a documentation patch, but is otherwise unchanged from the v8[1] posting. Changes since v8[1]: * Rebased on v5.12-rc1 (note new CAP number) * New documentation patch [1] https://lore.kernel.org/r/20210205135803.48321-1-steven.price@arm.com/ Steven Price (6): arm64: mte: Sync tags for pages where PTE is untagged arm64: kvm: Introduce MTE VM feature arm64: kvm: Save/restore MTE registers arm64: kvm: Expose KVM_ARM_CAP_MTE KVM: arm64: ioctl to fetch/store tags in a guest KVM: arm64: Document MTE capability and ioctl Documentation/virt/kvm/api.rst | 37 ++++++++++++ arch/arm64/include/asm/kvm_emulate.h | 3 + arch/arm64/include/asm/kvm_host.h | 9 +++ arch/arm64/include/asm/kvm_mte.h | 66 ++++++++++++++++++++++ arch/arm64/include/asm/pgtable.h | 2 +- arch/arm64/include/asm/sysreg.h | 3 +- arch/arm64/include/uapi/asm/kvm.h | 13 +++++ arch/arm64/kernel/asm-offsets.c | 3 + arch/arm64/kernel/mte.c | 16 ++++-- arch/arm64/kvm/arm.c | 66 ++++++++++++++++++++++ arch/arm64/kvm/hyp/entry.S | 7 +++ arch/arm64/kvm/hyp/exception.c | 3 +- arch/arm64/kvm/hyp/include/hyp/sysreg-sr.h | 21 +++++++ arch/arm64/kvm/mmu.c | 16 ++++++ arch/arm64/kvm/sys_regs.c | 28 +++++++-- include/uapi/linux/kvm.h | 2 + 16 files changed, 283 insertions(+), 12 deletions(-) create mode 100644 arch/arm64/include/asm/kvm_mte.h -- 2.20.1