diff options
| author | Tor Egge <tegge@FreeBSD.org> | 2001-07-17 13:06:47 +0000 |
|---|---|---|
| committer | Tor Egge <tegge@FreeBSD.org> | 2001-07-17 13:06:47 +0000 |
| commit | e55bc0a096c69a91fb079722d2f4c77d8ce55c5d (patch) | |
| tree | 9db33867adba13e31abb7a2baca5bddac8042a63 | |
| parent | 9f81cc840b11e57527a75083c4170734f749729e (diff) | |
Notes
| -rw-r--r-- | sys/amd64/amd64/fpu.c | 19 | ||||
| -rw-r--r-- | sys/amd64/isa/npx.c | 19 | ||||
| -rw-r--r-- | sys/i386/isa/npx.c | 19 |
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 |
