From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752792AbdEJMjZ (ORCPT ); Wed, 10 May 2017 08:39:25 -0400 Received: from szxga02-in.huawei.com ([45.249.212.188]:5868 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751508AbdEJMjX (ORCPT ); Wed, 10 May 2017 08:39:23 -0400 Subject: Re: [PATCH v3 3/3] arm/arm64: signal SIBGUS and inject SEA Error To: Christoffer Dall References: <5910AAA2.4030304@arm.com> <20170508175416.GA32234@cbox> <5911D204.7020304@arm.com> <20170510122055.GE28721@cbox> CC: James Morse , gengdongjiu , Tyler Baicar , Christoffer Dall , Marc Zyngier , , , , , , , "Len Brown" , , , , , , , , , Sandeepa Prabhu , , , , , , Fu Wei , , , , , , , , , , , Punit Agrawal , , , "Hanjun Guo" , John Garry , Shiju Jose , , Xiongfeng Wang From: gengdongjiu Message-ID: <10cdbd75-2b89-c816-e688-91f111687819@huawei.com> Date: Wed, 10 May 2017 20:37:59 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: <20170510122055.GE28721@cbox> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.142.68.147] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090202.591309C0.0018,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2014-11-16 11:51:01, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: 4795bdab96ba3a7188df0498ed828ec0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Christoffer, On 2017/5/10 20:20, Christoffer Dall wrote: > On Wed, May 10, 2017 at 05:15:04PM +0800, gengdongjiu wrote: >> Thanks James's explanation. >> >> Hi Christoffer, >> >> On 2017/5/9 22:28, James Morse wrote: >>> Hi Christoffer, >>> >>> On 08/05/17 18:54, Christoffer Dall wrote: >>>> On Mon, May 08, 2017 at 06:28:02PM +0100, James Morse wrote: >>>> I must admit I am losing track of exactly what this proposed API was >>>> supposed to do. >>> >>> There are two, and we keep jumping between them! >>> This is about two notification methods APEI has for arm64, 'SEA' and 'SEI'. >>> >>> SEA is synchronous and looks like a data abort. Qemu/kvmtool can inject these >>> today using the KVM_GET/SET_ONE_REG API whenever it wants to. >>> >>> SEI uses SError, is asynchronous and can be masked. In addition these need to be >>> consumed/synchronised by the ESB instruction, even when executed by a guest. >>> Hardware has the necessary bits to drive all this, we need to expose an API to >>> drive it. >>> >>> (I try to spell them out each time so I don't confuse SEI with something >>> synchronous!) >>> >>> >>> This patch was about SEA. I think you've answered our question: >> >> we are talking about the SEA(synchronous data abort) injection two methods: >> >> (1)change vcpu registers in the Qemu/kvmtools and using the KVM_GET/SET_ONE_REG API to set. > > Yes, if this is possible, why would you want something more? we will use this method. > >> (2)using existed in-kernel API "kvm_inject_dabt" to inject through IOCTL command from Qemu. >> > > I'm not really going to consider this, because "use internal API from > userspace" doesn't work. > > So this should be: > > (2) Introduce a new API to do X. you can ignore the second method, now we will not use it. > > I still think you know what my preference is; use the existing API if at > all possible. > > Thanks, > -Christoffer > > . >