summaryrefslogtreecommitdiffstats
path: root/sys/amd64
diff options
context:
space:
mode:
authortegge <tegge@FreeBSD.org>2001-07-16 06:00:23 +0000
committertegge <tegge@FreeBSD.org>2001-07-16 06:00:23 +0000
commit86220954fbe3c70e15036d5fbfa46a9715a9a955 (patch)
treee1fe870714fe261fe6fa0da1c8c8876c29945d19 /sys/amd64
parent354c502e4cd7d7b5d82890fc7a49d8d556db8959 (diff)
downloadFreeBSD-src-86220954fbe3c70e15036d5fbfa46a9715a9a955.zip
FreeBSD-src-86220954fbe3c70e15036d5fbfa46a9715a9a955.tar.gz
Use PCPU_GET(cpuid) instead of curproc->p_oncpu.
Reviewed by: peter
Diffstat (limited to 'sys/amd64')
-rw-r--r--sys/amd64/amd64/fpu.c18
-rw-r--r--sys/amd64/isa/npx.c18
2 files changed, 18 insertions, 18 deletions
diff --git a/sys/amd64/amd64/fpu.c b/sys/amd64/amd64/fpu.c
index bb1f74b..b073f6b 100644
--- a/sys/amd64/amd64/fpu.c
+++ b/sys/amd64/amd64/fpu.c
@@ -160,8 +160,8 @@ static void npx_intr __P((void *));
#endif
static int npx_probe __P((device_t dev));
static int npx_probe1 __P((device_t dev));
-static void fpusave __P((union savefpu *, u_char));
-static void fpurstor __P((union savefpu *, u_char));
+static void fpusave __P((union savefpu *));
+static void fpurstor __P((union savefpu *));
#ifdef I586_CPU_XXX
static long timezero __P((const char *funcname,
void (*func)(void *buf, size_t len)));
@@ -579,7 +579,7 @@ npxinit(control)
stop_emulating();
fldcw(&control);
if (PCPU_GET(curpcb) != NULL)
- fpusave(&PCPU_GET(curpcb)->pcb_save, curproc->p_oncpu);
+ fpusave(&PCPU_GET(curpcb)->pcb_save);
start_emulating();
critical_exit(savecrit);
}
@@ -881,7 +881,7 @@ npxdna()
* fnsave are broken, so our treatment breaks fnclex if it is the
* first FPU instruction after a context switch.
*/
- fpurstor(&PCPU_GET(curpcb)->pcb_save, curproc->p_oncpu);
+ fpurstor(&PCPU_GET(curpcb)->pcb_save);
critical_exit(s);
return (1);
@@ -916,18 +916,18 @@ npxsave(addr)
{
stop_emulating();
- fpusave(addr, curproc->p_oncpu);
+ fpusave(addr);
start_emulating();
PCPU_SET(npxproc, NULL);
}
static void
-fpusave(addr, oncpu)
+fpusave(addr)
union savefpu *addr;
- u_char oncpu;
{
static struct savexmm svxmm[MAXCPU];
+ u_char oncpu = PCPU_GET(cpuid);
if (!cpu_fxsr)
fnsave(addr);
@@ -938,11 +938,11 @@ fpusave(addr, oncpu)
}
static void
-fpurstor(addr, oncpu)
+fpurstor(addr)
union savefpu *addr;
- u_char oncpu;
{
static struct savexmm svxmm[MAXCPU];
+ u_char oncpu = PCPU_GET(cpuid);
if (!cpu_fxsr)
frstor(addr);
diff --git a/sys/amd64/isa/npx.c b/sys/amd64/isa/npx.c
index bb1f74b..b073f6b 100644
--- a/sys/amd64/isa/npx.c
+++ b/sys/amd64/isa/npx.c
@@ -160,8 +160,8 @@ static void npx_intr __P((void *));
#endif
static int npx_probe __P((device_t dev));
static int npx_probe1 __P((device_t dev));
-static void fpusave __P((union savefpu *, u_char));
-static void fpurstor __P((union savefpu *, u_char));
+static void fpusave __P((union savefpu *));
+static void fpurstor __P((union savefpu *));
#ifdef I586_CPU_XXX
static long timezero __P((const char *funcname,
void (*func)(void *buf, size_t len)));
@@ -579,7 +579,7 @@ npxinit(control)
stop_emulating();
fldcw(&control);
if (PCPU_GET(curpcb) != NULL)
- fpusave(&PCPU_GET(curpcb)->pcb_save, curproc->p_oncpu);
+ fpusave(&PCPU_GET(curpcb)->pcb_save);
start_emulating();
critical_exit(savecrit);
}
@@ -881,7 +881,7 @@ npxdna()
* fnsave are broken, so our treatment breaks fnclex if it is the
* first FPU instruction after a context switch.
*/
- fpurstor(&PCPU_GET(curpcb)->pcb_save, curproc->p_oncpu);
+ fpurstor(&PCPU_GET(curpcb)->pcb_save);
critical_exit(s);
return (1);
@@ -916,18 +916,18 @@ npxsave(addr)
{
stop_emulating();
- fpusave(addr, curproc->p_oncpu);
+ fpusave(addr);
start_emulating();
PCPU_SET(npxproc, NULL);
}
static void
-fpusave(addr, oncpu)
+fpusave(addr)
union savefpu *addr;
- u_char oncpu;
{
static struct savexmm svxmm[MAXCPU];
+ u_char oncpu = PCPU_GET(cpuid);
if (!cpu_fxsr)
fnsave(addr);
@@ -938,11 +938,11 @@ fpusave(addr, oncpu)
}
static void
-fpurstor(addr, oncpu)
+fpurstor(addr)
union savefpu *addr;
- u_char oncpu;
{
static struct savexmm svxmm[MAXCPU];
+ u_char oncpu = PCPU_GET(cpuid);
if (!cpu_fxsr)
frstor(addr);
OpenPOWER on IntegriCloud