From c56de177d28295b4b07ad0b17e4faf4f11c9e4f2 Mon Sep 17 00:00:00 2001 From: Konstantin Belousov Date: Thu, 27 May 2021 19:26:10 +0300 Subject: x86: initialize initial FPU state earlier Make it under SI_SUB_CPU sysinit, instead of much later SI_SUB_DRIVERS. The SI_SUB_DRIVERS survived from times when FPU used real ISA attachment, now it is only pnp stub claiming id. PR: 255997 Reviewed by: jhb Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D30512 --- sys/amd64/amd64/fpu.c | 2 +- sys/i386/i386/npx.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/amd64/amd64/fpu.c b/sys/amd64/amd64/fpu.c index b9723266ea37..20e3dd34405d 100644 --- a/sys/amd64/amd64/fpu.c +++ b/sys/amd64/amd64/fpu.c @@ -495,7 +495,7 @@ fpuinitstate(void *arg __unused) intr_restore(saveintr); } /* EFIRT needs this to be initialized before we can enter our EFI environment */ -SYSINIT(fpuinitstate, SI_SUB_DRIVERS, SI_ORDER_FIRST, fpuinitstate, NULL); +SYSINIT(fpuinitstate, SI_SUB_CPU, SI_ORDER_ANY, fpuinitstate, NULL); /* * Free coprocessor (if we have it). diff --git a/sys/i386/i386/npx.c b/sys/i386/i386/npx.c index 34fd2e957169..4767d8896de9 100644 --- a/sys/i386/i386/npx.c +++ b/sys/i386/i386/npx.c @@ -551,7 +551,7 @@ npxinitstate(void *arg __unused) start_emulating(); intr_restore(saveintr); } -SYSINIT(npxinitstate, SI_SUB_DRIVERS, SI_ORDER_ANY, npxinitstate, NULL); +SYSINIT(npxinitstate, SI_SUB_CPU, SI_ORDER_ANY, npxinitstate, NULL); /* * Free coprocessor (if we have it). -- cgit v1.2.3