+ mp_enable_preemption();
+
+ /* Get all other CPUs to perform the update */
+ /*
+ * Calling mp_cpus_call with the ASYNC flag ensures that the
+ * IPI dispatch occurs in parallel, but that we will not
+ * proceed until all targeted CPUs complete the microcode
+ * update.
+ */
+ mp_cpus_call(dest_cpumask, ASYNC, cpu_update, NULL);
+
+ /* Update the commpage only after we update all CPUs' microcode */
+ commpage_post_ucode_update();