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 */