From f2e49729a0baf1d3bdd3bf9fab3b3737216e7a4a Mon Sep 17 00:00:00 2001 From: tegge Date: Tue, 17 Jul 2001 13:06:47 +0000 Subject: The per-cpu temporary buffers are not needed since the pcb_save areas have the proper alignment. Change dummy variable in npxinit from stack to bss to ensure proper alignment. Reviewed by: bde --- sys/amd64/isa/npx.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) (limited to 'sys/amd64/isa') diff --git a/sys/amd64/isa/npx.c b/sys/amd64/isa/npx.c index b073f6b..5e4847f 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 -- cgit v1.1