diff options
Diffstat (limited to 'cpu/mpc8260/interrupts.c')
| -rw-r--r-- | cpu/mpc8260/interrupts.c | 10 | 
1 files changed, 9 insertions, 1 deletions
| diff --git a/cpu/mpc8260/interrupts.c b/cpu/mpc8260/interrupts.c index 90620849a..3c5ef7460 100644 --- a/cpu/mpc8260/interrupts.c +++ b/cpu/mpc8260/interrupts.c @@ -155,7 +155,7 @@ static __inline__ unsigned long get_msr (void)  static __inline__ void set_msr (unsigned long msr)  { -	__asm__ __volatile__ ("mtmsr %0"::"r" (msr)); +	__asm__ __volatile__ ("mtmsr %0;sync;isync"::"r" (msr));  }  static __inline__ unsigned long get_dec (void) @@ -208,6 +208,14 @@ int interrupt_init (void)  	immr->im_intctl.ic_sipnrh = 0xffffffff;  	immr->im_intctl.ic_sipnrl = 0xffffffff; +#ifdef CONFIG_HYMOD +	/* +	 * ensure all external interrupt sources default to trigger on +	 * high-to-low transition (i.e. edge triggered active low) +	 */ +	immr->im_intctl.ic_siexr = -1; +#endif +  	set_dec (decrementer_count);  	set_msr (get_msr () | MSR_EE); |