cpu/x86/lapic: Move LAPIC configuration to MP init
Implementation for setup_lapic() did two things -- call enable_lapic() and virtual_wire_mode_init(). In PARALLEL_MP case enable_lapic() was redundant as it was already executed prior to initialize_cpu() call. For the !PARALLEL_MP case enable_lapic() is added to AP CPUs. Change-Id: I5caf94315776a499e9cf8f007251b61f51292dc5 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/58387 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
This commit is contained in:
parent
7261b5ade5
commit
9ec7227c9b
|
@ -7,7 +7,6 @@
|
||||||
#include <cpu/amd/mtrr.h>
|
#include <cpu/amd/mtrr.h>
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <cpu/x86/pae.h>
|
#include <cpu/x86/pae.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <cpu/x86/cache.h>
|
#include <cpu/x86/cache.h>
|
||||||
#include <acpi/acpi.h>
|
#include <acpi/acpi.h>
|
||||||
|
@ -57,9 +56,6 @@ static void model_14_init(struct device *dev)
|
||||||
/* zero the machine check error status registers */
|
/* zero the machine check error status registers */
|
||||||
mca_clear_status();
|
mca_clear_status();
|
||||||
|
|
||||||
/* Enable the local CPU APICs */
|
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
#if CONFIG(LOGICAL_CPUS)
|
#if CONFIG(LOGICAL_CPUS)
|
||||||
siblings = cpuid_ecx(0x80000008) & 0xff;
|
siblings = cpuid_ecx(0x80000008) & 0xff;
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
#include <cpu/x86/smm.h>
|
#include <cpu/x86/smm.h>
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <cpu/x86/pae.h>
|
#include <cpu/x86/pae.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <cpu/x86/cache.h>
|
#include <cpu/x86/cache.h>
|
||||||
#include <acpi/acpi.h>
|
#include <acpi/acpi.h>
|
||||||
|
@ -59,9 +58,6 @@ static void model_15_init(struct device *dev)
|
||||||
/* zero the machine check error status registers */
|
/* zero the machine check error status registers */
|
||||||
mca_clear_status();
|
mca_clear_status();
|
||||||
|
|
||||||
/* Enable the local CPU APICs */
|
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
#if CONFIG(LOGICAL_CPUS)
|
#if CONFIG(LOGICAL_CPUS)
|
||||||
siblings = cpuid_ecx(0x80000008) & 0xff;
|
siblings = cpuid_ecx(0x80000008) & 0xff;
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
#include <cpu/amd/mtrr.h>
|
#include <cpu/amd/mtrr.h>
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <cpu/x86/pae.h>
|
#include <cpu/x86/pae.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <cpu/x86/cache.h>
|
#include <cpu/x86/cache.h>
|
||||||
#include <acpi/acpi.h>
|
#include <acpi/acpi.h>
|
||||||
|
@ -57,9 +56,6 @@ static void model_16_init(struct device *dev)
|
||||||
/* zero the machine check error status registers */
|
/* zero the machine check error status registers */
|
||||||
mca_clear_status();
|
mca_clear_status();
|
||||||
|
|
||||||
/* Enable the local CPU APICs */
|
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
#if CONFIG(LOGICAL_CPUS)
|
#if CONFIG(LOGICAL_CPUS)
|
||||||
siblings = cpuid_ecx(0x80000008) & 0xff;
|
siblings = cpuid_ecx(0x80000008) & 0xff;
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,6 @@
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
#include <cpu/x86/pae.h>
|
#include <cpu/x86/pae.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <cpu/x86/cache.h>
|
#include <cpu/x86/cache.h>
|
||||||
#include <smp/node.h>
|
#include <smp/node.h>
|
||||||
|
@ -26,9 +25,6 @@ static void model_16_init(struct device *dev)
|
||||||
/* zero the machine check error status registers */
|
/* zero the machine check error status registers */
|
||||||
mca_clear_status();
|
mca_clear_status();
|
||||||
|
|
||||||
/* Enable the local CPU APICs */
|
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
if (CONFIG(LOGICAL_CPUS)) {
|
if (CONFIG(LOGICAL_CPUS)) {
|
||||||
siblings = cpuid_ecx(0x80000008) & 0xff;
|
siblings = cpuid_ecx(0x80000008) & 0xff;
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
#include <arch/cpu.h>
|
#include <arch/cpu.h>
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
#include <cpu/intel/msr.h>
|
#include <cpu/intel/msr.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/x86/msr.h>
|
#include <cpu/x86/msr.h>
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
#include <cpu/x86/mtrr.h>
|
#include <cpu/x86/mtrr.h>
|
||||||
#include <cpu/x86/msr.h>
|
#include <cpu/x86/msr.h>
|
||||||
#include <cpu/x86/mp.h>
|
#include <cpu/x86/mp.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/intel/microcode.h>
|
#include <cpu/intel/microcode.h>
|
||||||
#include <cpu/intel/smm_reloc.h>
|
#include <cpu/intel/smm_reloc.h>
|
||||||
#include <cpu/intel/speedstep.h>
|
#include <cpu/intel/speedstep.h>
|
||||||
|
@ -541,9 +540,7 @@ static void cpu_core_init(struct device *cpu)
|
||||||
/* Clear out pending MCEs */
|
/* Clear out pending MCEs */
|
||||||
configure_mca();
|
configure_mca();
|
||||||
|
|
||||||
/* Enable the local CPU APICs */
|
|
||||||
enable_lapic_tpr();
|
enable_lapic_tpr();
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/* Set virtualization based on Kconfig option */
|
/* Set virtualization based on Kconfig option */
|
||||||
set_vmx_and_lock();
|
set_vmx_and_lock();
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <cpu/x86/msr.h>
|
#include <cpu/x86/msr.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/intel/speedstep.h>
|
#include <cpu/intel/speedstep.h>
|
||||||
#include <cpu/x86/cache.h>
|
#include <cpu/x86/cache.h>
|
||||||
#include <cpu/x86/name.h>
|
#include <cpu/x86/name.h>
|
||||||
|
@ -256,9 +255,6 @@ static void model_1067x_init(struct device *cpu)
|
||||||
fill_processor_name(processor_name);
|
fill_processor_name(processor_name);
|
||||||
printk(BIOS_INFO, "CPU: %s.\n", processor_name);
|
printk(BIOS_INFO, "CPU: %s.\n", processor_name);
|
||||||
|
|
||||||
/* Enable the local CPU APICs */
|
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/* Configure C States */
|
/* Configure C States */
|
||||||
configure_c_states(quad);
|
configure_c_states(quad);
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <cpu/x86/msr.h>
|
#include <cpu/x86/msr.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/intel/speedstep.h>
|
#include <cpu/intel/speedstep.h>
|
||||||
#include <cpu/x86/cache.h>
|
#include <cpu/x86/cache.h>
|
||||||
#include <cpu/x86/name.h>
|
#include <cpu/x86/name.h>
|
||||||
|
@ -67,9 +66,6 @@ static void model_106cx_init(struct device *cpu)
|
||||||
fill_processor_name(processor_name);
|
fill_processor_name(processor_name);
|
||||||
printk(BIOS_INFO, "CPU: %s.\n", processor_name);
|
printk(BIOS_INFO, "CPU: %s.\n", processor_name);
|
||||||
|
|
||||||
/* Enable the local CPU APICs */
|
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/* Configure C States */
|
/* Configure C States */
|
||||||
configure_c_states();
|
configure_c_states();
|
||||||
|
|
||||||
|
|
|
@ -91,9 +91,7 @@ static void model_2065x_init(struct device *cpu)
|
||||||
/* Setup Page Attribute Tables (PAT) */
|
/* Setup Page Attribute Tables (PAT) */
|
||||||
// TODO set up PAT
|
// TODO set up PAT
|
||||||
|
|
||||||
/* Enable the local CPU APICs */
|
|
||||||
enable_lapic_tpr();
|
enable_lapic_tpr();
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/* Set virtualization based on Kconfig option */
|
/* Set virtualization based on Kconfig option */
|
||||||
set_vmx_and_lock();
|
set_vmx_and_lock();
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <cpu/x86/mtrr.h>
|
#include <cpu/x86/mtrr.h>
|
||||||
#include <cpu/x86/msr.h>
|
#include <cpu/x86/msr.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/x86/mp.h>
|
#include <cpu/x86/mp.h>
|
||||||
#include <cpu/intel/microcode.h>
|
#include <cpu/intel/microcode.h>
|
||||||
#include <cpu/intel/speedstep.h>
|
#include <cpu/intel/speedstep.h>
|
||||||
|
@ -338,9 +337,7 @@ static void model_206ax_init(struct device *cpu)
|
||||||
/* Setup Page Attribute Tables (PAT) */
|
/* Setup Page Attribute Tables (PAT) */
|
||||||
// TODO set up PAT
|
// TODO set up PAT
|
||||||
|
|
||||||
/* Enable the local CPU APICs */
|
|
||||||
enable_lapic_tpr();
|
enable_lapic_tpr();
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/* Set virtualization based on Kconfig option */
|
/* Set virtualization based on Kconfig option */
|
||||||
set_vmx_and_lock();
|
set_vmx_and_lock();
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <cpu/x86/mtrr.h>
|
#include <cpu/x86/mtrr.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/intel/microcode.h>
|
#include <cpu/intel/microcode.h>
|
||||||
#include <cpu/x86/cache.h>
|
#include <cpu/x86/cache.h>
|
||||||
#include <cpu/intel/l2_cache.h>
|
#include <cpu/intel/l2_cache.h>
|
||||||
|
@ -19,9 +18,6 @@ static void model_65x_init(struct device *dev)
|
||||||
enable_cache();
|
enable_cache();
|
||||||
x86_setup_mtrrs();
|
x86_setup_mtrrs();
|
||||||
x86_mtrr_check();
|
x86_mtrr_check();
|
||||||
|
|
||||||
/* Enable the local CPU APICs */
|
|
||||||
setup_lapic();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct device_operations cpu_dev_ops = {
|
static struct device_operations cpu_dev_ops = {
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <cpu/x86/mtrr.h>
|
#include <cpu/x86/mtrr.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/intel/microcode.h>
|
#include <cpu/intel/microcode.h>
|
||||||
#include <cpu/x86/cache.h>
|
#include <cpu/x86/cache.h>
|
||||||
#include <cpu/intel/l2_cache.h>
|
#include <cpu/intel/l2_cache.h>
|
||||||
|
@ -22,9 +21,6 @@ static void model_67x_init(struct device *cpu)
|
||||||
/* Setup MTRRs */
|
/* Setup MTRRs */
|
||||||
x86_setup_mtrrs();
|
x86_setup_mtrrs();
|
||||||
x86_mtrr_check();
|
x86_mtrr_check();
|
||||||
|
|
||||||
/* Enable the local CPU APICs */
|
|
||||||
setup_lapic();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct device_operations cpu_dev_ops = {
|
static struct device_operations cpu_dev_ops = {
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <cpu/x86/mtrr.h>
|
#include <cpu/x86/mtrr.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/intel/microcode.h>
|
#include <cpu/intel/microcode.h>
|
||||||
#include <cpu/x86/cache.h>
|
#include <cpu/x86/cache.h>
|
||||||
#include <cpu/x86/name.h>
|
#include <cpu/x86/name.h>
|
||||||
|
@ -26,9 +25,6 @@ static void model_68x_init(struct device *cpu)
|
||||||
/* Setup MTRRs */
|
/* Setup MTRRs */
|
||||||
x86_setup_mtrrs();
|
x86_setup_mtrrs();
|
||||||
x86_mtrr_check();
|
x86_mtrr_check();
|
||||||
|
|
||||||
/* Enable the local CPU APICs */
|
|
||||||
setup_lapic();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct device_operations cpu_dev_ops = {
|
static struct device_operations cpu_dev_ops = {
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <cpu/x86/mtrr.h>
|
#include <cpu/x86/mtrr.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/intel/microcode.h>
|
#include <cpu/intel/microcode.h>
|
||||||
#include <cpu/x86/cache.h>
|
#include <cpu/x86/cache.h>
|
||||||
#include <cpu/x86/name.h>
|
#include <cpu/x86/name.h>
|
||||||
|
@ -26,9 +25,6 @@ static void model_6bx_init(struct device *cpu)
|
||||||
/* Setup MTRRs */
|
/* Setup MTRRs */
|
||||||
x86_setup_mtrrs();
|
x86_setup_mtrrs();
|
||||||
x86_mtrr_check();
|
x86_mtrr_check();
|
||||||
|
|
||||||
/* Enable the local CPU APICs */
|
|
||||||
setup_lapic();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct device_operations cpu_dev_ops = {
|
static struct device_operations cpu_dev_ops = {
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <cpu/x86/msr.h>
|
#include <cpu/x86/msr.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/intel/speedstep.h>
|
#include <cpu/intel/speedstep.h>
|
||||||
#include <cpu/x86/cache.h>
|
#include <cpu/x86/cache.h>
|
||||||
#include <cpu/x86/name.h>
|
#include <cpu/x86/name.h>
|
||||||
|
@ -106,9 +105,6 @@ static void model_6ex_init(struct device *cpu)
|
||||||
/* Setup Page Attribute Tables (PAT) */
|
/* Setup Page Attribute Tables (PAT) */
|
||||||
// TODO set up PAT
|
// TODO set up PAT
|
||||||
|
|
||||||
/* Enable the local CPU APICs */
|
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/* Configure C States */
|
/* Configure C States */
|
||||||
configure_c_states();
|
configure_c_states();
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <cpu/x86/msr.h>
|
#include <cpu/x86/msr.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/intel/speedstep.h>
|
#include <cpu/intel/speedstep.h>
|
||||||
#include <cpu/x86/cache.h>
|
#include <cpu/x86/cache.h>
|
||||||
#include <cpu/x86/name.h>
|
#include <cpu/x86/name.h>
|
||||||
|
@ -120,9 +119,6 @@ static void model_6fx_init(struct device *cpu)
|
||||||
/* Setup Page Attribute Tables (PAT) */
|
/* Setup Page Attribute Tables (PAT) */
|
||||||
// TODO set up PAT
|
// TODO set up PAT
|
||||||
|
|
||||||
/* Enable the local CPU APICs */
|
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/* Configure C States */
|
/* Configure C States */
|
||||||
configure_c_states();
|
configure_c_states();
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <cpu/x86/mtrr.h>
|
#include <cpu/x86/mtrr.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/intel/microcode.h>
|
#include <cpu/intel/microcode.h>
|
||||||
#include <cpu/x86/cache.h>
|
#include <cpu/x86/cache.h>
|
||||||
|
|
||||||
|
@ -16,9 +15,6 @@ static void model_6xx_init(struct device *dev)
|
||||||
|
|
||||||
/* Update the microcode */
|
/* Update the microcode */
|
||||||
intel_update_microcode_from_cbfs();
|
intel_update_microcode_from_cbfs();
|
||||||
|
|
||||||
/* Enable the local CPU APICs */
|
|
||||||
setup_lapic();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct device_operations cpu_dev_ops = {
|
static struct device_operations cpu_dev_ops = {
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <cpu/x86/mtrr.h>
|
#include <cpu/x86/mtrr.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/intel/microcode.h>
|
#include <cpu/intel/microcode.h>
|
||||||
#include <cpu/intel/hyperthreading.h>
|
#include <cpu/intel/hyperthreading.h>
|
||||||
#include <cpu/intel/common/common.h>
|
#include <cpu/intel/common/common.h>
|
||||||
|
@ -23,9 +22,6 @@ static void model_f2x_init(struct device *cpu)
|
||||||
intel_update_microcode_from_cbfs();
|
intel_update_microcode_from_cbfs();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Enable the local CPU APICs */
|
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/* Start up my CPU siblings */
|
/* Start up my CPU siblings */
|
||||||
intel_sibling_init(cpu);
|
intel_sibling_init(cpu);
|
||||||
};
|
};
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <cpu/x86/mtrr.h>
|
#include <cpu/x86/mtrr.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/intel/microcode.h>
|
#include <cpu/intel/microcode.h>
|
||||||
#include <cpu/intel/hyperthreading.h>
|
#include <cpu/intel/hyperthreading.h>
|
||||||
#include <cpu/intel/common/common.h>
|
#include <cpu/intel/common/common.h>
|
||||||
|
@ -23,9 +22,6 @@ static void model_f3x_init(struct device *cpu)
|
||||||
intel_update_microcode_from_cbfs();
|
intel_update_microcode_from_cbfs();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Enable the local CPU APICs */
|
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/* Start up my CPU siblings */
|
/* Start up my CPU siblings */
|
||||||
if (!CONFIG(PARALLEL_MP))
|
if (!CONFIG(PARALLEL_MP))
|
||||||
intel_sibling_init(cpu);
|
intel_sibling_init(cpu);
|
||||||
|
|
|
@ -2,16 +2,12 @@
|
||||||
|
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/x86/cache.h>
|
#include <cpu/x86/cache.h>
|
||||||
|
|
||||||
static void model_f4x_init(struct device *cpu)
|
static void model_f4x_init(struct device *cpu)
|
||||||
{
|
{
|
||||||
/* Turn on caching if we haven't already */
|
/* Turn on caching if we haven't already */
|
||||||
enable_cache();
|
enable_cache();
|
||||||
|
|
||||||
/* Enable the local CPU APICs */
|
|
||||||
setup_lapic();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct device_operations cpu_dev_ops = {
|
static struct device_operations cpu_dev_ops = {
|
||||||
|
|
|
@ -2,11 +2,9 @@
|
||||||
|
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
|
|
||||||
static void qemu_cpu_init(struct device *dev)
|
static void qemu_cpu_init(struct device *dev)
|
||||||
{
|
{
|
||||||
setup_lapic();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct device_operations cpu_dev_ops = {
|
static struct device_operations cpu_dev_ops = {
|
||||||
|
|
|
@ -65,13 +65,7 @@ uintptr_t cpu_get_lapic_addr(void)
|
||||||
return LAPIC_DEFAULT_BASE;
|
return LAPIC_DEFAULT_BASE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* See if I need to initialize the local APIC */
|
void setup_lapic_interrupts(void)
|
||||||
static int need_lapic_init(void)
|
|
||||||
{
|
|
||||||
return CONFIG(SMP) || CONFIG(IOAPIC);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void lapic_virtual_wire_mode_init(void)
|
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Set Task Priority to 'accept all'.
|
* Set Task Priority to 'accept all'.
|
||||||
|
@ -94,17 +88,3 @@ static void lapic_virtual_wire_mode_init(void)
|
||||||
|
|
||||||
lapic_update32(LAPIC_LVT1, ~mask, LAPIC_DELIVERY_MODE_NMI);
|
lapic_update32(LAPIC_LVT1, ~mask, LAPIC_DELIVERY_MODE_NMI);
|
||||||
}
|
}
|
||||||
|
|
||||||
void setup_lapic(void)
|
|
||||||
{
|
|
||||||
/* Enable the local APIC */
|
|
||||||
if (need_lapic_init())
|
|
||||||
enable_lapic();
|
|
||||||
else if (!CONFIG(UDELAY_LAPIC))
|
|
||||||
disable_lapic();
|
|
||||||
|
|
||||||
/* This programming is for PIC mode i8259 interrupts to be delivered to CPU
|
|
||||||
while LAPIC is enabled. */
|
|
||||||
if (need_lapic_init())
|
|
||||||
lapic_virtual_wire_mode_init();
|
|
||||||
}
|
|
||||||
|
|
|
@ -298,6 +298,11 @@ asmlinkage void secondary_cpu_init(unsigned int index)
|
||||||
cr4_val |= (CR4_OSFXSR | CR4_OSXMMEXCPT);
|
cr4_val |= (CR4_OSFXSR | CR4_OSXMMEXCPT);
|
||||||
write_cr4(cr4_val);
|
write_cr4(cr4_val);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Ensure the local APIC is enabled */
|
||||||
|
enable_lapic();
|
||||||
|
setup_lapic_interrupts();
|
||||||
|
|
||||||
cpu_initialize(index);
|
cpu_initialize(index);
|
||||||
|
|
||||||
spin_unlock(&start_cpu_lock);
|
spin_unlock(&start_cpu_lock);
|
||||||
|
@ -376,8 +381,10 @@ void initialize_cpus(struct bus *cpu_bus)
|
||||||
info = cpu_info();
|
info = cpu_info();
|
||||||
|
|
||||||
/* Ensure the local APIC is enabled */
|
/* Ensure the local APIC is enabled */
|
||||||
if (is_smp_boot())
|
if (is_smp_boot()) {
|
||||||
enable_lapic();
|
enable_lapic();
|
||||||
|
setup_lapic_interrupts();
|
||||||
|
}
|
||||||
|
|
||||||
/* Get the device path of the boot CPU */
|
/* Get the device path of the boot CPU */
|
||||||
cpu_path.type = DEVICE_PATH_APIC;
|
cpu_path.type = DEVICE_PATH_APIC;
|
||||||
|
|
|
@ -185,6 +185,7 @@ static void asmlinkage ap_init(void)
|
||||||
|
|
||||||
/* Ensure the local APIC is enabled */
|
/* Ensure the local APIC is enabled */
|
||||||
enable_lapic();
|
enable_lapic();
|
||||||
|
setup_lapic_interrupts();
|
||||||
|
|
||||||
info->cpu = cpus_dev[info->index];
|
info->cpu = cpus_dev[info->index];
|
||||||
|
|
||||||
|
@ -543,6 +544,7 @@ static void init_bsp(struct bus *cpu_bus)
|
||||||
|
|
||||||
/* Ensure the local APIC is enabled */
|
/* Ensure the local APIC is enabled */
|
||||||
enable_lapic();
|
enable_lapic();
|
||||||
|
setup_lapic_interrupts();
|
||||||
|
|
||||||
/* Set the device path of the boot CPU. */
|
/* Set the device path of the boot CPU. */
|
||||||
cpu_path.type = DEVICE_PATH_APIC;
|
cpu_path.type = DEVICE_PATH_APIC;
|
||||||
|
|
|
@ -177,6 +177,6 @@ void stop_this_cpu(void);
|
||||||
|
|
||||||
void enable_lapic(void);
|
void enable_lapic(void);
|
||||||
void disable_lapic(void);
|
void disable_lapic(void);
|
||||||
void setup_lapic(void);
|
void setup_lapic_interrupts(void);
|
||||||
|
|
||||||
#endif /* CPU_X86_LAPIC_H */
|
#endif /* CPU_X86_LAPIC_H */
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
#include <cpu/amd/microcode.h>
|
#include <cpu/amd/microcode.h>
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/x86/mp.h>
|
#include <cpu/x86/mp.h>
|
||||||
#include <cpu/x86/mtrr.h>
|
#include <cpu/x86/mtrr.h>
|
||||||
#include <cpu/x86/smm.h>
|
#include <cpu/x86/smm.h>
|
||||||
|
@ -62,7 +61,6 @@ void mp_init_cpus(struct bus *cpu_bus)
|
||||||
static void zen_2_3_init(struct device *dev)
|
static void zen_2_3_init(struct device *dev)
|
||||||
{
|
{
|
||||||
check_mca();
|
check_mca();
|
||||||
setup_lapic();
|
|
||||||
set_cstate_io_addr();
|
set_cstate_io_addr();
|
||||||
|
|
||||||
amd_update_microcode_from_cbfs();
|
amd_update_microcode_from_cbfs();
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
#include <cpu/x86/mtrr.h>
|
#include <cpu/x86/mtrr.h>
|
||||||
#include <cpu/x86/msr.h>
|
#include <cpu/x86/msr.h>
|
||||||
#include <cpu/x86/smm.h>
|
#include <cpu/x86/smm.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <device/pci_ops.h>
|
#include <device/pci_ops.h>
|
||||||
#include <soc/pci_devs.h>
|
#include <soc/pci_devs.h>
|
||||||
|
@ -66,7 +65,6 @@ void mp_init_cpus(struct bus *cpu_bus)
|
||||||
static void model_17_init(struct device *dev)
|
static void model_17_init(struct device *dev)
|
||||||
{
|
{
|
||||||
check_mca();
|
check_mca();
|
||||||
setup_lapic();
|
|
||||||
set_cstate_io_addr();
|
set_cstate_io_addr();
|
||||||
|
|
||||||
amd_update_microcode_from_cbfs();
|
amd_update_microcode_from_cbfs();
|
||||||
|
|
|
@ -10,7 +10,6 @@
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
#include <cpu/amd/microcode.h>
|
#include <cpu/amd/microcode.h>
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/x86/mp.h>
|
#include <cpu/x86/mp.h>
|
||||||
#include <cpu/x86/mtrr.h>
|
#include <cpu/x86/mtrr.h>
|
||||||
#include <cpu/x86/smm.h>
|
#include <cpu/x86/smm.h>
|
||||||
|
@ -64,7 +63,6 @@ void mp_init_cpus(struct bus *cpu_bus)
|
||||||
static void zen_2_3_init(struct device *dev)
|
static void zen_2_3_init(struct device *dev)
|
||||||
{
|
{
|
||||||
check_mca();
|
check_mca();
|
||||||
setup_lapic();
|
|
||||||
set_cstate_io_addr();
|
set_cstate_io_addr();
|
||||||
|
|
||||||
amd_update_microcode_from_cbfs();
|
amd_update_microcode_from_cbfs();
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
#include <cpu/x86/mtrr.h>
|
#include <cpu/x86/mtrr.h>
|
||||||
#include <cpu/x86/msr.h>
|
#include <cpu/x86/msr.h>
|
||||||
#include <cpu/x86/smm.h>
|
#include <cpu/x86/smm.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <device/device.h>
|
#include <device/device.h>
|
||||||
#include <device/pci_ops.h>
|
#include <device/pci_ops.h>
|
||||||
#include <soc/pci_devs.h>
|
#include <soc/pci_devs.h>
|
||||||
|
@ -65,7 +64,6 @@ void mp_init_cpus(struct bus *cpu_bus)
|
||||||
static void model_15_init(struct device *dev)
|
static void model_15_init(struct device *dev)
|
||||||
{
|
{
|
||||||
check_mca();
|
check_mca();
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Per AMD, sync an undocumented MSR with the PSP base address.
|
* Per AMD, sync an undocumented MSR with the PSP base address.
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
#include <device/pci_ids.h>
|
#include <device/pci_ids.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/x86/mp.h>
|
#include <cpu/x86/mp.h>
|
||||||
#include <cpu/x86/msr.h>
|
#include <cpu/x86/msr.h>
|
||||||
#include <cpu/intel/smm_reloc.h>
|
#include <cpu/intel/smm_reloc.h>
|
||||||
|
@ -110,9 +109,7 @@ void soc_core_init(struct device *cpu)
|
||||||
* every bank. */
|
* every bank. */
|
||||||
mca_configure();
|
mca_configure();
|
||||||
|
|
||||||
/* Enable the local CPU apics */
|
|
||||||
enable_lapic_tpr();
|
enable_lapic_tpr();
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/* Configure Enhanced SpeedStep and Thermal Sensors */
|
/* Configure Enhanced SpeedStep and Thermal Sensors */
|
||||||
configure_misc();
|
configure_misc();
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
#include "chip.h"
|
#include "chip.h"
|
||||||
#include <cpu/cpu.h>
|
#include <cpu/cpu.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/x86/mp.h>
|
#include <cpu/x86/mp.h>
|
||||||
#include <cpu/intel/microcode.h>
|
#include <cpu/intel/microcode.h>
|
||||||
#include <cpu/intel/turbo.h>
|
#include <cpu/intel/turbo.h>
|
||||||
|
@ -154,8 +153,6 @@ static void pre_mp_init(void)
|
||||||
x86_setup_mtrrs_with_detect();
|
x86_setup_mtrrs_with_detect();
|
||||||
x86_mtrr_check();
|
x86_mtrr_check();
|
||||||
|
|
||||||
/* Enable the local CPU apics */
|
|
||||||
setup_lapic();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !CONFIG(SOC_INTEL_COMMON_BLOCK_CPU_MPINIT)
|
#if !CONFIG(SOC_INTEL_COMMON_BLOCK_CPU_MPINIT)
|
||||||
|
|
|
@ -36,9 +36,6 @@ static void soc_core_init(struct device *cpu)
|
||||||
{
|
{
|
||||||
printk(BIOS_DEBUG, "Init BayTrail core.\n");
|
printk(BIOS_DEBUG, "Init BayTrail core.\n");
|
||||||
|
|
||||||
/* Enable the local CPU apics */
|
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The turbo disable bit is actually scoped at building block level -- not package.
|
* The turbo disable bit is actually scoped at building block level -- not package.
|
||||||
* For non-BSP cores that are within a building block, enable turbo. The cores within
|
* For non-BSP cores that are within a building block, enable turbo. The cores within
|
||||||
|
|
|
@ -36,9 +36,6 @@ static void soc_core_init(struct device *cpu)
|
||||||
{
|
{
|
||||||
printk(BIOS_DEBUG, "Init Braswell core.\n");
|
printk(BIOS_DEBUG, "Init Braswell core.\n");
|
||||||
|
|
||||||
/* Enable the local cpu apics */
|
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The turbo disable bit is actually scoped at building block level -- not package.
|
* The turbo disable bit is actually scoped at building block level -- not package.
|
||||||
* For non-BSP cores that are within a building block, enable turbo. The cores within
|
* For non-BSP cores that are within a building block, enable turbo. The cores within
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/x86/mp.h>
|
#include <cpu/x86/mp.h>
|
||||||
#include <cpu/x86/msr.h>
|
#include <cpu/x86/msr.h>
|
||||||
#include <cpu/intel/smm_reloc.h>
|
#include <cpu/intel/smm_reloc.h>
|
||||||
|
@ -118,9 +117,7 @@ void soc_core_init(struct device *cpu)
|
||||||
* every bank. */
|
* every bank. */
|
||||||
mca_configure();
|
mca_configure();
|
||||||
|
|
||||||
/* Enable the local CPU apics */
|
|
||||||
enable_lapic_tpr();
|
enable_lapic_tpr();
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/* Configure c-state interrupt response time */
|
/* Configure c-state interrupt response time */
|
||||||
configure_c_states(cfg);
|
configure_c_states(cfg);
|
||||||
|
|
|
@ -100,9 +100,6 @@ static void denverton_core_init(struct device *cpu)
|
||||||
/* Enable Turbo */
|
/* Enable Turbo */
|
||||||
enable_turbo();
|
enable_turbo();
|
||||||
|
|
||||||
/* Enable the local CPU apics */
|
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/* Enable speed step. Always ON.*/
|
/* Enable speed step. Always ON.*/
|
||||||
msr = rdmsr(IA32_MISC_ENABLE);
|
msr = rdmsr(IA32_MISC_ENABLE);
|
||||||
msr.lo |= SPEED_STEP_ENABLE_BIT;
|
msr.lo |= SPEED_STEP_ENABLE_BIT;
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
#include <cpu/intel/smm_reloc.h>
|
#include <cpu/intel/smm_reloc.h>
|
||||||
#include <cpu/intel/turbo.h>
|
#include <cpu/intel/turbo.h>
|
||||||
#include <cpu/intel/common/common.h>
|
#include <cpu/intel/common/common.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/x86/mp.h>
|
#include <cpu/x86/mp.h>
|
||||||
#include <cpu/x86/msr.h>
|
#include <cpu/x86/msr.h>
|
||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
|
@ -70,9 +69,7 @@ void soc_core_init(struct device *cpu)
|
||||||
* every bank. */
|
* every bank. */
|
||||||
mca_configure();
|
mca_configure();
|
||||||
|
|
||||||
/* Enable the local CPU apics */
|
|
||||||
enable_lapic_tpr();
|
enable_lapic_tpr();
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/* Configure Enhanced SpeedStep and Thermal Sensors */
|
/* Configure Enhanced SpeedStep and Thermal Sensors */
|
||||||
configure_misc();
|
configure_misc();
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||||
|
|
||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/x86/mp.h>
|
#include <cpu/x86/mp.h>
|
||||||
#include <cpu/x86/msr.h>
|
#include <cpu/x86/msr.h>
|
||||||
#include <cpu/intel/smm_reloc.h>
|
#include <cpu/intel/smm_reloc.h>
|
||||||
|
@ -103,9 +102,7 @@ void soc_core_init(struct device *cpu)
|
||||||
* every bank. */
|
* every bank. */
|
||||||
mca_configure();
|
mca_configure();
|
||||||
|
|
||||||
/* Enable the local CPU apics */
|
|
||||||
enable_lapic_tpr();
|
enable_lapic_tpr();
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/* Configure c-state interrupt response time */
|
/* Configure c-state interrupt response time */
|
||||||
configure_c_states();
|
configure_c_states();
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||||
|
|
||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/x86/mp.h>
|
#include <cpu/x86/mp.h>
|
||||||
#include <cpu/x86/msr.h>
|
#include <cpu/x86/msr.h>
|
||||||
#include <cpu/intel/smm_reloc.h>
|
#include <cpu/intel/smm_reloc.h>
|
||||||
|
@ -70,9 +69,7 @@ void soc_core_init(struct device *cpu)
|
||||||
* every bank. */
|
* every bank. */
|
||||||
mca_configure();
|
mca_configure();
|
||||||
|
|
||||||
/* Enable the local CPU apics */
|
|
||||||
enable_lapic_tpr();
|
enable_lapic_tpr();
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/* Configure Enhanced SpeedStep and Thermal Sensors */
|
/* Configure Enhanced SpeedStep and Thermal Sensors */
|
||||||
configure_misc();
|
configure_misc();
|
||||||
|
|
|
@ -5,7 +5,6 @@
|
||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
#include <cpu/x86/mtrr.h>
|
#include <cpu/x86/mtrr.h>
|
||||||
#include <cpu/x86/msr.h>
|
#include <cpu/x86/msr.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/x86/mp.h>
|
#include <cpu/x86/mp.h>
|
||||||
#include <cpu/intel/common/common.h>
|
#include <cpu/intel/common/common.h>
|
||||||
#include <cpu/intel/microcode.h>
|
#include <cpu/intel/microcode.h>
|
||||||
|
@ -118,9 +117,7 @@ void soc_core_init(struct device *cpu)
|
||||||
* every bank. */
|
* every bank. */
|
||||||
mca_configure();
|
mca_configure();
|
||||||
|
|
||||||
/* Enable the local CPU apics */
|
|
||||||
enable_lapic_tpr();
|
enable_lapic_tpr();
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/* Configure c-state interrupt response time */
|
/* Configure c-state interrupt response time */
|
||||||
configure_c_states();
|
configure_c_states();
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/x86/mp.h>
|
#include <cpu/x86/mp.h>
|
||||||
#include <cpu/x86/msr.h>
|
#include <cpu/x86/msr.h>
|
||||||
#include <cpu/intel/smm_reloc.h>
|
#include <cpu/intel/smm_reloc.h>
|
||||||
|
@ -76,9 +75,7 @@ void soc_core_init(struct device *cpu)
|
||||||
* every bank. */
|
* every bank. */
|
||||||
mca_configure();
|
mca_configure();
|
||||||
|
|
||||||
/* Enable the local CPU apics */
|
|
||||||
enable_lapic_tpr();
|
enable_lapic_tpr();
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/* Configure Enhanced SpeedStep and Thermal Sensors */
|
/* Configure Enhanced SpeedStep and Thermal Sensors */
|
||||||
configure_misc();
|
configure_misc();
|
||||||
|
|
|
@ -3,7 +3,6 @@
|
||||||
#include <arch/ioapic.h>
|
#include <arch/ioapic.h>
|
||||||
#include <console/console.h>
|
#include <console/console.h>
|
||||||
#include <console/debug.h>
|
#include <console/debug.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/x86/mp.h>
|
#include <cpu/x86/mp.h>
|
||||||
#include <device/pci.h>
|
#include <device/pci.h>
|
||||||
#include <device/pci_ids.h>
|
#include <device/pci_ids.h>
|
||||||
|
@ -181,7 +180,6 @@ static void chip_init(void *data)
|
||||||
override_hpet_ioapic_bdf();
|
override_hpet_ioapic_bdf();
|
||||||
pch_enable_ioapic();
|
pch_enable_ioapic();
|
||||||
pch_lock_dmictl();
|
pch_lock_dmictl();
|
||||||
setup_lapic();
|
|
||||||
p2sb_unhide();
|
p2sb_unhide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,6 @@
|
||||||
#include <cpu/intel/microcode.h>
|
#include <cpu/intel/microcode.h>
|
||||||
#include <cpu/intel/smm_reloc.h>
|
#include <cpu/intel/smm_reloc.h>
|
||||||
#include <cpu/intel/turbo.h>
|
#include <cpu/intel/turbo.h>
|
||||||
#include <cpu/x86/lapic.h>
|
|
||||||
#include <cpu/x86/mp.h>
|
#include <cpu/x86/mp.h>
|
||||||
#include <cpu/x86/mtrr.h>
|
#include <cpu/x86/mtrr.h>
|
||||||
#include <intelblocks/cpulib.h>
|
#include <intelblocks/cpulib.h>
|
||||||
|
@ -78,7 +77,6 @@ static void each_cpu_init(struct device *cpu)
|
||||||
|
|
||||||
printk(BIOS_SPEW, "%s dev: %s, cpu: %d, apic_id: 0x%x\n",
|
printk(BIOS_SPEW, "%s dev: %s, cpu: %d, apic_id: 0x%x\n",
|
||||||
__func__, dev_path(cpu), cpu_index(), cpu->path.apic.apic_id);
|
__func__, dev_path(cpu), cpu_index(), cpu->path.apic.apic_id);
|
||||||
setup_lapic();
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Set HWP base feature, EPP reg enumeration, lock thermal and msr
|
* Set HWP base feature, EPP reg enumeration, lock thermal and msr
|
||||||
|
|
Loading…
Reference in New Issue