On 2020-10-27 10:55, Suzuki K Poulose wrote:
On 10/26/20 1:34 PM, Marc Zyngier wrote:
In an effort to remove the vcpu PC manipulations from EL1 on nVHE
systems, move kvm_skip_instr() to be HYP-specific. EL1's intent
to increment PC post emulation is now signalled via a flag in the
vcpu structure.

Signed-off-by: Marc Zyngier <[email protected]>

[...]

+static inline void kvm_skip_instr(struct kvm_vcpu *vcpu)
+{
+       if (vcpu_mode_is_32bit(vcpu)) {
+               kvm_skip_instr32(vcpu);
+       } else {
+               *vcpu_pc(vcpu) += 4;
+               *vcpu_cpsr(vcpu) &= ~PSR_BTYPE_MASK;
+       }
+
+       /* advance the singlestep state machine */
+       *vcpu_cpsr(vcpu) &= ~DBG_SPSR_SS;
+}
+
+/*
+ * Skip an instruction which has been emulated at hyp while most guest sysregs
+ * are live.
+ */
+static inline void __kvm_skip_instr(struct kvm_vcpu *vcpu)
+{
+       *vcpu_pc(vcpu) = read_sysreg_el2(SYS_ELR);
+       vcpu_gp_regs(vcpu)->pstate = read_sysreg_el2(SYS_SPSR);
+
+       __kvm_skip_instr(vcpu);

Did you mean kvm_skip_instr() instead ?

Damn. How embarrassing! Yes, of course. I should have thrown my TX1 at it!

Thanks,

        M.
--
Jazz is not dead. It just smells funny...
_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Reply via email to