git: c56de177d282 - main - x86: initialize initial FPU state earlier

Konstantin Belousov kib at FreeBSD.org
Fri May 28 18:39:00 UTC 2021


The branch main has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=c56de177d28295b4b07ad0b17e4faf4f11c9e4f2

commit c56de177d28295b4b07ad0b17e4faf4f11c9e4f2
Author:     Konstantin Belousov <kib at FreeBSD.org>
AuthorDate: 2021-05-27 16:26:10 +0000
Commit:     Konstantin Belousov <kib at FreeBSD.org>
CommitDate: 2021-05-28 18:38:32 +0000

    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).


More information about the dev-commits-src-main mailing list