]> xenbits.xensource.com Git - xen.git/commitdiff
x86/boot: Collect the Raw CPU Policy earlier on boot
authorAndrew Cooper <andrew.cooper3@citrix.com>
Wed, 22 May 2024 23:55:34 +0000 (00:55 +0100)
committerAndrew Cooper <andrew.cooper3@citrix.com>
Wed, 19 Jun 2024 12:00:06 +0000 (13:00 +0100)
This is a tangle, but it's a small step in the right direction.

In the following change, xstate_init() is going to start using the Raw policy.

calculate_raw_cpu_policy() is sufficiently separate from the other policies to
safely move like this.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
xen/arch/x86/cpu-policy.c
xen/arch/x86/setup.c

index b96f4ee55cc4c77a4f73d07438c5379f45808f0d..5b66f002df05f56d7057d7b91c1ae4577604baec 100644 (file)
@@ -845,7 +845,6 @@ static void __init calculate_hvm_def_policy(void)
 
 void __init init_guest_cpu_policies(void)
 {
-    calculate_raw_cpu_policy();
     calculate_host_policy();
 
     if ( IS_ENABLED(CONFIG_PV) )
index dd51e68dbe5b289bfa25ef82f2a2cf3b07a762b6..eee20bb1753c4acf0c1f78cb82f77b81ed9ea957 100644 (file)
@@ -1888,7 +1888,9 @@ void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
 
     tsx_init(); /* Needs microcode.  May change HLE/RTM feature bits. */
 
-    identify_cpu(&boot_cpu_data);
+    calculate_raw_cpu_policy(); /* Needs microcode.  No other dependenices. */
+
+    identify_cpu(&boot_cpu_data); /* Needs microcode and raw policy. */
 
     set_in_cr4(X86_CR4_OSFXSR | X86_CR4_OSXMMEXCPT);