On 25.10.2023 21:29, Edwin Török wrote: > This can be useful if you realize you have to inspect the value of an > MSR in production, without having to change into a new Xen first that > handles the MSR.
Yet on a non-pinned Dom0 you'd still be lost. Since iirc we generally advise against pinning, I wonder of how much use such a change would be, when it effectively undoes what we deliberately did a while ago. > --- a/xen/arch/x86/hvm/svm/svm.c > +++ b/xen/arch/x86/hvm/svm/svm.c > @@ -1933,6 +1933,9 @@ static int cf_check svm_msr_read_intercept( > break; > > default: > + if ( is_hwdom_pinned_vcpu(v) && !rdmsr_safe(msr, *msr_content) ) > + break; > + > if ( d->arch.msr_relaxed && !rdmsr_safe(msr, tmp) ) > { > *msr_content = 0; If we went as far as undoing some of what was done, I'd then wonder whether instead we should mandate relaxed mode to be enabled on such a Dom0. Then, instead of returning fake 0 here, the actual value could be returned in the specific case of (pinned?) Dom0. Jan