|
@@ -65,6 +65,9 @@ startup_64:
|
|
* tables and then reload them.
|
|
* tables and then reload them.
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
+ /* Sanitize CPU configuration */
|
|
|
|
+ call verify_cpu
|
|
|
|
+
|
|
/*
|
|
/*
|
|
* Compute the delta between the address I am compiled to run at and the
|
|
* Compute the delta between the address I am compiled to run at and the
|
|
* address I am actually running at.
|
|
* address I am actually running at.
|
|
@@ -174,6 +177,9 @@ ENTRY(secondary_startup_64)
|
|
* after the boot processor executes this code.
|
|
* after the boot processor executes this code.
|
|
*/
|
|
*/
|
|
|
|
|
|
|
|
+ /* Sanitize CPU configuration */
|
|
|
|
+ call verify_cpu
|
|
|
|
+
|
|
movq $(init_level4_pgt - __START_KERNEL_map), %rax
|
|
movq $(init_level4_pgt - __START_KERNEL_map), %rax
|
|
1:
|
|
1:
|
|
|
|
|
|
@@ -288,6 +294,8 @@ ENTRY(secondary_startup_64)
|
|
pushq %rax # target address in negative space
|
|
pushq %rax # target address in negative space
|
|
lretq
|
|
lretq
|
|
|
|
|
|
|
|
+#include "verify_cpu.S"
|
|
|
|
+
|
|
#ifdef CONFIG_HOTPLUG_CPU
|
|
#ifdef CONFIG_HOTPLUG_CPU
|
|
/*
|
|
/*
|
|
* Boot CPU0 entry point. It's called from play_dead(). Everything has been set
|
|
* Boot CPU0 entry point. It's called from play_dead(). Everything has been set
|