summaryrefslogtreecommitdiffstats
path: root/sys/powerpc
diff options
context:
space:
mode:
Diffstat (limited to 'sys/powerpc')
-rw-r--r--sys/powerpc/aim/clock.c6
-rw-r--r--sys/powerpc/aim/interrupt.c7
-rw-r--r--sys/powerpc/include/clock.h2
-rw-r--r--sys/powerpc/include/cpu.h5
-rw-r--r--sys/powerpc/include/frame.h7
-rw-r--r--sys/powerpc/powerpc/clock.c6
-rw-r--r--sys/powerpc/powerpc/interrupt.c7
7 files changed, 11 insertions, 29 deletions
diff --git a/sys/powerpc/aim/clock.c b/sys/powerpc/aim/clock.c
index 8d738ec..3bff3dd 100644
--- a/sys/powerpc/aim/clock.c
+++ b/sys/powerpc/aim/clock.c
@@ -183,7 +183,7 @@ resettodr()
}
void
-decr_intr(struct clockframe *frame)
+decr_intr(struct trapframe *frame)
{
u_long tb;
long tick;
@@ -225,10 +225,10 @@ decr_intr(struct clockframe *frame)
*/
#if 0
while (--nticks > 0) {
- hardclock(frame);
+ hardclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
}
#endif
- hardclock(frame);
+ hardclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
}
void
diff --git a/sys/powerpc/aim/interrupt.c b/sys/powerpc/aim/interrupt.c
index 08a43b7..04a4506 100644
--- a/sys/powerpc/aim/interrupt.c
+++ b/sys/powerpc/aim/interrupt.c
@@ -72,7 +72,7 @@ ext_intr_install(void (*new_extint)(void))
powerpc_extintr_handler = new_extint;
}
-extern void decr_intr(struct clockframe *);
+extern void decr_intr(struct trapframe *);
extern void trap(struct trapframe *);
/*
@@ -84,7 +84,6 @@ void
powerpc_interrupt(struct trapframe *framep)
{
struct thread *td;
- struct clockframe ckframe;
td = curthread;
@@ -97,9 +96,7 @@ powerpc_interrupt(struct trapframe *framep)
case EXC_DECR:
atomic_add_int(&td->td_intr_nesting_level, 1);
- ckframe.srr0 = framep->srr0;
- ckframe.srr1 = framep->srr1;
- decr_intr(&ckframe);
+ decr_intr(framep);
atomic_subtract_int(&td->td_intr_nesting_level, 1);
break;
diff --git a/sys/powerpc/include/clock.h b/sys/powerpc/include/clock.h
index fb45259..a0918c9 100644
--- a/sys/powerpc/include/clock.h
+++ b/sys/powerpc/include/clock.h
@@ -19,7 +19,7 @@ int sysbeep(int pitch, int period);
int acquire_timer2(int mode);
int release_timer2(void);
-void decr_intr(struct clockframe *);
+void decr_intr(struct trapframe *);
#endif
diff --git a/sys/powerpc/include/cpu.h b/sys/powerpc/include/cpu.h
index 73a882b..913c910 100644
--- a/sys/powerpc/include/cpu.h
+++ b/sys/powerpc/include/cpu.h
@@ -39,11 +39,6 @@
#include <machine/pcb.h>
#include <machine/psl.h>
-#define CLKF_USERMODE(frame) (((frame)->srr1 & PSL_PR) != 0)
-#define CLKF_BASEPRI(frame) ((frame)->pri == 0)
-#define CLKF_PC(frame) ((frame)->srr0)
-#define CLKF_INTR(frame) ((frame)->depth > 0)
-
#define TRAPF_USERMODE(frame) (((frame)->srr1 & PSL_PR) != 0)
#define TRAPF_PC(frame) ((frame)->srr0)
diff --git a/sys/powerpc/include/frame.h b/sys/powerpc/include/frame.h
index 096ed67..09b7a95 100644
--- a/sys/powerpc/include/frame.h
+++ b/sys/powerpc/include/frame.h
@@ -65,13 +65,6 @@ struct trapframe {
#define FRAMELEN roundup(sizeof(struct trapframe) + 8, 16)
#define trapframe(td) ((td)->td_frame)
-struct clockframe {
- register_t srr1;
- register_t srr0;
- int pri;
- int depth;
-};
-
/*
* Call frame for PowerPC used during fork.
*/
diff --git a/sys/powerpc/powerpc/clock.c b/sys/powerpc/powerpc/clock.c
index 8d738ec..3bff3dd 100644
--- a/sys/powerpc/powerpc/clock.c
+++ b/sys/powerpc/powerpc/clock.c
@@ -183,7 +183,7 @@ resettodr()
}
void
-decr_intr(struct clockframe *frame)
+decr_intr(struct trapframe *frame)
{
u_long tb;
long tick;
@@ -225,10 +225,10 @@ decr_intr(struct clockframe *frame)
*/
#if 0
while (--nticks > 0) {
- hardclock(frame);
+ hardclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
}
#endif
- hardclock(frame);
+ hardclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
}
void
diff --git a/sys/powerpc/powerpc/interrupt.c b/sys/powerpc/powerpc/interrupt.c
index 08a43b7..04a4506 100644
--- a/sys/powerpc/powerpc/interrupt.c
+++ b/sys/powerpc/powerpc/interrupt.c
@@ -72,7 +72,7 @@ ext_intr_install(void (*new_extint)(void))
powerpc_extintr_handler = new_extint;
}
-extern void decr_intr(struct clockframe *);
+extern void decr_intr(struct trapframe *);
extern void trap(struct trapframe *);
/*
@@ -84,7 +84,6 @@ void
powerpc_interrupt(struct trapframe *framep)
{
struct thread *td;
- struct clockframe ckframe;
td = curthread;
@@ -97,9 +96,7 @@ powerpc_interrupt(struct trapframe *framep)
case EXC_DECR:
atomic_add_int(&td->td_intr_nesting_level, 1);
- ckframe.srr0 = framep->srr0;
- ckframe.srr1 = framep->srr1;
- decr_intr(&ckframe);
+ decr_intr(framep);
atomic_subtract_int(&td->td_intr_nesting_level, 1);
break;
OpenPOWER on IntegriCloud