Messages in this thread | | | Date | Wed, 10 May 2017 14:20:55 +0200 | From | Christoffer Dall <> | Subject | Re: [PATCH v3 3/3] arm/arm64: signal SIBGUS and inject SEA Error |
| |
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?
> (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.
I still think you know what my preference is; use the existing API if at all possible.
Thanks, -Christoffer
| |