On Sun, Jan 24, 2016 at 03:02:29AM +1100, Jonathan Gray wrote:
> On Sat, Jan 23, 2016 at 02:54:58PM +0100, Patrick Wildt wrote:
> > On Sun, Jan 24, 2016 at 12:33:42AM +1100, Jonathan Gray wrote:
> > > On Fri, Jan 22, 2016 at 09:36:49PM +0100, Patrick Wildt wrote:
> > > > Hi,
> > > > 
> > > > the hypervisor mode, which virtualization-enabled boards might boot in,
> > > > is basically a privilege level above the usual SVC mode the kernel is
> > > > running in.  It does not support the full instruction set and we, as
> > > > a "guest" OS, need to step down and run in SVC.  Otherwise we crash
> > > > really early on.
> > > > 
> > > > This diff makes sure the machine jumps from HYP to SVC mode, if it's
> > > > booted in HYP mode.  This should enable us to run on a few more
> > > > current machines.
> > > > 
> > > > If we're ever going to run virtualization on ARM, we will need to
> > > > establish a hyp mode vector table.  For now this is not needed.
> > > > 
> > > > This diff includes the previously sent in processor mode define diff.
> > > 
> > > This seems to be based on the code in FreeBSD?
> > 
> > Yes, this diff is based on the FreeBSD code.
> > 
> > > 
> > > I'd prefer A32_bit for consistency with the other mask bit defines
> > > but otherwise I think this should go in.
> > 
> > I originally had it as A32_bit.  I'm not happy that we have two
> > different naming schemes for bits in the same "register". But for
> > consistency with the mask bits, calling it A32_bit works for me.
> 
> Thanks, committed with the name changed.  We could change the names
> to match FreeBSD.   The diff below does that and is a reminder of
> places that could be using cpsie/cpsid for v7 paths.

I like it. Looks good to me.

> 
> Index: arm/arm/arm32_machdep.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/arm/arm32_machdep.c,v
> retrieving revision 1.47
> diff -u -p -r1.47 arm32_machdep.c
> --- arm/arm/arm32_machdep.c   12 Jan 2015 16:33:31 -0000      1.47
> +++ arm/arm/arm32_machdep.c   23 Jan 2016 15:54:23 -0000
> @@ -204,7 +204,7 @@ bootsync(int howto)
>       bootsyncdone = 1;
>  
>       /* Make sure we can still manage to do things */
> -     if (__get_cpsr() & I32_bit) {
> +     if (__get_cpsr() & PSR_I) {
>               /*
>                * If we get here then boot has been called without RB_NOSYNC
>                * and interrupts were disabled. This means the boot() call
> Index: arm/arm/cpufunc_asm_sa1.S
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/arm/cpufunc_asm_sa1.S,v
> retrieving revision 1.5
> diff -u -p -r1.5 cpufunc_asm_sa1.S
> --- arm/arm/cpufunc_asm_sa1.S 18 Jan 2015 14:55:02 -0000      1.5
> +++ arm/arm/cpufunc_asm_sa1.S 23 Jan 2016 15:54:25 -0000
> @@ -47,7 +47,7 @@
>   */
>  ENTRY(sa1_setttb)
>       mrs     r3, cpsr
> -     orr     r1, r3, #(I32_bit | F32_bit)
> +     orr     r1, r3, #(PSR_I | PSR_F)
>       msr     cpsr_c, r1
>  
>       stmfd   sp!, {r0-r3, lr}
> @@ -132,7 +132,7 @@ _C_LABEL(sa1_cache_clean_size):
>  
>  #define      SA1_CACHE_CLEAN_BLOCK                                           
> \
>       mrs     r3, cpsr                                        ;       \
> -     orr     r0, r3, #(I32_bit | F32_bit)                    ;       \
> +     orr     r0, r3, #(PSR_I | PSR_F)                        ;       \
>       msr     cpsr_c, r0
>  
>  #define      SA1_CACHE_CLEAN_UNBLOCK                                         
> \
> Index: arm/arm/cpufunc_asm_xscale.S
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/arm/cpufunc_asm_xscale.S,v
> retrieving revision 1.6
> diff -u -p -r1.6 cpufunc_asm_xscale.S
> --- arm/arm/cpufunc_asm_xscale.S      18 Jan 2015 14:55:02 -0000      1.6
> +++ arm/arm/cpufunc_asm_xscale.S      23 Jan 2016 15:54:25 -0000
> @@ -129,7 +129,7 @@ ENTRY(xscale_control)
>   */
>  ENTRY(xscale_setttb)
>       mrs     r3, cpsr
> -     orr     r1, r3, #(I32_bit | F32_bit)
> +     orr     r1, r3, #(PSR_I | PSR_F)
>       msr     cpsr_c, r1
>  
>       stmfd   sp!, {r0-r3, lr}
> @@ -245,7 +245,7 @@ _C_LABEL(xscale_cache_clean_size):
>  
>  #define      XSCALE_CACHE_CLEAN_BLOCK                                        
> \
>       mrs     r3, cpsr                                        ;       \
> -     orr     r0, r3, #(I32_bit | F32_bit)                    ;       \
> +     orr     r0, r3, #(PSR_I | PSR_F)                        ;       \
>       msr     cpsr_c, r0
>  
>  #define      XSCALE_CACHE_CLEAN_UNBLOCK                                      
> \
> Index: arm/arm/cpuswitch.S
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/arm/cpuswitch.S,v
> retrieving revision 1.14
> diff -u -p -r1.14 cpuswitch.S
> --- arm/arm/cpuswitch.S       12 Sep 2013 11:43:51 -0000      1.14
> +++ arm/arm/cpuswitch.S       23 Jan 2016 15:54:25 -0000
> @@ -95,12 +95,12 @@
>   */
>  #define IRQdisableALL \
>       mrs     r14, cpsr ; \
> -     orr     r14, r14, #(I32_bit | F32_bit) ; \
> +     orr     r14, r14, #(PSR_I | PSR_F) ; \
>       msr     cpsr_c, r14
>  
>  #define IRQenableALL \
>       mrs     r14, cpsr ; \
> -     bic     r14, r14, #(I32_bit | F32_bit) ; \
> +     bic     r14, r14, #(PSR_I | PSR_F) ; \
>       msr     cpsr_c, r14
>  
>       .text
> @@ -236,7 +236,7 @@ ENTRY(cpu_switchto)
>        */
>          mrs  r3, cpsr
>       bic     r2, r3, #(PSR_MODE)
> -     orr     r2, r2, #(PSR_UND32_MODE | I32_bit)
> +     orr     r2, r2, #(PSR_UND32_MODE | PSR_I)
>          msr  cpsr_c, r2
>  
>  #ifdef notworthit
> @@ -489,7 +489,7 @@ ENTRY(proc_trampoline)
>  
>       /* Kill irq's */
>          mrs     r0, cpsr
> -        orr     r0, r0, #(I32_bit)
> +        orr     r0, r0, #(PSR_I)
>          msr     cpsr_c, r0
>  
>       PULLFRAME
> Index: arm/arm/cpuswitch7.S
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/arm/cpuswitch7.S,v
> retrieving revision 1.3
> diff -u -p -r1.3 cpuswitch7.S
> --- arm/arm/cpuswitch7.S      12 Sep 2013 11:43:51 -0000      1.3
> +++ arm/arm/cpuswitch7.S      23 Jan 2016 15:54:25 -0000
> @@ -95,12 +95,12 @@
>   */
>  #define IRQdisableALL \
>       mrs     r14, cpsr ; \
> -     orr     r14, r14, #(I32_bit | F32_bit) ; \
> +     orr     r14, r14, #(PSR_I | PSR_F) ; \
>       msr     cpsr_c, r14
>  
>  #define IRQenableALL \
>       mrs     r14, cpsr ; \
> -     bic     r14, r14, #(I32_bit | F32_bit) ; \
> +     bic     r14, r14, #(PSR_I | PSR_F) ; \
>       msr     cpsr_c, r14
>  
>       .text
> @@ -230,7 +230,7 @@ ENTRY(cpu_switchto)
>        */
>          mrs  r3, cpsr
>       bic     r2, r3, #(PSR_MODE)
> -     orr     r2, r2, #(PSR_UND32_MODE | I32_bit)
> +     orr     r2, r2, #(PSR_UND32_MODE | PSR_I)
>          msr  cpsr_c, r2
>  
>  #ifdef notworthit
> @@ -434,7 +434,7 @@ ENTRY(proc_trampoline)
>  
>       /* Kill irq's */
>          mrs     r0, cpsr
> -        orr     r0, r0, #(I32_bit)
> +        orr     r0, r0, #(PSR_I)
>          msr     cpsr_c, r0
>  
>       PULLFRAME
> Index: arm/arm/fault.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/arm/fault.c,v
> retrieving revision 1.18
> diff -u -p -r1.18 fault.c
> --- arm/arm/fault.c   16 Nov 2014 12:30:56 -0000      1.18
> +++ arm/arm/fault.c   23 Jan 2016 15:54:25 -0000
> @@ -221,8 +221,8 @@ data_abort_handler(trapframe_t *tf)
>       uvmexp.traps++;
>  
>       /* Re-enable interrupts if they were enabled previously */
> -     if (__predict_true((tf->tf_spsr & I32_bit) == 0))
> -             enable_interrupts(I32_bit);
> +     if (__predict_true((tf->tf_spsr & PSR_I) == 0))
> +             enable_interrupts(PSR_I);
>  
>       /* Get the current proc structure or proc0 if there is none */
>       p = (curproc != NULL) ? curproc : &proc0;
> @@ -665,8 +665,8 @@ prefetch_abort_handler(trapframe_t *tf)
>        * from user mode so we know interrupts were not disabled.
>        * But we check anyway.
>        */
> -     if (__predict_true((tf->tf_spsr & I32_bit) == 0))
> -             enable_interrupts(I32_bit);
> +     if (__predict_true((tf->tf_spsr & PSR_I) == 0))
> +             enable_interrupts(PSR_I);
>  
>       /* Get fault address */
>       p = curproc;
> Index: arm/arm/fiq.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/arm/fiq.c,v
> retrieving revision 1.6
> diff -u -p -r1.6 fiq.c
> --- arm/arm/fiq.c     16 Nov 2014 12:30:56 -0000      1.6
> +++ arm/arm/fiq.c     23 Jan 2016 15:54:25 -0000
> @@ -48,8 +48,8 @@ TAILQ_HEAD(, fiqhandler) fiqhandler_stac
>  extern char fiqvector[];
>  extern char fiq_nullhandler[], fiq_nullhandler_end[];
>  
> -#define      IRQ_BIT         I32_bit
> -#define      FIQ_BIT         F32_bit
> +#define      IRQ_BIT         PSR_I
> +#define      FIQ_BIT         PSR_F
>  
>  /*
>   * fiq_installhandler:
> Index: arm/arm/locore.S
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/arm/locore.S,v
> retrieving revision 1.7
> diff -u -p -r1.7 locore.S
> --- arm/arm/locore.S  5 Jun 2015 05:39:54 -0000       1.7
> +++ arm/arm/locore.S  23 Jan 2016 15:54:26 -0000
> @@ -110,7 +110,7 @@ ENTRY_NP(cpu_reset)
>       mrs     r2, cpsr
>       bic     r2, r2, #(PSR_MODE)
>       orr     r2, r2, #(PSR_SVC32_MODE)
> -     orr     r2, r2, #(I32_bit | F32_bit)
> +     orr     r2, r2, #(PSR_I | PSR_F)
>       msr     cpsr_c, r2
>  
>       ldr     r4, .Lcpu_reset_address
> Index: arm/arm/pmap.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/arm/pmap.c,v
> retrieving revision 1.56
> diff -u -p -r1.56 pmap.c
> --- arm/arm/pmap.c    8 Sep 2015 21:28:36 -0000       1.56
> +++ arm/arm/pmap.c    23 Jan 2016 15:54:27 -0000
> @@ -2858,7 +2858,7 @@ pmap_activate(struct proc *p)
>               }
>  
>               s = splhigh();
> -             disable_interrupts(I32_bit | F32_bit);
> +             disable_interrupts(PSR_I | PSR_F);
>  
>               /*
>                * We MUST, I repeat, MUST fix up the L1 entry corresponding
> @@ -2878,7 +2878,7 @@ pmap_activate(struct proc *p)
>               cpu_domains(pcb->pcb_dacr);
>               cpu_setttb(pcb->pcb_pagedir);
>  
> -             enable_interrupts(I32_bit | F32_bit);
> +             enable_interrupts(PSR_I | PSR_F);
>  
>               /*
>                * Flag any previous userland pmap as being NOT
> @@ -2989,11 +2989,11 @@ pmap_destroy(pmap_t pm)
>                        * number. This will ensure pmap_remove() does not
>                        * pull the current vector page out from under us.
>                        */
> -                     disable_interrupts(I32_bit | F32_bit);
> +                     disable_interrupts(PSR_I | PSR_F);
>                       *pcb->pcb_pl1vec = pcb->pcb_l1vec;
>                       cpu_domains(pcb->pcb_dacr);
>                       cpu_setttb(pcb->pcb_pagedir);
> -                     enable_interrupts(I32_bit | F32_bit);
> +                     enable_interrupts(PSR_I | PSR_F);
>               }
>  
>               /* Remove the vector page mapping */
> Index: arm/arm/pmap7.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/arm/pmap7.c,v
> retrieving revision 1.21
> diff -u -p -r1.21 pmap7.c
> --- arm/arm/pmap7.c   8 Sep 2015 21:28:36 -0000       1.21
> +++ arm/arm/pmap7.c   23 Jan 2016 15:54:28 -0000
> @@ -2177,7 +2177,7 @@ pmap_activate(struct proc *p)
>               }
>  
>               s = splhigh();
> -             disable_interrupts(I32_bit | F32_bit);
> +             disable_interrupts(PSR_I | PSR_F);
>  
>               /*
>                * We MUST, I repeat, MUST fix up the L1 entry corresponding
> @@ -2197,7 +2197,7 @@ pmap_activate(struct proc *p)
>               cpu_domains(pcb->pcb_dacr);
>               cpu_setttb(pcb->pcb_pagedir);
>  
> -             enable_interrupts(I32_bit | F32_bit);
> +             enable_interrupts(PSR_I | PSR_F);
>  
>               splx(s);
>       }
> Index: arm/arm/process_machdep.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/arm/process_machdep.c,v
> retrieving revision 1.4
> diff -u -p -r1.4 process_machdep.c
> --- arm/arm/process_machdep.c 20 Sep 2011 22:02:11 -0000      1.4
> +++ arm/arm/process_machdep.c 23 Jan 2016 15:54:28 -0000
> @@ -135,7 +135,7 @@ process_read_regs(struct proc *p, struct
>  
>  #ifdef DIAGNOSTIC
>       if ((tf->tf_spsr & PSR_MODE) == PSR_USR32_MODE
> -         && tf->tf_spsr & I32_bit)
> +         && tf->tf_spsr & PSR_I)
>               panic("process_read_regs: Interrupts blocked in user process");
>  #endif
>  
> @@ -166,7 +166,7 @@ process_write_regs(struct proc *p, struc
>       tf->tf_spsr |= regs->r_cpsr & PSR_FLAGS;
>  #ifdef DIAGNOSTIC
>       if ((tf->tf_spsr & PSR_MODE) == PSR_USR32_MODE
> -         && tf->tf_spsr & I32_bit)
> +         && tf->tf_spsr & PSR_I)
>               panic("process_write_regs: Interrupts blocked in user process");
>  #endif
>  
> Index: arm/arm/sig_machdep.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/arm/sig_machdep.c,v
> retrieving revision 1.11
> diff -u -p -r1.11 sig_machdep.c
> --- arm/arm/sig_machdep.c     26 Mar 2014 05:23:42 -0000      1.11
> +++ arm/arm/sig_machdep.c     23 Jan 2016 15:54:28 -0000
> @@ -205,7 +205,7 @@ sys_sigreturn(struct proc *p, void *v, r
>        * interrupts have not been disabled.
>        */
>       if ((context.sc_spsr & PSR_MODE) != PSR_USR32_MODE ||
> -         (context.sc_spsr & (I32_bit | F32_bit)) != 0)
> +         (context.sc_spsr & (PSR_I | PSR_F)) != 0)
>               return (EINVAL);
>  
>       /* Restore register context. */
> Index: arm/arm/syscall.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/arm/syscall.c,v
> retrieving revision 1.17
> diff -u -p -r1.17 syscall.c
> --- arm/arm/syscall.c 11 May 2014 00:05:38 -0000      1.17
> +++ arm/arm/syscall.c 23 Jan 2016 15:54:28 -0000
> @@ -104,8 +104,8 @@ swi_handler(trapframe_t *frame)
>       uvmexp.syscalls++;
>  
>       /* Re-enable interrupts if they were enabled previously */
> -     if (__predict_true((frame->tf_spsr & I32_bit) == 0))
> -             enable_interrupts(I32_bit);
> +     if (__predict_true((frame->tf_spsr & PSR_I) == 0))
> +             enable_interrupts(PSR_I);
>  
>       p->p_addr->u_pcb.pcb_tf = frame;
>  
> @@ -153,7 +153,7 @@ swi_handler(trapframe_t *frame)
>               frame->tf_r0 = rval[0];
>               frame->tf_r1 = rval[1];
>  
> -             frame->tf_spsr &= ~PSR_C_bit;   /* carry bit */
> +             frame->tf_spsr &= ~PSR_C;       /* carry bit */
>               break;
>  
>       case ERESTART:
> @@ -170,7 +170,7 @@ swi_handler(trapframe_t *frame)
>       default:
>       bad:
>               frame->tf_r0 = error;
> -             frame->tf_spsr |= PSR_C_bit;    /* carry bit */
> +             frame->tf_spsr |= PSR_C;        /* carry bit */
>               break;
>       }
>  
> @@ -185,7 +185,7 @@ child_return(arg)
>       struct trapframe *frame = p->p_addr->u_pcb.pcb_tf;
>  
>       frame->tf_r0 = 0;
> -     frame->tf_spsr &= ~PSR_C_bit;   /* carry bit */
> +     frame->tf_spsr &= ~PSR_C;       /* carry bit */
>  
>       mi_child_return(p);
>  }
> Index: arm/arm/undefined.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/arm/undefined.c,v
> retrieving revision 1.6
> diff -u -p -r1.6 undefined.c
> --- arm/arm/undefined.c       12 Jul 2014 18:44:41 -0000      1.6
> +++ arm/arm/undefined.c       23 Jan 2016 15:54:28 -0000
> @@ -154,8 +154,8 @@ undefinedinstruction(trapframe_t *frame)
>       union sigval sv;
>  
>       /* Enable interrupts if they were enabled before the exception. */
> -     if (!(frame->tf_spsr & I32_bit))
> -             enable_interrupts(I32_bit);
> +     if (!(frame->tf_spsr & PSR_I))
> +             enable_interrupts(PSR_I);
>  
>       frame->tf_pc -= INSN_SIZE;
>       fault_pc = frame->tf_pc;
> Index: arm/cortex/ampintc.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/cortex/ampintc.c,v
> retrieving revision 1.8
> diff -u -p -r1.8 ampintc.c
> --- arm/cortex/ampintc.c      5 Nov 2015 19:54:17 -0000       1.8
> +++ arm/cortex/ampintc.c      23 Jan 2016 15:54:28 -0000
> @@ -298,7 +298,7 @@ ampintc_attach(struct device *parent, st
>       /* enable interrupts */
>       bus_space_write_4(iot, d_ioh, ICD_DCR, 3);
>       bus_space_write_4(iot, p_ioh, ICPICR, 1);
> -     enable_interrupts(I32_bit);
> +     enable_interrupts(PSR_I);
>  }
>  
>  void
> @@ -325,7 +325,7 @@ ampintc_setipl(int new)
>       int                      psw;
>  
>       /* disable here is only to keep hardware in sync with ci->ci_cpl */
> -     psw = disable_interrupts(I32_bit);
> +     psw = disable_interrupts(PSR_I);
>       ci->ci_cpl = new;
>  
>       /* low values are higher priority thus IPL_HIGH - pri */
> @@ -555,7 +555,7 @@ ampintc_intr_establish(int irqno, int le
>       ih->ih_irq = irqno;
>       ih->ih_name = name;
>  
> -     psw = disable_interrupts(I32_bit);
> +     psw = disable_interrupts(PSR_I);
>  
>       TAILQ_INSERT_TAIL(&sc->sc_ampintc_handler[irqno].iq_list, ih, ih_list);
>  
> @@ -579,7 +579,7 @@ ampintc_intr_disestablish(void *cookie)
>       int psw;
>       struct intrhand *ih = cookie;
>       int irqno = ih->ih_irq;
> -     psw = disable_interrupts(I32_bit);
> +     psw = disable_interrupts(PSR_I);
>       TAILQ_REMOVE(&sc->sc_ampintc_handler[irqno].iq_list, ih, ih_list);
>       if (ih->ih_name != NULL)
>               evcount_detach(&ih->ih_count);
> Index: arm/include/armreg.h
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/include/armreg.h,v
> retrieving revision 1.17
> diff -u -p -r1.17 armreg.h
> --- arm/include/armreg.h      23 Jan 2016 15:38:48 -0000      1.17
> +++ arm/include/armreg.h      23 Jan 2016 15:54:29 -0000
> @@ -63,19 +63,19 @@
>   */
>  
>  #define PSR_FLAGS 0xf0000000 /* flags */
> -#define PSR_N_bit (1U << 31) /* negative */
> -#define PSR_Z_bit (1 << 30)  /* zero */
> -#define PSR_C_bit (1 << 29)  /* carry */
> -#define PSR_V_bit (1 << 28)  /* overflow */
> +#define PSR_N        (1U << 31)      /* negative */
> +#define PSR_Z        (1 << 30)       /* zero */
> +#define PSR_C        (1 << 29)       /* carry */
> +#define PSR_V        (1 << 28)       /* overflow */
>  
> -#define PSR_Q_bit (1 << 27)  /* saturation */
> +#define PSR_Q        (1 << 27)       /* saturation */
>  
> -#define A32_bit (1 << 8)     /* Asynchronous abort disable */
> -#define I32_bit (1 << 7)     /* IRQ disable */
> -#define F32_bit (1 << 6)     /* FIQ disable */
> +#define PSR_A        (1 << 8)        /* Asynchronous abort disable */
> +#define PSR_I        (1 << 7)        /* IRQ disable */
> +#define PSR_F        (1 << 6)        /* FIQ disable */
>  
> -#define PSR_T_bit (1 << 5)   /* Thumb state */
> -#define PSR_J_bit (1 << 24)  /* Java mode */
> +#define PSR_T        (1 << 5)        /* Thumb state */
> +#define PSR_J        (1 << 24)       /* Java mode */
>  
>  #define PSR_MODE     0x0000001f      /* mode mask */
>  #define PSR_USR26_MODE       0x00000000
> Index: arm/include/atomic.h
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/include/atomic.h,v
> retrieving revision 1.12
> diff -u -p -r1.12 atomic.h
> --- arm/include/atomic.h      12 Sep 2015 16:12:50 -0000      1.12
> +++ arm/include/atomic.h      23 Jan 2016 15:54:29 -0000
> @@ -25,7 +25,7 @@ _atomic_cas_uint(volatile unsigned int *
>       unsigned int cpsr;
>       unsigned int rv;
>  
> -     cpsr = disable_interrupts(I32_bit|F32_bit);
> +     cpsr = disable_interrupts(PSR_I|PSR_F);
>       rv = *uip;
>       if (rv == o)
>               *uip = n;
> @@ -41,7 +41,7 @@ _atomic_cas_ulong(volatile unsigned long
>       unsigned int cpsr;
>       unsigned long rv;
>  
> -     cpsr = disable_interrupts(I32_bit|F32_bit);
> +     cpsr = disable_interrupts(PSR_I|PSR_F);
>       rv = *uip;
>       if (rv == o)
>               *uip = n;
> @@ -58,7 +58,7 @@ _atomic_cas_ptr(volatile void *uip, void
>       void * volatile *uipp = (void * volatile *)uip;
>       void *rv;
>  
> -     cpsr = disable_interrupts(I32_bit|F32_bit);
> +     cpsr = disable_interrupts(PSR_I|PSR_F);
>       rv = *uipp;
>       if (rv == o)
>               *uipp = n;
> @@ -74,7 +74,7 @@ _atomic_swap_uint(volatile unsigned int 
>       unsigned int cpsr;
>       unsigned int rv;
>  
> -     cpsr = disable_interrupts(I32_bit|F32_bit);
> +     cpsr = disable_interrupts(PSR_I|PSR_F);
>       rv = *uip;
>       *uip = n;
>       restore_interrupts(cpsr);
> @@ -89,7 +89,7 @@ _atomic_swap_ulong(volatile unsigned lon
>       unsigned int cpsr;
>       unsigned long rv;
>  
> -     cpsr = disable_interrupts(I32_bit|F32_bit);
> +     cpsr = disable_interrupts(PSR_I|PSR_F);
>       rv = *uip;
>       *uip = n;
>       restore_interrupts(cpsr);
> @@ -105,7 +105,7 @@ _atomic_swap_ptr(volatile void *uip, voi
>       void * volatile *uipp = (void * volatile *)uip;
>       void *rv;
>  
> -     cpsr = disable_interrupts(I32_bit|F32_bit);
> +     cpsr = disable_interrupts(PSR_I|PSR_F);
>       rv = *uipp;
>       *uipp = n;
>       restore_interrupts(cpsr);
> @@ -120,7 +120,7 @@ _atomic_add_int_nv(volatile unsigned int
>       unsigned int cpsr;
>       unsigned int rv;
>  
> -     cpsr = disable_interrupts(I32_bit|F32_bit);
> +     cpsr = disable_interrupts(PSR_I|PSR_F);
>       rv = *uip + v;
>       *uip = rv;
>       restore_interrupts(cpsr);
> @@ -135,7 +135,7 @@ _atomic_add_long_nv(volatile unsigned lo
>       unsigned int cpsr;
>       unsigned long rv;
>  
> -     cpsr = disable_interrupts(I32_bit|F32_bit);
> +     cpsr = disable_interrupts(PSR_I|PSR_F);
>       rv = *uip + v;
>       *uip = rv;
>       restore_interrupts(cpsr);
> @@ -150,7 +150,7 @@ _atomic_sub_int_nv(volatile unsigned int
>       unsigned int cpsr;
>       unsigned int rv;
>  
> -     cpsr = disable_interrupts(I32_bit|F32_bit);
> +     cpsr = disable_interrupts(PSR_I|PSR_F);
>       rv = *uip - v;
>       *uip = rv;
>       restore_interrupts(cpsr);
> @@ -165,7 +165,7 @@ _atomic_sub_long_nv(volatile unsigned lo
>       unsigned int cpsr;
>       unsigned long rv;
>  
> -     cpsr = disable_interrupts(I32_bit|F32_bit);
> +     cpsr = disable_interrupts(PSR_I|PSR_F);
>       rv = *uip - v;
>       *uip = rv;
>       restore_interrupts(cpsr);
> @@ -179,7 +179,7 @@ atomic_setbits_int(volatile unsigned int
>  {
>       unsigned int cpsr;
>  
> -     cpsr = disable_interrupts(I32_bit|F32_bit);
> +     cpsr = disable_interrupts(PSR_I|PSR_F);
>       *uip |= v;
>       restore_interrupts(cpsr);
>  }
> @@ -189,7 +189,7 @@ atomic_clearbits_int(volatile unsigned i
>  {
>       unsigned int cpsr;
>  
> -     cpsr = disable_interrupts(I32_bit|F32_bit);
> +     cpsr = disable_interrupts(PSR_I|PSR_F);
>       *uip &= ~v;
>       restore_interrupts(cpsr);
>  }
> Index: arm/include/cpu.h
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/include/cpu.h,v
> retrieving revision 1.39
> diff -u -p -r1.39 cpu.h
> --- arm/include/cpu.h 11 Jul 2014 10:53:07 -0000      1.39
> +++ arm/include/cpu.h 23 Jan 2016 15:54:29 -0000
> @@ -112,20 +112,20 @@ extern int cpu_do_powersave;
>  #define IRQdisable \
>       stmfd   sp!, {r0} ; \
>       mrs     r0, cpsr ; \
> -     orr     r0, r0, #(I32_bit) ; \
> +     orr     r0, r0, #(PSR_I) ; \
>       msr     cpsr_c, r0 ; \
>       ldmfd   sp!, {r0}
>  
>  #define IRQenable \
>       stmfd   sp!, {r0} ; \
>       mrs     r0, cpsr ; \
> -     bic     r0, r0, #(I32_bit) ; \
> +     bic     r0, r0, #(PSR_I) ; \
>       msr     cpsr_c, r0 ; \
>       ldmfd   sp!, {r0}               
>  
>  #else
> -#define IRQdisable __set_cpsr_c(I32_bit, I32_bit);
> -#define IRQenable __set_cpsr_c(I32_bit, 0);
> +#define IRQdisable __set_cpsr_c(PSR_I, PSR_I);
> +#define IRQenable __set_cpsr_c(PSR_I, 0);
>  #endif       /* _LOCORE */
>  
>  #ifndef _LOCORE
> Index: arm/include/cpufunc.h
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/include/cpufunc.h,v
> retrieving revision 1.15
> diff -u -p -r1.15 cpufunc.h
> --- arm/include/cpufunc.h     29 Mar 2014 18:09:28 -0000      1.15
> +++ arm/include/cpufunc.h     23 Jan 2016 15:54:29 -0000
> @@ -501,14 +501,14 @@ __get_cpsr()
>  }
>  
>  #define disable_interrupts(mask)                                     \
> -     (__set_cpsr_c((mask) & (I32_bit | F32_bit), \
> -                   (mask) & (I32_bit | F32_bit)))
> +     (__set_cpsr_c((mask) & (PSR_I | PSR_F), \
> +                   (mask) & (PSR_I | PSR_F)))
>  
>  #define enable_interrupts(mask)                                              
> \
> -     (__set_cpsr_c((mask) & (I32_bit | F32_bit), 0))
> +     (__set_cpsr_c((mask) & (PSR_I | PSR_F), 0))
>  
>  #define restore_interrupts(old_cpsr)                                 \
> -     (__set_cpsr_c((I32_bit | F32_bit), (old_cpsr) & (I32_bit | F32_bit)))
> +     (__set_cpsr_c((PSR_I | PSR_F), (old_cpsr) & (PSR_I | PSR_F)))
>  
>  /*
>   * Functions to manipulate cpu r13
> Index: arm/include/frame.h
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/include/frame.h,v
> retrieving revision 1.6
> diff -u -p -r1.6 frame.h
> --- arm/include/frame.h       18 Jan 2015 16:26:39 -0000      1.6
> +++ arm/include/frame.h       23 Jan 2016 15:54:29 -0000
> @@ -176,8 +176,8 @@ struct frame {
>       teq     r0, #(PSR_USR32_MODE)                                   ;\
>       ldreq   r5, .Laflt_astpending                                   ;\
>       bne     2f                      /* Nope, get out now */         ;\
> -     bic     r4, r4, #(I32_bit)                                      ;\
> -1:   orr     r0, r4, #(I32_bit)      /* Disable IRQs */              ;\
> +     bic     r4, r4, #(PSR_I)                                        ;\
> +1:   orr     r0, r4, #(PSR_I)        /* Disable IRQs */              ;\
>       msr     cpsr_c, r0                                              ;\
>       ldr     r1, [r5]                /* Pending AST? */              ;\
>       teq     r1, #0x00000000                                         ;\
> Index: arm/sa11x0/sa11x0_ost.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/sa11x0/sa11x0_ost.c,v
> retrieving revision 1.8
> diff -u -p -r1.8 sa11x0_ost.c
> --- arm/sa11x0/sa11x0_ost.c   15 May 2008 22:17:08 -0000      1.8
> +++ arm/sa11x0/sa11x0_ost.c   23 Jan 2016 15:54:29 -0000
> @@ -271,7 +271,7 @@ gettick()
>  {
>       int counter;
>       u_int savedints;
> -     savedints = disable_interrupts(I32_bit);
> +     savedints = disable_interrupts(PSR_I);
>  
>       counter = bus_space_read_4(saost_sc->sc_iot, saost_sc->sc_ioh,
>                       SAOST_CR);
> Index: arm/xscale/i80321_clock.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/xscale/i80321_clock.c,v
> retrieving revision 1.10
> diff -u -p -r1.10 i80321_clock.c
> --- arm/xscale/i80321_clock.c 13 Jun 2015 07:16:36 -0000      1.10
> +++ arm/xscale/i80321_clock.c 23 Jan 2016 15:54:29 -0000
> @@ -285,7 +285,7 @@ cpu_initclocks()
>               int new_tps;
>               int tps_diff;
>  
> -             psw = disable_interrupts(I32_bit);
> +             psw = disable_interrupts(PSR_I);
>  
>               first_sec =  rtctime.tv_sec;
>               do {
> Index: arm/xscale/i80321_intr.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/xscale/i80321_intr.c,v
> retrieving revision 1.16
> diff -u -p -r1.16 i80321_intr.c
> --- arm/xscale/i80321_intr.c  3 Apr 2014 10:17:34 -0000       1.16
> +++ arm/xscale/i80321_intr.c  23 Jan 2016 15:54:30 -0000
> @@ -104,7 +104,7 @@ i80321intc_setipl(int new)
>  {
>       int psw;
>  
> -     psw = disable_interrupts(I32_bit);
> +     psw = disable_interrupts(PSR_I);
>       current_ipl_level = new;
>       i80321intc_write_intctl(i80321intc_imask[new]);
>       restore_interrupts(psw);
> @@ -177,7 +177,7 @@ i80321intc_do_pending(void)
>       static int processing = 0;
>       int oldirqstate, spl_save;
>  
> -     oldirqstate = disable_interrupts(I32_bit);
> +     oldirqstate = disable_interrupts(PSR_I);
>  
>       spl_save = current_ipl_level;
>  
> @@ -194,7 +194,7 @@ i80321intc_do_pending(void)
>                       i80321intc_setipl(ipl);                         \
>               restore_interrupts(oldirqstate);                        \
>               softintr_dispatch(si);                                  \
> -             oldirqstate = disable_interrupts(I32_bit);              \
> +             oldirqstate = disable_interrupts(PSR_I);                \
>               i80321intc_setipl(spl_save);                            \
>       }
>  
> @@ -253,7 +253,7 @@ _setsoftintr(int si)
>  {
>       int oldirqstate;
>  
> -        oldirqstate = disable_interrupts(I32_bit);
> +        oldirqstate = disable_interrupts(PSR_I);
>       softint_pending |= SI_TO_IRQBIT(si);
>       restore_interrupts(oldirqstate);
>  
> @@ -296,7 +296,7 @@ i80321intc_init(void)
>       i80321intc_calc_mask();
>        
>       /* Enable IRQs (don't yet use FIQs). */
> -     enable_interrupts(I32_bit);
> +     enable_interrupts(PSR_I);
>  }
>  
>  void *
> @@ -328,7 +328,7 @@ i80321_intr_establish(int irq, int ipl, 
>       /* All IOP321 interrupts are level-triggered. */
>       iq->iq_ist = IST_LEVEL;
>  
> -     oldirqstate = disable_interrupts(I32_bit);
> +     oldirqstate = disable_interrupts(PSR_I);
>       
>       TAILQ_INSERT_TAIL(&iq->iq_list, ih, ih_list);
>   
> @@ -347,7 +347,7 @@ i80321_intr_disestablish(void *cookie)  
>       struct intrq *iq = &i80321_handler[ih->ih_irq];
>       int oldirqstate;
>               
> -     oldirqstate = disable_interrupts(I32_bit);
> +     oldirqstate = disable_interrupts(PSR_I);
>  
>       TAILQ_REMOVE(&iq->iq_list, ih, ih_list);
>       if (ih->ih_name != NULL)
> @@ -380,14 +380,14 @@ i80321_irq_handler(void *arg)
>                       i80321intc_setipl(i80321_handler[irq].iq_irq);
>  
>               /* Enable interrupt */
> -             enable_interrupts(I32_bit);
> +             enable_interrupts(PSR_I);
>               TAILQ_FOREACH(ih, &i80321_handler[irq].iq_list, ih_list) {
>                       if ((ih->ih_func)( ih->ih_arg == 0
>                           ? frame : ih->ih_arg))
>                               ih->ih_count.ec_count++;
>               }
>               /* Disable interrupt */
> -             disable_interrupts(I32_bit);
> +             disable_interrupts(PSR_I);
>               hwpend &= ~(1<<irq);
>       }
>       uvmexp.intrs++;
> Index: arm/xscale/i80321_pci.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/xscale/i80321_pci.c,v
> retrieving revision 1.4
> diff -u -p -r1.4 i80321_pci.c
> --- arm/xscale/i80321_pci.c   4 Dec 2010 17:06:31 -0000       1.4
> +++ arm/xscale/i80321_pci.c   23 Jan 2016 15:54:30 -0000
> @@ -67,7 +67,7 @@ int         i80321_pci_conf_size(void *, pcitag
>  pcireg_t     i80321_pci_conf_read(void *, pcitag_t, int);
>  void         i80321_pci_conf_write(void *, pcitag_t, int, pcireg_t);
>  
> -#define      PCI_CONF_LOCK(s)        (s) = disable_interrupts(I32_bit)
> +#define      PCI_CONF_LOCK(s)        (s) = disable_interrupts(PSR_I)
>  #define      PCI_CONF_UNLOCK(s)      restore_interrupts((s))
>  
>  void
> Index: arm/xscale/pxa2x0.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/xscale/pxa2x0.c,v
> retrieving revision 1.19
> diff -u -p -r1.19 pxa2x0.c
> --- arm/xscale/pxa2x0.c       18 Oct 2014 12:21:56 -0000      1.19
> +++ arm/xscale/pxa2x0.c       23 Jan 2016 15:54:30 -0000
> @@ -285,7 +285,7 @@ pxaip_measure_cpuclock(struct pxaip_soft
>       int irq;
>  
>       ioh = sc->sc_bush_rtc;
> -     irq = disable_interrupts(I32_bit|F32_bit);
> +     irq = disable_interrupts(PSR_I|PSR_F);
>  
>       __asm volatile( "mrc p14, 0, %0, c0, c1, 0" : "=r" (pmcr_save));
>       /* Enable clock counter */
> Index: arm/xscale/pxa2x0_apm.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/xscale/pxa2x0_apm.c,v
> retrieving revision 1.43
> diff -u -p -r1.43 pxa2x0_apm.c
> --- arm/xscale/pxa2x0_apm.c   20 Sep 2014 09:28:24 -0000      1.43
> +++ arm/xscale/pxa2x0_apm.c   23 Jan 2016 15:54:31 -0000
> @@ -900,7 +900,7 @@ pxa2x0_apm_sleep(struct pxa2x0_apm_softc
>               goto out;
>       }
>  
> -     save = disable_interrupts(I32_bit|F32_bit);
> +     save = disable_interrupts(PSR_I|PSR_F);
>  
>       sd.sd_oscr0 = bus_space_read_4(sc->sc_iot, ost_ioh, OST_OSCR0);
>       sd.sd_oscr4 = bus_space_read_4(sc->sc_iot, ost_ioh, OST_OSCR4);
> @@ -1483,7 +1483,7 @@ pxa2x0_setperf(int speed)
>       DPRINTF(("setperf speed %d newfreq %d, maxfreq %d\n",
>           speed, newfreq, xscale_maxspeed));
>  
> -     s = disable_interrupts(I32_bit|F32_bit);
> +     s = disable_interrupts(PSR_I|PSR_F);
>  
>       if (newfreq == 91) {
>               if (freq > 91) {
> Index: arm/xscale/pxa2x0_apm_asm.S
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/xscale/pxa2x0_apm_asm.S,v
> retrieving revision 1.4
> diff -u -p -r1.4 pxa2x0_apm_asm.S
> --- arm/xscale/pxa2x0_apm_asm.S       2 Nov 2007 05:18:25 -0000       1.4
> +++ arm/xscale/pxa2x0_apm_asm.S       23 Jan 2016 15:54:31 -0000
> @@ -166,31 +166,31 @@ ENTRY(pxa2x0_cpu_suspend)
>       str     r2, [r3], #4            /* Save SVC saved CPSR. */
>       str     sp, [r3], #4            /* Save SVC stack pointer. */
>  
> -     mov     r1, #(PSR_FIQ32_MODE | I32_bit | F32_bit)
> +     mov     r1, #(PSR_FIQ32_MODE | PSR_I | PSR_F)
>       msr     cpsr, r1                /* Enter FIQ mode. */
>       mrs     r2, spsr                /* Load FIQ mode saved CPSR. */
>       stmia   r3!, {r2, r8-r12, sp, lr} /* Save FIQ mode registers. */
>  
> -     mov     r1, #(PSR_IRQ32_MODE | I32_bit | F32_bit)
> +     mov     r1, #(PSR_IRQ32_MODE | PSR_I | PSR_F)
>       msr     cpsr, r1                /* Enter IRQ mode. */
>       mrs     r0, spsr                /* Load IRQ mode saved CPSR. */
>       stmia   r3!, {r0, sp, lr}       /* Save IRQ mode registers. */
>  
> -     mov     r1, #(PSR_ABT32_MODE | I32_bit | F32_bit)
> +     mov     r1, #(PSR_ABT32_MODE | PSR_I | PSR_F)
>       msr     cpsr, r1                /* Enter ABT mode. */
>       mrs     r0, spsr                /* Load ABT mode saved CPSR. */
>       stmia   r3!, {r0, sp, lr}       /* Save ABT mode registers. */
>  
> -     mov     r1, #(PSR_UND32_MODE | I32_bit | F32_bit)
> +     mov     r1, #(PSR_UND32_MODE | PSR_I | PSR_F)
>       msr     cpsr, r1                /* Enter UND mode. */
>       mrs     r0, spsr                /* Load UND mode saved CPSR. */
>       stmia   r3!, {r0, sp, lr}       /* Save UND mode registers. */
>  
> -     mov     r1, #(PSR_SYS32_MODE | I32_bit | F32_bit)
> +     mov     r1, #(PSR_SYS32_MODE | PSR_I | PSR_F)
>       msr     cpsr, r1                /* Enter SYS mode. */
>       stmia   r3!, {sp, lr}           /* Save SYS mode registers. */
>  
> -     mov     r1, #(PSR_SVC32_MODE | I32_bit | F32_bit)
> +     mov     r1, #(PSR_SVC32_MODE | PSR_I | PSR_F)
>       msr     cpsr, r1                /* Return to SVC mode. */
>  
>       /* At this point all critical registers have been saved. */
> @@ -211,14 +211,14 @@ ENTRY(pxa2x0_cpu_suspend)
>  
>  cache_flush_loop:
>       mrs     r2, cpsr
> -     orr     r2, r2, #(I32_bit|F32_bit)
> +     orr     r2, r2, #(PSR_I|PSR_F)
>       msr     cpsr_c, r2              /* disable IRQ/FIQ */
>  
>       mcr     p15, 0, r0, c7, c2, 5   /* allocate cache line */
>       mcr     p15, 0, r0, c7, c6, 1   /* flush D cache single entry */
>  
>       mrs     r2, cpsr
> -     and     r2, r2, #~(I32_bit|F32_bit)
> +     and     r2, r2, #~(PSR_I|PSR_F)
>       msr     cpsr_c, r2              /* enable IRQ/FIQ */
>  
>       add     r0, r0, #CACHELINESIZE
> @@ -329,7 +329,7 @@ pxa2x0_cpu_resume_virt:
>       ldr     sp, [r2], #4
>  
>       /* Restore FIQ mode registers. */
> -     mov     r1, #(PSR_FIQ32_MODE | I32_bit | F32_bit)
> +     mov     r1, #(PSR_FIQ32_MODE | PSR_I | PSR_F)
>       msr     cpsr, r1
>       ldr     r0, [r2], #4
>       msr     spsr, r0
> @@ -342,7 +342,7 @@ pxa2x0_cpu_resume_virt:
>       ldr     lr, [r2], #4
>  
>       /* Restore IRQ mode registers. */
> -     mov     r1, #(PSR_IRQ32_MODE | I32_bit | F32_bit)
> +     mov     r1, #(PSR_IRQ32_MODE | PSR_I | PSR_F)
>       msr     cpsr, r1
>       ldr     r0, [r2], #4
>       msr     spsr, r0
> @@ -350,7 +350,7 @@ pxa2x0_cpu_resume_virt:
>       ldr     lr, [r2], #4
>  
>       /* Restore ABT mode registers. */
> -     mov     r1, #(PSR_ABT32_MODE | I32_bit | F32_bit)
> +     mov     r1, #(PSR_ABT32_MODE | PSR_I | PSR_F)
>       msr     cpsr, r1
>       ldr     r0, [r2], #4
>       msr     spsr, r0
> @@ -358,7 +358,7 @@ pxa2x0_cpu_resume_virt:
>       ldr     lr, [r2], #4
>  
>       /* Restore UND mode registers. */
> -     mov     r1, #(PSR_UND32_MODE | I32_bit | F32_bit)
> +     mov     r1, #(PSR_UND32_MODE | PSR_I | PSR_F)
>       msr     cpsr, r1
>       ldr     r0, [r2], #4
>       msr     spsr, r0
> @@ -366,13 +366,13 @@ pxa2x0_cpu_resume_virt:
>       ldr     lr, [r2], #4
>  
>       /* Restore SYS mode registers. */
> -     mov     r1, #(PSR_SYS32_MODE | I32_bit | F32_bit)
> +     mov     r1, #(PSR_SYS32_MODE | PSR_I | PSR_F)
>       msr     cpsr, r1
>       ldr     sp, [r2], #4
>       ldr     lr, [r2], #4
>  
>       /* Return to SVC mode. */
> -     mov     r1, #(PSR_SVC32_MODE | I32_bit | F32_bit)
> +     mov     r1, #(PSR_SVC32_MODE | PSR_I | PSR_F)
>       msr     cpsr, r1
>  
>       ldmia   sp!, {r0-r12, pc}
> Index: arm/xscale/pxa2x0_gpio.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/xscale/pxa2x0_gpio.c,v
> retrieving revision 1.24
> diff -u -p -r1.24 pxa2x0_gpio.c
> --- arm/xscale/pxa2x0_gpio.c  12 Jul 2014 18:44:41 -0000      1.24
> +++ arm/xscale/pxa2x0_gpio.c  23 Jan 2016 15:54:31 -0000
> @@ -338,7 +338,7 @@ void
>  pxa2x0_gpio_intr_fixup(int minipl, int maxipl)
>  {
>       struct pxagpio_softc *sc = pxagpio_softc;
> -     int save = disable_interrupts(I32_bit);
> +     int save = disable_interrupts(PSR_I);
>  
>       if (maxipl == IPL_NONE  && minipl == IPL_HIGH) {
>               /* no remaining interrupts */
> Index: arm/xscale/pxa2x0_intr.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/xscale/pxa2x0_intr.c,v
> retrieving revision 1.26
> diff -u -p -r1.26 pxa2x0_intr.c
> --- arm/xscale/pxa2x0_intr.c  12 Jul 2014 18:44:41 -0000      1.26
> +++ arm/xscale/pxa2x0_intr.c  23 Jan 2016 15:54:32 -0000
> @@ -158,7 +158,7 @@ pxaintc_attach(struct device *parent, st
>       pxa2x0_init_interrupt_masks();
>  
>       _splraise(IPL_HIGH);
> -     enable_interrupts(I32_bit);
> +     enable_interrupts(PSR_I);
>  }
>  
>  /*
> @@ -219,7 +219,7 @@ pxa2x0_irq_handler(void *arg)
>                       pxa2x0_setipl(extirq_level[irqno]);
>  
>               /* Enable interrupt */
> -             enable_interrupts(I32_bit);
> +             enable_interrupts(PSR_I);
>  
>  #ifndef MULTIPLE_HANDLERS_ON_ONE_IRQ
>               (* handler[irqno].func)( 
> @@ -235,7 +235,7 @@ pxa2x0_irq_handler(void *arg)
>  #endif
>               
>               /* Disable interrupt */
> -             disable_interrupts(I32_bit);
> +             disable_interrupts(PSR_I);
>  
>               irqbits &= ~(1<<irqno);
>       }
> @@ -254,7 +254,7 @@ pxa2x0_stray_interrupt(void *cookie)
>       printf("stray interrupt %d\n", irqno);
>  
>       if (PXA2X0_IRQ_MIN <= irqno && irqno < ICU_LEN){
> -             int save = disable_interrupts(I32_bit);
> +             int save = disable_interrupts(PSR_I);
>               write_icu(SAIPIC_MR,
>                   read_icu(SAIPIC_MR) & ~(1U<<irqno));
>               restore_interrupts(save);
> @@ -289,7 +289,7 @@ pxa2x0_update_intr_masks(int irqno, int 
>       int level;
>  #endif
>       struct intrhand *ih;
> -     psw = disable_interrupts(I32_bit);
> +     psw = disable_interrupts(PSR_I);
>  
>       /* First figure out which levels each IRQ uses. */
>       for (irq = 0; irq < ICU_LEN; irq++) {
> @@ -339,7 +339,7 @@ pxa2x0_update_intr_masks(int irqno, int 
>       int level; /* debug */
>       int mask = 1U<<irqno;
>       int i;
> -     psw = disable_interrupts(I32_bit);
> +     psw = disable_interrupts(PSR_I);
>  
>       for(i = 0; i < irqlevel; ++i)
>               pxa2x0_imask[i] |= mask; /* Enable interrupt at lower level */
> @@ -456,7 +456,7 @@ pxa2x0_do_pending(void)
>  
>       spl_save = current_spl_level;
>  
> -     oldirqstate = disable_interrupts(I32_bit);
> +     oldirqstate = disable_interrupts(PSR_I);
>  
>  #if 1
>  #define      DO_SOFTINT(si,ipl)                                              
> \
> @@ -467,7 +467,7 @@ pxa2x0_do_pending(void)
>                       pxa2x0_setipl(ipl);                             \
>               restore_interrupts(oldirqstate);                        \
>               softintr_dispatch(si);                                  \
> -             oldirqstate = disable_interrupts(I32_bit);              \
> +             oldirqstate = disable_interrupts(PSR_I);                \
>               pxa2x0_setipl(spl_save);                                \
>       }
>  
> @@ -484,7 +484,7 @@ pxa2x0_do_pending(void)
>                       pxa2x0_setipl(ipl);
>               restore_interrupts(oldirqstate);
>               softintr_dispatch(si);
> -             oldirqstate = disable_interrupts(I32_bit);
> +             oldirqstate = disable_interrupts(PSR_I);
>               pxa2x0_setipl(spl_save);
>       }
>  #endif
> @@ -541,7 +541,7 @@ pxa2x0_intr_establish(int irqno, int lev
>       if (irqno < PXA2X0_IRQ_MIN || irqno >= ICU_LEN)
>               panic("intr_establish: bogus irq number %d", irqno);
>  
> -     psw = disable_interrupts(I32_bit);
> +     psw = disable_interrupts(PSR_I);
>  
>  #ifdef MULTIPLE_HANDLERS_ON_ONE_IRQ
>       /* no point in sleeping unless someone can free memory. */
> @@ -587,7 +587,7 @@ pxa2x0_intr_disestablish(void *cookie)
>       struct intrhand *ih = cookie;
>       int irqno =  ih->ih_irq;
>  
> -     psw = disable_interrupts(I32_bit);
> +     psw = disable_interrupts(PSR_I);
>       TAILQ_REMOVE(&handler[irqno].list, ih, ih_list);
>  
>       free(ih, M_DEVBUF, 0);
> @@ -605,7 +605,7 @@ pxa2x0_intr_disestablish(void *cookie)
>       if (irqno < PXA2X0_IRQ_MIN || irqno >= ICU_LEN)
>               panic("intr_disestablish: bogus irq number %d", irqno);
>  
> -     psw = disable_interrupts(I32_bit);
> +     psw = disable_interrupts(PSR_I);
>  
>       ih = &handler[irqno];
>       if (ih->name != NULL)
> @@ -648,7 +648,7 @@ pxa2x0_splx(int new)
>  {
>       int psw;
>  
> -     psw = disable_interrupts(I32_bit);
> +     psw = disable_interrupts(PSR_I);
>       pxa2x0_setipl(new);
>       restore_interrupts(psw);
>  
> @@ -665,7 +665,7 @@ pxa2x0_splraise(int ipl)
>  
>       old = current_spl_level;
>       if( ipl > current_spl_level ){
> -             psw = disable_interrupts(I32_bit);
> +             psw = disable_interrupts(PSR_I);
>               pxa2x0_setipl(ipl);
>               restore_interrupts(psw);
>       }
> @@ -677,7 +677,7 @@ int
>  pxa2x0_spllower(int ipl)
>  {
>       int old = current_spl_level;
> -     int psw = disable_interrupts(I32_bit);
> +     int psw = disable_interrupts(PSR_I);
>       pxa2x0_splx(ipl);
>       restore_interrupts(psw);
>       return(old);
> @@ -723,7 +723,7 @@ pxa2x0_splassert_check(int wantipl, cons
>                * If the splassert_ctl is set to not panic, raise the ipl
>                * in a feeble attempt to reduce damage.
>                */
> -             psw = disable_interrupts(I32_bit);
> +             psw = disable_interrupts(PSR_I);
>               pxa2x0_setipl(wantipl);
>               restore_interrupts(psw);
>       }
> Index: arm/xscale/pxa2x0_lcd.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/arm/xscale/pxa2x0_lcd.c,v
> retrieving revision 1.26
> diff -u -p -r1.26 pxa2x0_lcd.c
> --- arm/xscale/pxa2x0_lcd.c   12 Jul 2014 18:44:41 -0000      1.26
> +++ arm/xscale/pxa2x0_lcd.c   23 Jan 2016 15:54:32 -0000
> @@ -292,7 +292,7 @@ pxa2x0_lcd_start_dma(bus_space_tag_t iot
>       uint32_t tmp;
>       int val, save;
>  
> -     save = disable_interrupts(I32_bit);
> +     save = disable_interrupts(PSR_I);
>  
>       switch (scr->depth) {
>       case 1: val = 0; break;
> Index: armv7/armv7/armv7_start.S
> ===================================================================
> RCS file: /cvs/src/sys/arch/armv7/armv7/armv7_start.S,v
> retrieving revision 1.4
> diff -u -p -r1.4 armv7_start.S
> --- armv7/armv7/armv7_start.S 23 Jan 2016 15:38:48 -0000      1.4
> +++ armv7/armv7/armv7_start.S 23 Jan 2016 15:54:33 -0000
> @@ -102,7 +102,7 @@ _C_LABEL(bootstrap_start):
>       mrs     r0, cpsr
>       bic     r0, r0, #(PSR_MODE)
>       orr     r0, r0, #(PSR_SVC32_MODE)
> -     orr     r0, r0, #(I32_bit | F32_bit | A32_bit)
> +     orr     r0, r0, #(PSR_I | PSR_F | PSR_A)
>       msr     spsr_fsxc, r0
>       adr     lr, 1f
>       ELR
> Index: armv7/armv7/intr.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/armv7/armv7/intr.c,v
> retrieving revision 1.3
> diff -u -p -r1.3 intr.c
> --- armv7/armv7/intr.c        13 Jun 2015 07:16:37 -0000      1.3
> +++ armv7/armv7/intr.c        23 Jan 2016 15:54:33 -0000
> @@ -151,7 +151,7 @@ arm_setsoftintr(int si)
>       int oldirqstate;
>  
>       /* XXX atomic? */
> -     oldirqstate = disable_interrupts(I32_bit);
> +     oldirqstate = disable_interrupts(PSR_I);
>       ci->ci_ipending |= SI_TO_IRQBIT(si);
>  
>       restore_interrupts(oldirqstate);
> @@ -168,7 +168,7 @@ arm_do_pending_intr(int pcpl)
>       static int processing = 0;
>       int oldirqstate;
>  
> -     oldirqstate = disable_interrupts(I32_bit);
> +     oldirqstate = disable_interrupts(PSR_I);
>  
>       if (processing == 1) {
>               /* Don't use splx... we are here already! */
> @@ -184,7 +184,7 @@ arm_do_pending_intr(int pcpl)
>               arm_intr_func.setipl(ipl);                              \
>               restore_interrupts(oldirqstate);                        \
>               softintr_dispatch(si);                                  \
> -             oldirqstate = disable_interrupts(I32_bit);              \
> +             oldirqstate = disable_interrupts(PSR_I);                \
>       }
>  
>       do {
> Index: armv7/omap/intc.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/armv7/omap/intc.c,v
> retrieving revision 1.3
> diff -u -p -r1.3 intc.c
> --- armv7/omap/intc.c 12 Jul 2014 18:44:41 -0000      1.3
> +++ armv7/omap/intc.c 23 Jan 2016 15:54:34 -0000
> @@ -170,7 +170,7 @@ intc_attach(struct device *parent, struc
>           intc_irq_handler);
>  
>       intc_setipl(IPL_HIGH);  /* XXX ??? */
> -     enable_interrupts(I32_bit);
> +     enable_interrupts(PSR_I);
>  }
>  
>  void
> @@ -269,7 +269,7 @@ intc_setipl(int new)
>       if (intc_attached == 0)
>               return;
>  
> -     psw = disable_interrupts(I32_bit);
> +     psw = disable_interrupts(PSR_I);
>  #if 0
>       {
>               volatile static int recursed = 0;
> @@ -342,7 +342,7 @@ intc_intr_establish(int irqno, int level
>       if (irqno < 0 || irqno >= INTC_NUM_IRQ)
>               panic("intc_intr_establish: bogus irqnumber %d: %s",
>                    irqno, name);
> -     psw = disable_interrupts(I32_bit);
> +     psw = disable_interrupts(PSR_I);
>  
>       /* no point in sleeping unless someone can free memory. */
>       ih = (struct intrhand *)malloc (sizeof *ih, M_DEVBUF,
> @@ -376,7 +376,7 @@ intc_intr_disestablish(void *cookie)
>       int psw;
>       struct intrhand *ih = cookie;
>       int irqno = ih->ih_irq;
> -     psw = disable_interrupts(I32_bit);
> +     psw = disable_interrupts(PSR_I);
>       TAILQ_REMOVE(&intc_handler[irqno].iq_list, ih, ih_list);
>       if (ih->ih_name != NULL)
>               evcount_detach(&ih->ih_count);
> Index: armv7/omap/omgpio.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/armv7/omap/omgpio.c,v
> retrieving revision 1.5
> diff -u -p -r1.5 omgpio.c
> --- armv7/omap/omgpio.c       14 Jul 2014 08:55:07 -0000      1.5
> +++ armv7/omap/omgpio.c       23 Jan 2016 15:54:36 -0000
> @@ -621,7 +621,7 @@ omgpio_intr_establish(struct omgpio_soft
>                   gpio, sc->sc_handlers[GPIO_PIN_TO_OFFSET(gpio)]->ih_name,
>                   name);
>  
> -     psw = disable_interrupts(I32_bit);
> +     psw = disable_interrupts(PSR_I);
>  
>       /* no point in sleeping unless someone can free memory. */
>       ih = (struct intrhand *)malloc( sizeof *ih, M_DEVBUF,
> @@ -656,7 +656,7 @@ omgpio_intr_disestablish(struct omgpio_s
>       struct intrhand *ih = cookie;
>       struct omgpio_softc *sc = 
> omgpio_cd.cd_devs[GPIO_PIN_TO_INST(ih->ih_gpio)];
>       int gpio = ih->ih_gpio;
> -     psw = disable_interrupts(I32_bit);
> +     psw = disable_interrupts(PSR_I);
>  
>       ih = sc->sc_handlers[GPIO_PIN_TO_OFFSET(gpio)];
>       sc->sc_handlers[GPIO_PIN_TO_OFFSET(gpio)] = NULL;
> Index: armv7/sunxi/a1xintc.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/armv7/sunxi/a1xintc.c,v
> retrieving revision 1.6
> diff -u -p -r1.6 a1xintc.c
> --- armv7/sunxi/a1xintc.c     20 May 2015 03:49:23 -0000      1.6
> +++ armv7/sunxi/a1xintc.c     23 Jan 2016 15:54:36 -0000
> @@ -194,7 +194,7 @@ a1xintc_attach(struct device *parent, st
>           a1xintc_intr_establish, a1xintc_intr_disestablish, 
> a1xintc_intr_string,
>           a1xintc_irq_handler);
>       a1xintc_setipl(IPL_HIGH);  /* XXX ??? */
> -     enable_interrupts(I32_bit);
> +     enable_interrupts(PSR_I);
>       printf("\n");
>  }
>  
> @@ -297,7 +297,7 @@ a1xintc_setipl(int new)
>               return;
>       }
>  #endif
> -     psw = disable_interrupts(I32_bit);
> +     psw = disable_interrupts(PSR_I);
>       ci->ci_cpl = new;
>       for (i = 0; i < NBANKS; i++)
>               bus_space_write_4(a1xintc_iot, a1xintc_ioh,
> @@ -365,7 +365,7 @@ a1xintc_intr_establish(int irq, int lvl,
>       DPRINTF(("intr_establish: irq %d level %d [%s]\n", irq, lvl,
>           name != NULL ? name : "NULL"));
>  
> -     psw = disable_interrupts(I32_bit);
> +     psw = disable_interrupts(PSR_I);
>  
>       /* no point in sleeping unless someone can free memory. */
>       ih = (struct intrhand *)malloc (sizeof *ih, M_DEVBUF,
> @@ -403,7 +403,7 @@ a1xintc_intr_disestablish(void *cookie)
>       int psw;
>       uint32_t er;
>  
> -     psw = disable_interrupts(I32_bit);
> +     psw = disable_interrupts(PSR_I);
>  
>       TAILQ_REMOVE(&a1xintc_handler[irq].iq_list, ih, ih_list);
>  
> 

Reply via email to