On Tue, Jan 12, 2016 at 06:44:34PM +0000, Marc Zyngier wrote: > On 12/01/16 18:23, Andrew Jones wrote: > > Hi Marc, > > > > Please shoot me if the following statement is false. > > I wouldn't do that. Having had the privilege to waste 10 months of my > life doing a military service, I quickly discovered I didn't like > weapons nor those who carry them... > > > Without this patch, if a guest that is running in, e.g. PSR_MODE_EL0t, > > tries to do, e.g. 'smc #0', then KVM will inject an undef exception, > > which should lead to the guest resuming at VBAR_EL1 + 0x400, but instead > > it resumes at VBAR_EL1 + 0x200. > > Not quite. SMC is undefined at EL0 (see C6.6.165), so it is not trapped > to EL2, but to EL1. KVM is not in the loop at all in that case. > > > Now, if you haven't started loading your gun to shoot me yet, then I'm > > quite confused as to why the unit test[1] I wrote for this works just > > fine without this patch. > > If you want to exercise that path, you have to access something that > wouldn't trap to EL1, but that EL2 traps. I don't think we have much > stuff so far that can be used at EL0 and would be trapped to EL2, > unfortunately (the PMU code is probably the first thing we'll merge). > > In the meantime, this test case is fairly pointless, I'm afraid... Ah, thanks for the clarification, and the lack of desire to shoot me. I'll stash this test case for a later day. drew -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html