summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Egge <tegge@FreeBSD.org>2001-07-17 13:06:47 +0000
committerTor Egge <tegge@FreeBSD.org>2001-07-17 13:06:47 +0000
commite55bc0a096c69a91fb079722d2f4c77d8ce55c5d (patch)
tree9db33867adba13e31abb7a2baca5bddac8042a63
parent9f81cc840b11e57527a75083c4170734f749729e (diff)
Notes
-rw-r--r--sys/amd64/amd64/fpu.c19
-rw-r--r--sys/amd64/isa/npx.c19
-rw-r--r--sys/i386/isa/npx.c19
3 files changed, 15 insertions, 42 deletions
diff --git a/sys/amd64/amd64/fpu.c b/sys/amd64/amd64/fpu.c
index b073f6b78cc6..5e4847f5f5e0 100644
--- a/sys/amd64/amd64/fpu.c
+++ b/sys/amd64/amd64/fpu.c
@@ -564,7 +564,7 @@ void
npxinit(control)
u_short control;
{
- union savefpu dummy;
+ static union savefpu dummy;
critical_t savecrit;
if (!npx_exists)
@@ -926,30 +926,21 @@ static void
fpusave(addr)
union savefpu *addr;
{
- static struct savexmm svxmm[MAXCPU];
- u_char oncpu = PCPU_GET(cpuid);
if (!cpu_fxsr)
fnsave(addr);
- else {
- fxsave(&svxmm[oncpu]);
- bcopy(&svxmm[oncpu], addr, sizeof(struct savexmm));
- }
+ else
+ fxsave(addr);
}
static void
fpurstor(addr)
union savefpu *addr;
{
- static struct savexmm svxmm[MAXCPU];
- u_char oncpu = PCPU_GET(cpuid);
-
if (!cpu_fxsr)
frstor(addr);
- else {
- bcopy(addr, &svxmm[oncpu], sizeof (struct savexmm));
- fxrstor(&svxmm[oncpu]);
- }
+ else
+ fxrstor(addr);
}
#ifdef I586_CPU_XXX
diff --git a/sys/amd64/isa/npx.c b/sys/amd64/isa/npx.c
index b073f6b78cc6..5e4847f5f5e0 100644
--- a/sys/amd64/isa/npx.c
+++ b/sys/amd64/isa/npx.c
@@ -564,7 +564,7 @@ void
npxinit(control)
u_short control;
{
- union savefpu dummy;
+ static union savefpu dummy;
critical_t savecrit;
if (!npx_exists)
@@ -926,30 +926,21 @@ static void
fpusave(addr)
union savefpu *addr;
{
- static struct savexmm svxmm[MAXCPU];
- u_char oncpu = PCPU_GET(cpuid);
if (!cpu_fxsr)
fnsave(addr);
- else {
- fxsave(&svxmm[oncpu]);
- bcopy(&svxmm[oncpu], addr, sizeof(struct savexmm));
- }
+ else
+ fxsave(addr);
}
static void
fpurstor(addr)
union savefpu *addr;
{
- static struct savexmm svxmm[MAXCPU];
- u_char oncpu = PCPU_GET(cpuid);
-
if (!cpu_fxsr)
frstor(addr);
- else {
- bcopy(addr, &svxmm[oncpu], sizeof (struct savexmm));
- fxrstor(&svxmm[oncpu]);
- }
+ else
+ fxrstor(addr);
}
#ifdef I586_CPU_XXX
diff --git a/sys/i386/isa/npx.c b/sys/i386/isa/npx.c
index b073f6b78cc6..5e4847f5f5e0 100644
--- a/sys/i386/isa/npx.c
+++ b/sys/i386/isa/npx.c
@@ -564,7 +564,7 @@ void
npxinit(control)
u_short control;
{
- union savefpu dummy;
+ static union savefpu dummy;
critical_t savecrit;
if (!npx_exists)
@@ -926,30 +926,21 @@ static void
fpusave(addr)
union savefpu *addr;
{
- static struct savexmm svxmm[MAXCPU];
- u_char oncpu = PCPU_GET(cpuid);
if (!cpu_fxsr)
fnsave(addr);
- else {
- fxsave(&svxmm[oncpu]);
- bcopy(&svxmm[oncpu], addr, sizeof(struct savexmm));
- }
+ else
+ fxsave(addr);
}
static void
fpurstor(addr)
union savefpu *addr;
{
- static struct savexmm svxmm[MAXCPU];
- u_char oncpu = PCPU_GET(cpuid);
-
if (!cpu_fxsr)
frstor(addr);
- else {
- bcopy(addr, &svxmm[oncpu], sizeof (struct savexmm));
- fxrstor(&svxmm[oncpu]);
- }
+ else
+ fxrstor(addr);
}
#ifdef I586_CPU_XXX