summaryrefslogtreecommitdiff
path: root/sys/arch/sgi/include/vmparam.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/sgi/include/vmparam.h')
-rw-r--r--sys/arch/sgi/include/vmparam.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/sys/arch/sgi/include/vmparam.h b/sys/arch/sgi/include/vmparam.h
index a55866983c4..210a1aebfee 100644
--- a/sys/arch/sgi/include/vmparam.h
+++ b/sys/arch/sgi/include/vmparam.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: vmparam.h,v 1.4 2009/10/14 20:18:26 miod Exp $ */
+/* $OpenBSD: vmparam.h,v 1.5 2009/11/22 00:07:04 miod Exp $ */
/* public domain */
#ifndef _SGI_VMPARAM_H_
#define _SGI_VMPARAM_H_
@@ -19,6 +19,24 @@
#define VM_NFREELIST 2
#define VM_FREELIST_DMA32 1 /* memory suitable for 32-bit DMA */
+/*
+ * On systems with may use R5000 processors, we limit the kernel virtual
+ * address space to KSSEG and KSEG3.
+ * On systems with R10000 family processors, we use the XKSEG which allows
+ * for a much larger virtual memory size.
+ *
+ * All Octane and Origin class systems are R10000 family based only,
+ * so TGT_COHERENT is safe to use so far.
+ */
+
+#ifdef TGT_COHERENT
+#define VM_MIN_KERNEL_ADDRESS ((vaddr_t)0xc000000000000000L)
+#define VM_MAX_KERNEL_ADDRESS ((vaddr_t)0xc000000040000000L)
+#else
+#define VM_MIN_KERNEL_ADDRESS ((vaddr_t)0xffffffffc0000000L)
+#define VM_MAX_KERNEL_ADDRESS ((vaddr_t)0xfffffffffffff000L)
+#endif
+
#include <mips64/vmparam.h>
#endif /* _SGI_VMPARAM_H_ */