diff options
Diffstat (limited to 'sys/powerpc')
-rw-r--r-- | sys/powerpc/aim/clock.c | 6 | ||||
-rw-r--r-- | sys/powerpc/aim/interrupt.c | 7 | ||||
-rw-r--r-- | sys/powerpc/include/clock.h | 2 | ||||
-rw-r--r-- | sys/powerpc/include/cpu.h | 5 | ||||
-rw-r--r-- | sys/powerpc/include/frame.h | 7 | ||||
-rw-r--r-- | sys/powerpc/powerpc/clock.c | 6 | ||||
-rw-r--r-- | sys/powerpc/powerpc/interrupt.c | 7 |
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; |