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
This commit is contained in:
Tor Egge 2001-07-17 13:06:47 +00:00
parent 9f81cc840b
commit e55bc0a096
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=79824
3 changed files with 15 additions and 42 deletions

View File

@ -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

View File

@ -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

View File

@ -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