Module Name: src Committed By: kiyohara Date: Sat Oct 20 12:37:49 UTC 2012
Modified Files: src/sys/arch/bebox/bebox: pic_bebox.c src/sys/arch/bebox/include: bebox.h Log Message: Cleanup macros of access for bebox-register. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/arch/bebox/bebox/pic_bebox.c cvs rdiff -u -r1.1 -r1.2 src/sys/arch/bebox/include/bebox.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/bebox/bebox/pic_bebox.c diff -u src/sys/arch/bebox/bebox/pic_bebox.c:1.8 src/sys/arch/bebox/bebox/pic_bebox.c:1.9 --- src/sys/arch/bebox/bebox/pic_bebox.c:1.8 Sun Aug 7 15:13:07 2011 +++ src/sys/arch/bebox/bebox/pic_bebox.c Sat Oct 20 12:37:49 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: pic_bebox.c,v 1.8 2011/08/07 15:13:07 kiyohara Exp $ */ +/* $NetBSD: pic_bebox.c,v 1.9 2012/10/20 12:37:49 kiyohara Exp $ */ /*- * Copyright (c) 2007 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pic_bebox.c,v 1.8 2011/08/07 15:13:07 kiyohara Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pic_bebox.c,v 1.9 2012/10/20 12:37:49 kiyohara Exp $"); #include <sys/param.h> #include <sys/malloc.h> @@ -43,9 +43,6 @@ __KERNEL_RCSID(0, "$NetBSD: pic_bebox.c, #include <arch/powerpc/pic/picvar.h> -#define BEBOX_INTR_MASK 0x0ffffffc -#define BEBOX_SET_MASK 0x80000000 -#define BEBOX_INTR(x) (0x80000000 >> x) static void bebox_enable_irq(struct pic_ops *, int, int); static void bebox_disable_irq(struct pic_ops *, int); @@ -78,16 +75,14 @@ static void bebox_enable_irq(struct pic_ops *pic, int irq, int type) { - *(volatile unsigned int *)(BEBOX_REG + CPU0_INT_MASK) = - BEBOX_SET_MASK | (1 << (31 - irq)); + SET_BEBOX_REG(CPU0_INT_MASK, 1 << (31 - irq)); } static void bebox_disable_irq(struct pic_ops *pic, int irq) { - *(volatile unsigned int *)(BEBOX_REG + CPU0_INT_MASK) = - (1 << (31 - irq)); + CLEAR_BEBOX_REG(CPU0_INT_MASK, 1 << (31 - irq)); } static int @@ -95,9 +90,9 @@ bebox_get_irq(struct pic_ops *pic, int m { unsigned int state; - state = *(volatile unsigned int *)(BEBOX_REG + INT_SOURCE); + state = READ_BEBOX_REG(INT_SOURCE); state &= BEBOX_INTR_MASK; - state &= *(volatile unsigned int *)(BEBOX_REG + CPU0_INT_MASK); + state &= READ_BEBOX_REG(CPU0_INT_MASK); if (state == 0) return 255; return __builtin_clz(state); Index: src/sys/arch/bebox/include/bebox.h diff -u src/sys/arch/bebox/include/bebox.h:1.1 src/sys/arch/bebox/include/bebox.h:1.2 --- src/sys/arch/bebox/include/bebox.h:1.1 Sun Aug 7 15:04:45 2011 +++ src/sys/arch/bebox/include/bebox.h Sat Oct 20 12:37:49 2012 @@ -1,4 +1,4 @@ -/* $NetBSD: bebox.h,v 1.1 2011/08/07 15:04:45 kiyohara Exp $ */ +/* $NetBSD: bebox.h,v 1.2 2012/10/20 12:37:49 kiyohara Exp $ */ /* * Copyright (c) 2011 KIYOHARA Takashi * All rights reserved. @@ -36,11 +36,11 @@ #define BEBOX_SET_MASK 0x80000000 #define BEBOX_CLEAR_MASK 0x00000000 -#define READ_BEBOX_REG(reg) *(uint32_t *)(BEBOX_REG + (reg)) +#define READ_BEBOX_REG(reg) *(volatile uint32_t *)(BEBOX_REG + (reg)) #define SET_BEBOX_REG(reg, v) \ - *(uint32_t *)(BEBOX_REG + (reg)) = ((v) | BEBOX_SET_MASK) + *(volatile uint32_t *)(BEBOX_REG + (reg)) = ((v) | BEBOX_SET_MASK) #define CLEAR_BEBOX_REG(reg, v) \ - *(uint32_t *)(BEBOX_REG + (reg)) = ((v) | BEBOX_CLEAR_MASK) + *(volatile uint32_t *)(BEBOX_REG + (reg)) = ((v) | BEBOX_CLEAR_MASK) #define CPU0_INT_MASK 0x0f0 /* Interrupt Mask for CPU0 */ #define CPU1_INT_MASK 0x1f0 /* Interrupt Mask for CPU1 */ @@ -49,6 +49,8 @@ #define CPU_RESET 0x4f0 /* Reset Control */ #define INTR_VECTOR_REG 0xff0 +#define BEBOX_INTR_MASK 0x0ffffffc + /* Control */ #define CPU0_SMI (1 << 30) /* SMI to CPU0 */ #define CPU1_SMI (1 << 29) /* SMI to CPU1 */