Hi Andrew, On 30/07/2020 16:18, Andrew Scull wrote: > The ESB at the start of the vectors causes any SErrors to be consumed to > DISR_EL1. If the exception came from the host and the ESB caught an > SError, it would not be noticed until a guest exits and DISR_EL1 is > checked. Further, the SError would be attributed to the guest and not > the host. Yup, this happens because the world has moved underneath this code: Previously any v8.2 RAS capable system would have been crazy to turn off VHE, so v8.0 and v8.1 systems had a nop here instead, and v8.2 systems had VHE, so there were no 'from the host' EL2 vectors. > To avoid these problems, use a different exception vector for the host > that does not use an ESB but instead leaves any host SError pending. A > guest will not be entered if an SError is pending so it will always be > the host that will receive and handle it. > > Hyp initialization is now passed the vector that is used for the host > and the vector for guests is stored in a percpu variable as > kvm_get_hyp_vector() is not suitable for calling from nVHE hyp. > Fixes: 0e5b9c085dce ("KVM: arm64: Consume pending SError as early as possible") Surely this can only happen if you had turned VHE off? Thanks, James _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/mailman/listinfo/kvmarm