patch-2.4.6 linux/include/asm-mips/addrspace.h
Next file: linux/include/asm-mips/asmmacro.h
Previous file: linux/include/asm-m68k/zorro.h
Back to the patch index
Back to the overall index
- Lines: 49
- Date:
Mon Jul 2 13:56:40 2001
- Orig file:
v2.4.5/linux/include/asm-mips/addrspace.h
- Orig date:
Thu Jun 26 12:33:39 1997
diff -u --recursive --new-file v2.4.5/linux/include/asm-mips/addrspace.h linux/include/asm-mips/addrspace.h
@@ -4,6 +4,7 @@
* for more details.
*
* Copyright (C) 1996 by Ralf Baechle
+ * Copyright (C) 2000 by Maciej W. Rozycki
*
* Defitions for the address spaces of the MIPS CPUs.
*/
@@ -19,23 +20,40 @@
#define KSEG2 0xc0000000
#define KSEG3 0xe0000000
+#define K0BASE KSEG0
+
/*
* Returns the kernel segment base of a given address
*/
+#ifndef __ASSEMBLY__
#define KSEGX(a) (((unsigned long)(a)) & 0xe0000000)
+#else
+#define KSEGX(a) ((a) & 0xe0000000)
+#endif
/*
* Returns the physical address of a KSEG0/KSEG1 address
*/
+#ifndef __ASSEMBLY__
#define PHYSADDR(a) (((unsigned long)(a)) & 0x1fffffff)
+#else
+#define PHYSADDR(a) ((a) & 0x1fffffff)
+#endif
/*
* Map an address to a certain kernel segment
*/
+#ifndef __ASSEMBLY__
#define KSEG0ADDR(a) ((__typeof__(a))(((unsigned long)(a) & 0x1fffffff) | KSEG0))
#define KSEG1ADDR(a) ((__typeof__(a))(((unsigned long)(a) & 0x1fffffff) | KSEG1))
#define KSEG2ADDR(a) ((__typeof__(a))(((unsigned long)(a) & 0x1fffffff) | KSEG2))
#define KSEG3ADDR(a) ((__typeof__(a))(((unsigned long)(a) & 0x1fffffff) | KSEG3))
+#else
+#define KSEG0ADDR(a) (((a) & 0x1fffffff) | KSEG0)
+#define KSEG1ADDR(a) (((a) & 0x1fffffff) | KSEG1)
+#define KSEG2ADDR(a) (((a) & 0x1fffffff) | KSEG2)
+#define KSEG3ADDR(a) (((a) & 0x1fffffff) | KSEG3)
+#endif
/*
* Memory segments (64bit kernel mode addresses)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)