[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] x86/PSR: move CPUID level check
commit 511eb31bd0545c9072bed88de6f41c5802f94a33 Author: Jan Beulich <jbeulich@xxxxxxxx> AuthorDate: Thu Aug 28 13:35:22 2025 +0200 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Thu Aug 28 13:35:22 2025 +0200 x86/PSR: move CPUID level check At the first (and maybe second) glance the call to setup_clear_cpu_cap() (which is __init) from psr_cpu_init() (which isn't) looks wrong. The earlier cpu_has_pqe makes it safe, though. Nevertheless we can do better, by simply moving the check ahead of the BSP invocation of the function. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> --- xen/arch/x86/psr.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/xen/arch/x86/psr.c b/xen/arch/x86/psr.c index 9c7aab9f40..cce7020868 100644 --- a/xen/arch/x86/psr.c +++ b/xen/arch/x86/psr.c @@ -1583,12 +1583,6 @@ static void psr_cpu_init(void) if ( !psr_alloc_feat_enabled() || !cpu_has_pqe ) goto assoc_init; - if ( boot_cpu_data.cpuid_level < PSR_CPUID_LEVEL_CAT ) - { - setup_clear_cpu_cap(X86_FEATURE_PQE); - goto assoc_init; - } - socket = cpu_to_socket(cpu); info = socket_info + socket; if ( info->feat_init ) @@ -1708,6 +1702,9 @@ static int __init cf_check psr_presmp_init(void) if ( psr_cpu_prepare() ) psr_free(); + if ( boot_cpu_data.cpuid_level < PSR_CPUID_LEVEL_CAT ) + setup_clear_cpu_cap(X86_FEATURE_PQE); + psr_cpu_init(); if ( psr_cmt_enabled() || psr_alloc_feat_enabled() ) register_cpu_notifier(&cpu_nfb); -- generated by git-patchbot for /home/xen/git/xen.git#master
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |