Cover Letter Detail
Show a cover letter.
GET /api/covers/806493/?format=api
{ "id": 806493, "url": "http://patchwork.ozlabs.org/api/covers/806493/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-imx/cover/1503916701-13516-1-git-send-email-gengdongjiu@huawei.com/", "project": { "id": 19, "url": "http://patchwork.ozlabs.org/api/projects/19/?format=api", "name": "Linux IMX development", "link_name": "linux-imx", "list_id": "linux-imx-kernel.lists.patchwork.ozlabs.org", "list_email": "linux-imx-kernel@lists.patchwork.ozlabs.org", "web_url": null, "scm_url": null, "webscm_url": null, "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<1503916701-13516-1-git-send-email-gengdongjiu@huawei.com>", "list_archive_url": null, "date": "2017-08-28T10:38:14", "name": "[v6,0/7] Add RAS virtualization support for SEA/SEI notification type in KVM", "submitter": { "id": 71530, "url": "http://patchwork.ozlabs.org/api/people/71530/?format=api", "name": "Dongjiu Geng", "email": "gengdongjiu@huawei.com" }, "mbox": "http://patchwork.ozlabs.org/project/linux-imx/cover/1503916701-13516-1-git-send-email-gengdongjiu@huawei.com/mbox/", "series": [ { "id": 127, "url": "http://patchwork.ozlabs.org/api/series/127/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linux-imx/list/?series=127", "date": "2017-08-28T10:38:14", "name": "Add RAS virtualization support for SEA/SEI notification type in KVM", "version": 6, "mbox": "http://patchwork.ozlabs.org/series/127/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/806493/comments/", "headers": { "Return-Path": "<linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org>", "X-Original-To": "incoming-imx@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming-imx@bilbo.ozlabs.org", "Authentication-Results": [ "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.infradead.org\n\t(client-ip=65.50.211.133; helo=bombadil.infradead.org;\n\tenvelope-from=linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org;\n\treceiver=<UNKNOWN>)", "ozlabs.org; dkim=pass (2048-bit key;\n\tunprotected) header.d=lists.infradead.org\n\theader.i=@lists.infradead.org\n\theader.b=\"AV9qO9EE\"; dkim-atps=neutral" ], "Received": [ "from bombadil.infradead.org (bombadil.infradead.org\n\t[65.50.211.133])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xgnvX1Q2Jz9ryr\n\tfor <incoming-imx@patchwork.ozlabs.org>;\n\tMon, 28 Aug 2017 20:24:56 +1000 (AEST)", "from localhost ([127.0.0.1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dmHDq-0002Fl-GG; Mon, 28 Aug 2017 10:24:46 +0000", "from szxga05-in.huawei.com ([45.249.212.191])\n\tby bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux))\n\tid 1dmH59-0004xO-J4 for linux-arm-kernel@lists.infradead.org;\n\tMon, 28 Aug 2017 10:15:54 +0000", "from 172.30.72.59 (EHLO DGGEMS403-HUB.china.huawei.com)\n\t([172.30.72.59])\n\tby dggrg05-dlp.huawei.com (MOS 4.4.6-GA FastPath queued)\n\twith ESMTP id DGD11347; Mon, 28 Aug 2017 18:15:09 +0800 (CST)", "from linux.huawei.com (10.67.187.203) by\n\tDGGEMS403-HUB.china.huawei.com (10.3.19.203) with Microsoft SMTP\n\tServer id 14.3.301.0; Mon, 28 Aug 2017 18:14:57 +0800" ], "DKIM-Signature": "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20170209; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:To\n\t:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:\n\tResent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:\n\tList-Owner; bh=ix8otBUoEEZ1oBru/CX2JK/jrdxbjHWjFqxp/9n1Pak=;\n\tb=AV9qO9EEVPk9ou\n\thxP7MfRzQdOtQjQ27aMXH+FVTiUrCNI+anzCp4LaP98byr7TeP99sixNCZ2Tp4ftuH6D5iLFSI9Ux\n\txbSSWf/WI5syzghhq1HffXrKmFmVkkkGNPU8X0N0Y5qiwkhDR2aMXeB80Fx/zM98u8TAeLwQqH0kT\n\tWvsL6dllAxDep85qbqtWXVdzE5Db4fWxHThw5WtnVPH9rkNV6CQ+PocLzWqX46k+4kvNZnHJl1DRd\n\tVzdtjKrH6+TngEncyg9X8dRlKtXiL+PsNZs/DwY0agD90sPGGx6V+ehuijmbQCCBO4V+W/kQEy+qE\n\tYN/RarQFIv6YDXsf+5hw==;", "From": "Dongjiu Geng <gengdongjiu@huawei.com>", "To": "<christoffer.dall@linaro.org>, <marc.zyngier@arm.com>,\n\t<rkrcmar@redhat.com>, <linux@armlinux.org.uk>,\n\t<catalin.marinas@arm.com>, <will.deacon@arm.com>, <lenb@kernel.org>, \n\t<robert.moore@intel.com>, <lv.zheng@intel.com>, <mark.rutland@arm.com>,\n\t<james.morse@arm.com>, <xiexiuqi@huawei.com>, <cov@codeaurora.org>,\n\t<david.daney@cavium.com>, <suzuki.poulose@arm.com>,\n\t<stefan@hello-penguin.com>, <Dave.Martin@arm.com>,\n\t<kristina.martsenko@arm.com>, <wangkefeng.wang@huawei.com>,\n\t<tbaicar@codeaurora.org>, <ard.biesheuvel@linaro.org>,\n\t<mingo@kernel.org>, <bp@suse.de>, <shiju.jose@huawei.com>,\n\t<zjzhang@codeaurora.org>, <linux-arm-kernel@lists.infradead.org>,\n\t<kvmarm@lists.cs.columbia.edu>, <kvm@vger.kernel.org>,\n\t<linux-kernel@vger.kernel.org>, <linux-acpi@vger.kernel.org>,\n\t<devel@acpica.org>, <mst@redhat.com>, <john.garry@huawei.com>,\n\t<jonathan.cameron@huawei.com>, <shameerali.kolothum.thodi@huawei.com>,\n\t<huangdaode@hisilicon.com>, <wangzhou1@hisilicon.com>", "Subject": "[PATCH v6 0/7] Add RAS virtualization support for SEA/SEI\n\tnotification type in KVM", "Date": "Mon, 28 Aug 2017 18:38:14 +0800", "Message-ID": "<1503916701-13516-1-git-send-email-gengdongjiu@huawei.com>", "X-Mailer": "git-send-email 1.7.7", "MIME-Version": "1.0", "X-Originating-IP": "[10.67.187.203]", "X-CFilter-Loop": "Reflected", "X-Mirapoint-Virus-RAPID-Raw": "score=unknown(0),\n\trefid=str=0001.0A0B0203.59A3ED33.0151, ss=1, re=0.000, recu=0.000,\n\treip=0.000, cl=1, cld=1, fgs=0, ip=0.0.0.0,\n\tso=2014-11-16 11:51:01, dmn=2013-03-21 17:37:32", "X-Mirapoint-Loop-Id": "d38dbd6163c400c8a8fa7150ac7c15b4", "X-CRM114-Version": "20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 ", "X-CRM114-CacheID": "sfid-20170828_031548_173829_75F3B935 ", "X-CRM114-Status": "GOOD ( 11.21 )", "X-Spam-Score": "-1.9 (-)", "X-Spam-Report": "SpamAssassin version 3.4.1 on bombadil.infradead.org summary:\n\tContent analysis details: (-1.9 points)\n\tpts rule name description\n\t---- ----------------------\n\t--------------------------------------------------\n\t-0.0 SPF_PASS SPF: sender matches SPF record\n\t-0.0 RP_MATCHES_RCVD Envelope sender domain matches handover relay\n\tdomain\n\t-1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1%\n\t[score: 0.0000]", "X-BeenThere": "linux-arm-kernel@lists.infradead.org", "X-Mailman-Version": "2.1.21", "Precedence": "list", "List-Unsubscribe": "<http://lists.infradead.org/mailman/options/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>", "List-Archive": "<http://lists.infradead.org/pipermail/linux-arm-kernel/>", "List-Post": "<mailto:linux-arm-kernel@lists.infradead.org>", "List-Help": "<mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>", "List-Subscribe": "<http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,\n\t<mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>", "Cc": "zhengqiang10@huawei.com, wuquanming@huawei.com, huangshaoyu@huawei.com, \n\tlinuxarm@huawei.com, gengdongjiu@huawei.com", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Sender": "\"linux-arm-kernel\" <linux-arm-kernel-bounces@lists.infradead.org>", "Errors-To": "linux-arm-kernel-bounces+incoming-imx=patchwork.ozlabs.org@lists.infradead.org", "List-Id": "linux-imx-kernel.lists.patchwork.ozlabs.org" }, "content": "In the firmware-first RAS solution, corrupt data is detected in a\nmemory location when guest OS application software executing at EL0\nor guest OS kernel El1 software are reading from the memory. The\nmemory node records errors in an error record accessible using\nsystem registers.\n\nBecause SCR_EL3.EA is 1, then CPU will trap to El3 firmware, EL3\nfirmware records the error to APEI table through reading system\nregister.\n\nBecause the error was taken from a lower Exception level, if the\nexception is SEA/SEI and HCR_EL2.TEA/HCR_EL2.AMO is 1, firmware\nsets ESR_EL2/FAR_EL2 to fake a exception trap to EL2, then\ntransfers to hypervisor.\n\nFor the synchronous external abort(SEA), Hypervisor calls the\nghes_handle_memory_failure() to deal with this error,\nghes_handle_memory_failure() function reads the APEI table and \ncallls memory_failure() to decide whether it needs to deliver\nSIGBUS signal to user space, the advantage of using SIGBUS signal\nto notify user space is that it can be compatible with Non-Kvm users.\n\nFor the SError Interrupt(SEI),KVM firstly classified the error.\nNot call memory_failure() to handle it. Because the error address recorded\nby APEI is not accurated, so can not identify the address to hwpoison\nmemory. If the SError error comes from guest user mode and is not propagated,\nthen signal user space to handle it, otherwise, directly injects virtual\nSError, or panic if the error is fatal. when user space handles the error,\nit will specify syndrome for the injected virtual SError. This syndrome value\nis set to the VSESR_EL2. VSESR_EL2 is a new ARMv8.2 RAS extensions register\nwhich provides the syndrome value reported to software on taking a virtual\nSError interrupt exception.\n\nDongjiu Geng (5):\n acpi: apei: remove the unused code\n arm64: kvm: support user space to query RAS extension feature\n arm64: kvm: route synchronous external abort exceptions to el2\n KVM: arm64: allow get exception information from userspace\n arm64: kvm: handle SEI notification and pass the virtual syndrome\n\nJames Morse (1):\n KVM: arm64: Save ESR_EL2 on guest SError\n\nXie XiuQi (1):\n arm64: cpufeature: Detect CPU RAS Extentions\n\n arch/arm/include/asm/kvm_host.h | 2 ++\n arch/arm/kvm/guest.c | 9 ++++++\n arch/arm64/Kconfig | 16 +++++++++++\n arch/arm64/include/asm/barrier.h | 1 +\n arch/arm64/include/asm/cpucaps.h | 3 +-\n arch/arm64/include/asm/esr.h | 11 +++++++\n arch/arm64/include/asm/kvm_arm.h | 2 ++\n arch/arm64/include/asm/kvm_emulate.h | 17 +++++++++++\n arch/arm64/include/asm/kvm_host.h | 2 ++\n arch/arm64/include/asm/sysreg.h | 5 ++++\n arch/arm64/include/asm/system_misc.h | 1 +\n arch/arm64/include/uapi/asm/kvm.h | 5 ++++\n arch/arm64/kernel/cpufeature.c | 13 +++++++++\n arch/arm64/kernel/process.c | 3 ++\n arch/arm64/kvm/guest.c | 50 ++++++++++++++++++++++++++++++++\n arch/arm64/kvm/handle_exit.c | 56 ++++++++++++++++++++++++++++++++----\n arch/arm64/kvm/hyp/switch.c | 29 +++++++++++++++++--\n arch/arm64/kvm/reset.c | 3 ++\n arch/arm64/mm/fault.c | 34 ++++++++++++++++++++++\n drivers/acpi/apei/ghes.c | 14 ---------\n include/uapi/linux/kvm.h | 3 ++\n virt/kvm/arm/arm.c | 7 +++++\n 22 files changed, 263 insertions(+), 23 deletions(-)" }