diff --git a/src/system/kernel/arch/x86/arch_cpu.cpp b/src/system/kernel/arch/x86/arch_cpu.cpp index 8a7070b182..34d7b69b12 100644 --- a/src/system/kernel/arch/x86/arch_cpu.cpp +++ b/src/system/kernel/arch/x86/arch_cpu.cpp @@ -213,7 +213,7 @@ x86_get_mtrr(uint32 index, uint64 *_base, uint64 *_length, uint8 *_type) } -static void +extern "C" void init_sse(void) { if (!x86_check_feature(IA32_FEATURE_SSE, FEATURE_COMMON) diff --git a/src/system/kernel/arch/x86/arch_smp.c b/src/system/kernel/arch/x86/arch_smp.c index 1ae0841bf6..3b9f47cde2 100644 --- a/src/system/kernel/arch/x86/arch_smp.c +++ b/src/system/kernel/arch/x86/arch_smp.c @@ -42,6 +42,7 @@ static uint32 sCPUOSIds[B_MAX_CPU_COUNT]; static uint32 sAPICVersions[B_MAX_CPU_COUNT]; extern bool gUsingIOAPIC; +extern void init_sse(void); static uint32 apic_read(uint32 offset) @@ -196,6 +197,8 @@ arch_smp_per_cpu_init(kernel_args *args, int32 cpu) TRACE(("arch_smp_init_percpu: setting up the apic on cpu %ld\n", cpu)); setup_apic(args, cpu); + init_sse(); + return B_OK; }