Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/805814/?format=api
{ "id": 805814, "url": "http://patchwork.ozlabs.org/api/patches/805814/?format=api", "web_url": "http://patchwork.ozlabs.org/project/kvm-ppc/patch/20170825095339.GC14035@fergus.ozlabs.ibm.com/", "project": { "id": 23, "url": "http://patchwork.ozlabs.org/api/projects/23/?format=api", "name": "KVM PowerPC development", "link_name": "kvm-ppc", "list_id": "kvm-ppc.vger.kernel.org", "list_email": "kvm-ppc@vger.kernel.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20170825095339.GC14035@fergus.ozlabs.ibm.com>", "list_archive_url": null, "date": "2017-08-25T09:53:39", "name": "KVM: PPC: Book3S HV: Report storage key support to userspace", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "121ee42b4d64ef5882c57e29295c3d2cc545d4b3", "submitter": { "id": 67079, "url": "http://patchwork.ozlabs.org/api/people/67079/?format=api", "name": "Paul Mackerras", "email": "paulus@ozlabs.org" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/kvm-ppc/patch/20170825095339.GC14035@fergus.ozlabs.ibm.com/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/805814/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/805814/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<kvm-ppc-owner@vger.kernel.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org", "Authentication-Results": [ "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=vger.kernel.org\n\t(client-ip=209.132.180.67; helo=vger.kernel.org;\n\tenvelope-from=kvm-ppc-owner@vger.kernel.org;\n\treceiver=<UNKNOWN>)", "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tsecure) header.d=ozlabs.org header.i=@ozlabs.org header.b=\"dhKIAYIM\";\n\tdkim-atps=neutral" ], "Received": [ "from vger.kernel.org (vger.kernel.org [209.132.180.67])\n\tby ozlabs.org (Postfix) with ESMTP id 3xdxLy1wJWz9sPs\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 25 Aug 2017 19:53:46 +1000 (AEST)", "(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1754614AbdHYJxp (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n\tFri, 25 Aug 2017 05:53:45 -0400", "from ozlabs.org ([103.22.144.67]:43753 \"EHLO ozlabs.org\"\n\trhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP\n\tid S1754535AbdHYJxo (ORCPT <rfc822;kvm-ppc@vger.kernel.org>);\n\tFri, 25 Aug 2017 05:53:44 -0400", "by ozlabs.org (Postfix, from userid 1003)\n\tid 3xdxLt6Gldz9sPm; Fri, 25 Aug 2017 19:53:42 +1000 (AEST)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; \n\tt=1503654822; bh=cs/2S4Pzi/OydJmmTiYyYuFKIQjSunvESJWtxODkTso=;\n\th=Date:From:To:Cc:Subject:From;\n\tb=dhKIAYIMZlsrb/+RyyCMMldTmUxOtziC8mzvifYY71nLmtOBLwu+JUvqARvd2jRwb\n\taUwpHerOtnbP8eFDhHCuxzxPjF9xKSfalMD2tyc6zx99SWfqNqxIxV+SxmWuNpUobK\n\t2jrMnWj2uLakJtd2jf/w5V2rgIdFEtzltYwk8/q7Xp+fnJf3pPHF+D227ptWPT6lPZ\n\tBlqeAZ1qdYW3OgpGBVml9obgG69ukJblt/WwymLp/hWBv2aQL2+xpbw1gs03BF0gOl\n\tOsv+LA7S+vBf1ym0PTBuF2pkEO45TSCa7gIYTwOcPSCRqB1xnjIaUk7N9BEAvw+WjW\n\tKphRoYDi0D7+Q==", "Date": "Fri, 25 Aug 2017 19:53:39 +1000", "From": "Paul Mackerras <paulus@ozlabs.org>", "To": "kvm@vger.kernel.org, kvm-ppc@vger.kernel.org", "Cc": "David Gibson <david@gibson.dropbear.id.au>", "Subject": "[PATCH] KVM: PPC: Book3S HV: Report storage key support to userspace", "Message-ID": "<20170825095339.GC14035@fergus.ozlabs.ibm.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=us-ascii", "Content-Disposition": "inline", "User-Agent": "Mutt/1.5.24 (2015-08-30)", "Sender": "kvm-ppc-owner@vger.kernel.org", "Precedence": "bulk", "List-ID": "<kvm-ppc.vger.kernel.org>", "X-Mailing-List": "kvm-ppc@vger.kernel.org" }, "content": "This adds information about storage keys to the struct returned by\nthe KVM_PPC_GET_SMMU_INFO ioctl. The new fields replace a pad field,\nwhich was zeroed by previous kernel versions. Thus userspace that\nknows about the new fields will see zeroes when running on an older\nkernel, indicating that storage keys are not supported. The size of\nthe structure has not changed.\n\nThe number of keys is hard-coded for the CPUs supported by HV KVM,\nwhich is just POWER7, POWER8 and POWER9.\n\nSigned-off-by: Paul Mackerras <paulus@ozlabs.org>\n---\nThis is intended to go in after Ram Pai's patch fixing the H_ENTER\ncode to not drop the top two bits of the key field.\n\n arch/powerpc/kvm/book3s_hv.c | 8 ++++++++\n include/uapi/linux/kvm.h | 3 ++-\n 2 files changed, 10 insertions(+), 1 deletion(-)", "diff": "diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c\nindex 359c79c..3d9b661 100644\n--- a/arch/powerpc/kvm/book3s_hv.c\n+++ b/arch/powerpc/kvm/book3s_hv.c\n@@ -3325,6 +3325,14 @@ static int kvm_vm_ioctl_get_smmu_info_hv(struct kvm *kvm,\n \tif (radix_enabled())\n \t\treturn -EINVAL;\n \n+\t/*\n+\t * POWER7, POWER8 and POWER9 all support 32 storage keys for data.\n+\t * POWER7 doesn't support keys for instruction accesses,\n+\t * POWER8 and POWER9 do.\n+\t */\n+\tinfo->data_keys = 32;\n+\tinfo->instr_keys = cpu_has_feature(CPU_FTR_ARCH_207S) ? 32 : 0;\n+\n \tinfo->flags = KVM_PPC_PAGE_SIZES_REAL;\n \tif (mmu_has_feature(MMU_FTR_1T_SEGMENT))\n \t\tinfo->flags |= KVM_PPC_1T_SEGMENTS;\ndiff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h\nindex 6cd63c1..8388875 100644\n--- a/include/uapi/linux/kvm.h\n+++ b/include/uapi/linux/kvm.h\n@@ -711,7 +711,8 @@ struct kvm_ppc_one_seg_page_size {\n struct kvm_ppc_smmu_info {\n \t__u64 flags;\n \t__u32 slb_size;\n-\t__u32 pad;\n+\t__u16 data_keys;\t/* # storage keys supported for data */\n+\t__u16 instr_keys;\t/* # storage keys supported for instructions */\n \tstruct kvm_ppc_one_seg_page_size sps[KVM_PPC_PAGE_SIZES_MAX_SZ];\n };\n \n", "prefixes": [] }