summaryrefslogtreecommitdiffstats
path: root/include/asm-alpha/io.h
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1998-05-07 02:55:41 +0000
committerRalf Baechle <ralf@linux-mips.org>1998-05-07 02:55:41 +0000
commitdcec8a13bf565e47942a1751a9cec21bec5648fe (patch)
tree548b69625b18cc2e88c3e68d0923be546c9ebb03 /include/asm-alpha/io.h
parent2e0f55e79c49509b7ff70ff1a10e1e9e90a3dfd4 (diff)
o Merge with Linux 2.1.99.
o Fix ancient bug in the ELF loader making ldd crash. o Fix ancient bug in the keyboard code for SGI, SNI and Jazz.
Diffstat (limited to 'include/asm-alpha/io.h')
-rw-r--r--include/asm-alpha/io.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/include/asm-alpha/io.h b/include/asm-alpha/io.h
index da03e68db..d2668b973 100644
--- a/include/asm-alpha/io.h
+++ b/include/asm-alpha/io.h
@@ -25,7 +25,11 @@ extern struct hae {
/*
* Virtual -> physical identity mapping starts at this offset
*/
+#ifdef USE_48_BIT_KSEG
+#define IDENT_ADDR (0xffff800000000000UL)
+#else
#define IDENT_ADDR (0xfffffc0000000000UL)
+#endif
#ifdef __KERNEL__
@@ -38,11 +42,11 @@ extern struct hae {
*/
extern inline void set_hae(unsigned long new_hae)
{
- unsigned long ipl;
- ipl = swpipl(7);
+ unsigned long ipl = swpipl(7);
hae.cache = new_hae;
*hae.reg = new_hae;
mb();
+ new_hae = *hae.reg; /* read to make sure it was written */
setipl(ipl);
}
@@ -84,6 +88,10 @@ extern void _sethae (unsigned long addr); /* cached version */
# include <asm/t2.h> /* get chip-specific definitions */
#elif defined(CONFIG_ALPHA_PYXIS)
# include <asm/pyxis.h> /* get chip-specific definitions */
+#elif defined(CONFIG_ALPHA_TSUNAMI)
+# include <asm/tsunami.h> /* get chip-specific definitions */
+#elif defined(CONFIG_ALPHA_MCPCIA)
+# include <asm/mcpcia.h> /* get chip-specific definitions */
#else
# include <asm/jensen.h>
#endif