Nicholas Piggin <npiggin@xxxxxxxxx> writes: > Rather than add the ME bit to the MSR when the guest is entered, make > it clear that the hypervisor does not allow the guest to clear the bit. > > The ME addition is kept in the code for now, but a future patch will > warn if it's not present. > > Signed-off-by: Nicholas Piggin <npiggin@xxxxxxxxx> Reviewed-by: Fabiano Rosas <farosas@xxxxxxxxxxxxx> > --- > arch/powerpc/kvm/book3s_hv_builtin.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/arch/powerpc/kvm/book3s_hv_builtin.c b/arch/powerpc/kvm/book3s_hv_builtin.c > index dad118760a4e..ae8f291c5c48 100644 > --- a/arch/powerpc/kvm/book3s_hv_builtin.c > +++ b/arch/powerpc/kvm/book3s_hv_builtin.c > @@ -661,6 +661,13 @@ static void kvmppc_end_cede(struct kvm_vcpu *vcpu) > > void kvmppc_set_msr_hv(struct kvm_vcpu *vcpu, u64 msr) > { > + /* > + * Guest must always run with machine check interrupt > + * enabled. > + */ > + if (!(msr & MSR_ME)) > + msr |= MSR_ME; > + > /* > * Check for illegal transactional state bit combination > * and if we find it, force the TS field to a safe state.