summaryrefslogtreecommitdiffstats
path: root/arch/sparc64/kernel/starfire.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc64/kernel/starfire.c')
-rw-r--r--arch/sparc64/kernel/starfire.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/sparc64/kernel/starfire.c b/arch/sparc64/kernel/starfire.c
index 38f33ecd6..805dce338 100644
--- a/arch/sparc64/kernel/starfire.c
+++ b/arch/sparc64/kernel/starfire.c
@@ -1,4 +1,4 @@
-/* $Id: starfire.c,v 1.2 1998/12/09 18:53:11 davem Exp $
+/* $Id: starfire.c,v 1.3 1999/08/30 10:01:13 davem Exp $
* starfire.c: Starfire/E10000 support.
*
* Copyright (C) 1998 David S. Miller (davem@dm.cobaltmicro.com)
@@ -43,7 +43,7 @@ void starfire_check(void)
int starfire_hard_smp_processor_id(void)
{
- return *((unsigned int *) __va(0x1fff40000d0));
+ return *((volatile unsigned int *) __va(0x1fff40000d0));
}
/* Each Starfire board has 32 registers which perform translation
@@ -52,8 +52,8 @@ int starfire_hard_smp_processor_id(void)
* bits than in all previous Sun5 systems.
*/
struct starfire_irqinfo {
- unsigned int *imap_slots[32];
- unsigned int *tregs[32];
+ volatile unsigned int *imap_slots[32];
+ volatile unsigned int *tregs[32];
struct starfire_irqinfo *next;
int upaid, hwmid;
};
@@ -80,7 +80,7 @@ void *starfire_hookup(int upaid)
treg_base += 0x200UL;
for(i = 0; i < 32; i++) {
p->imap_slots[i] = NULL;
- p->tregs[i] = __va(treg_base + (i * 0x10));
+ p->tregs[i] = (volatile unsigned int *)__va(treg_base + (i * 0x10));
}
p->upaid = upaid;
p->next = sflist;
@@ -89,7 +89,7 @@ void *starfire_hookup(int upaid)
return (void *) p;
}
-unsigned int starfire_translate(unsigned int *imap,
+unsigned int starfire_translate(volatile unsigned int *imap,
unsigned int upaid)
{
struct starfire_irqinfo *p;