On 2/9/2026 7:23 PM, Zhao Liu wrote: > The 'lbr-fmt' property is defined via DEFINE_PROP_UINT64_CHECKMASK, > utilizing PERF_CAP_LBR_FMT as the validation mask. This mechanism > ensures that the property setter rejects any value attempting to set > bits outside this mask. > > So cpu->lbr_fmt is guaranteed to be valid by the time > x86_cpu_realizefn() executes. The manual validation inside the realize > function is therefore redundant. > > Remove the unnecessary check. > > Signed-off-by: Zhao Liu <[email protected]> > --- Reviewed-by: Zide Chen <[email protected]> > target/i386/cpu.c | 4 ---- > 1 file changed, 4 deletions(-) > > diff --git a/target/i386/cpu.c b/target/i386/cpu.c > index c2f99b98014a..a594747f0030 100644 > --- a/target/i386/cpu.c > +++ b/target/i386/cpu.c > @@ -9816,10 +9816,6 @@ static void x86_cpu_realizefn(DeviceState *dev, Error > **errp) > * with user-provided setting. > */ > if (cpu->lbr_fmt != ~PERF_CAP_LBR_FMT) { > - if ((cpu->lbr_fmt & PERF_CAP_LBR_FMT) != cpu->lbr_fmt) { > - error_setg(errp, "invalid lbr-fmt"); > - return; > - } > env->features[FEAT_PERF_CAPABILITIES] &= ~PERF_CAP_LBR_FMT; > env->features[FEAT_PERF_CAPABILITIES] |= cpu->lbr_fmt; > }
