patch-1.3.71 linux/include/asm-sparc/vaddrs.h
Next file: linux/include/asm-sparc/viking.h
Previous file: linux/include/asm-sparc/vac-ops.h
Back to the patch index
Back to the overall index
- Lines: 57
- Date:
Mon Mar 4 08:50:04 1996
- Orig file:
v1.3.70/linux/include/asm-sparc/vaddrs.h
- Orig date:
Sat Nov 25 19:04:56 1995
diff -u --recursive --new-file v1.3.70/linux/include/asm-sparc/vaddrs.h linux/include/asm-sparc/vaddrs.h
@@ -1,4 +1,4 @@
-/* $Id: vaddrs.h,v 1.15 1995/11/25 02:33:20 davem Exp $ */
+/* $Id: vaddrs.h,v 1.17 1996/01/10 21:00:16 davem Exp $ */
#ifndef _SPARC_VADDRS_H
#define _SPARC_VADDRS_H
@@ -16,13 +16,6 @@
* mappings for devices and is the speedup improvements of not loading
* a pointer and then the value in the assembly code
*/
-
-#define AUXIO_VADDR (KERNBASE+0x6000) /* Auxiliary IO register */
-#define TIMER_VADDR (AUXIO_VADDR+0x1000) /* One page after AUXIO, length is
- * 5 pages which is needed on sun4m.
- */
-#define INTREG_VADDR (TIMER_VADDR+0x5000)
-
#define IOBASE_VADDR 0xfe000000 /* Base for mapping pages */
#define IOBASE_LEN 0x00100000 /* Length of the IO area */
#define IOBASE_END 0xfe100000
@@ -30,6 +23,31 @@
#define DVMA_LEN 0x00040000 /* Size of the DVMA address space */
#define DVMA_END 0xfff40000
+/* IOMMU Mapping area, must be on a 16MB boundry! Note this
+ * doesn't count the DVMA areas, the prom lives between the
+ * iommu mapping area (for scsi transfer buffers) and the
+ * dvma upper range (for lance packet ring buffers).
+ */
+#define IOMMU_VADDR 0xff000000
+#define IOMMU_LEN 0x00c00000
+#define IOMMU_END 0xffc00000 /* KADB debugger vm starts here */
+
+/* On the sun4/4c we don't need an IOMMU area, but we need a place
+ * to reliably map locked down kernel data. This includes the
+ * task_struct and kernel stack pages of each process plus the
+ * scsi buffers during dvma IO transfers, also the floppy buffers
+ * during pseudo dma which runs with traps off (no faults allowed).
+ * Some quick calculations yield:
+ * NR_TASKS <512> * (3 * PAGE_SIZE) == 0x600000
+ * Subtract this from 0xc00000 and you get 0x927C0 of vm left
+ * over to map SCSI dvma + floppy pseudo-dma buffers. So be
+ * careful if you change NR_TASKS or else there won't be enough
+ * room for it all.
+ */
+#define SUN4C_LOCK_VADDR 0xff000000
+#define SUN4C_LOCK_LEN 0x00c00000
+#define SUN4C_LOCK_END 0xffc00000
+
/* On sun4m machines we need per-cpu virtual areas */
#define PERCPU_VADDR 0xff000000 /* Base for per-cpu virtual mappings */
#define PERCPU_ENTSIZE 0x00100000
@@ -44,3 +62,4 @@
#define PERCPU_ISIDLING_OFFSET 0x03008 /* Is CPU in idle loop spinning? */
#endif /* !(_SPARC_VADDRS_H) */
+
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this