[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 1/3] x86/spec-ctrl: Split the "Hardware features" diagnostic line
On 24.08.2021 14:57, Andrew Cooper wrote: > On 19/08/2021 15:38, Jan Beulich wrote: >> On 17.08.2021 16:30, Andrew Cooper wrote: >>> --- a/xen/arch/x86/spec_ctrl.c >>> +++ b/xen/arch/x86/spec_ctrl.c >>> @@ -317,23 +317,30 @@ static void __init print_details(enum ind_thunk >>> thunk, uint64_t caps) >>> >>> printk("Speculative mitigation facilities:\n"); >>> >>> - /* Hardware features which pertain to speculative mitigations. */ >>> - printk(" Hardware features:%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s\n", >>> - (_7d0 & cpufeat_mask(X86_FEATURE_IBRSB)) ? " IBRS/IBPB" : "", >>> - (_7d0 & cpufeat_mask(X86_FEATURE_STIBP)) ? " STIBP" : "", >>> - (_7d0 & cpufeat_mask(X86_FEATURE_L1D_FLUSH)) ? " L1D_FLUSH" : >>> "", >>> - (_7d0 & cpufeat_mask(X86_FEATURE_SSBD)) ? " SSBD" : "", >>> - (_7d0 & cpufeat_mask(X86_FEATURE_MD_CLEAR)) ? " MD_CLEAR" : "", >>> - (_7d0 & cpufeat_mask(X86_FEATURE_SRBDS_CTRL)) ? " SRBDS_CTRL" : >>> "", >>> - (e8b & cpufeat_mask(X86_FEATURE_IBPB)) ? " IBPB" : "", >>> - (caps & ARCH_CAPS_IBRS_ALL) ? " IBRS_ALL" : "", >>> - (caps & ARCH_CAPS_RDCL_NO) ? " RDCL_NO" : "", >>> - (caps & ARCH_CAPS_RSBA) ? " RSBA" : "", >>> - (caps & ARCH_CAPS_SKIP_L1DFL) ? " SKIP_L1DFL": "", >>> - (caps & ARCH_CAPS_SSB_NO) ? " SSB_NO" : "", >>> - (caps & ARCH_CAPS_MDS_NO) ? " MDS_NO" : "", >>> - (caps & ARCH_CAPS_TSX_CTRL) ? " TSX_CTRL" : "", >>> - (caps & ARCH_CAPS_TAA_NO) ? " TAA_NO" : ""); >>> + /* >>> + * Hardware read-only information, stating immunity to certain issues, >>> or >>> + * suggestions of which mitigation to use. >>> + */ >>> + printk(" Hardware hints:%s%s%s%s%s%s%s\n", >>> + (caps & ARCH_CAPS_RDCL_NO) ? " RDCL_NO" >>> : "", >>> + (caps & ARCH_CAPS_IBRS_ALL) ? " IBRS_ALL" >>> : "", >> I take it you flipped the order of these two to match the ordering >> of their bit numbers? > > Yes. IIRC, the first draft spec had the bits in the opposite order, and > I presumably forgot to flip the printk() when correcting msr-index.h > >> I'm slightly inclined to ask whether we >> wouldn't better stay with what we had, as I could imagine users >> having not sufficiently flexible text matching in place somewhere. >> But I'm not going to insist. It only occurred to me and is, unlike >> for the IBRS/IBPB re-arrangement of the other part, easily possible >> here. > > dmesg is not and never can will be an ABI. Well, sure, I understand this. I said "slightly" not because I would use the log this way, but because I know of at least similar (ab)uses of logs. > Amongst other things, `xl dmesg | grep` fails at boot on large systems > (because you keep on refusing to let in patches which bump the size of > the pre-dynamic console), And instead I've taken the time to reduce boot time verbosity. Plus - the last attempt must have been years ago. Given good enough arguments and little enough undesirable (side) effects, I'm sure I could be convinced. (But yes, especially the "good enough" aspect is definitely pretty subjective. Yet then I could be easily outvoted if others agree with the provided reasoning.) > or after sufficient uptime when the contents has wrapped. The boot log can easily be made persistent on disk before it can wrap. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |