{
unsigned long flags;
- save_flags (flags);
- cli();
+ local_irq_save(flags);
/* turn off Rx and Tx interrupts */
custom.intena = IF_RBF | IF_TBE;
/* clear any pending interrupt */
custom.intreq = IF_RBF | IF_TBE;
- restore_flags (flags);
+ local_irq_restore(flags);
/*
* set the appropriate directions for the modem control flags,
static void
pplus_halt(void)
{
- unsigned long flags;
- local_irq_disable();
/* set exception prefix high - to the prom */
- save_flags( flags );
- restore_flags( flags|MSR_IP );
+ _nmask_and_or_msr(MSR_EE, MSR_IP);
/* make sure bit 0 (reset) is a 0 */
outb( inb(0x92) & ~1L , 0x92 );
/* If we didn't get it from the residual data, try this. */
if ( res ) {
- unsigned long flags;
-
- save_flags(flags);
-
#define TIMER0_COUNT 0x40
#define TIMER_CONTROL 0x43
/* set timer to periodic mode */
/* wait for calibrate */
while ( calibrate_steps )
;
- restore_flags(flags);
+ local_irq_disable();
free_irq( 0, NULL);
}
}
static void __prep
prep_halt(void)
{
- unsigned long flags;
- local_irq_disable();
/* set exception prefix high - to the prom */
- save_flags( flags );
- restore_flags( flags|MSR_IP );
+ _nmask_and_or_msr(MSR_EE, MSR_IP);
/* make sure bit 0 (reset) is a 0 */
outb( inb(0x92) & ~1L , 0x92 );
prep_power_off(void)
{
if ( _prep_type == _PREP_IBM) {
- unsigned long flags;
- local_irq_disable();
/* set exception prefix high - to the prom */
- save_flags( flags );
- restore_flags( flags|MSR_IP );
+ _nmask_and_or_msr(MSR_EE, MSR_IP);
utah_sig87c750_setbit(21, 5, 1); /* set bit 21.5, "PMEXEC_OFF" */