patch-2.3.99-pre9 linux/include/asm-mips64/sn/kldir.h
Next file: linux/include/asm-mips64/sn/launch.h
Previous file: linux/include/asm-mips64/sn/klconfig.h
Back to the patch index
Back to the overall index
- Lines: 73
- Date:
Mon May 15 12:10:26 2000
- Orig file:
v2.3.99-pre8/linux/include/asm-mips64/sn/kldir.h
- Orig date:
Sat Feb 26 22:31:57 2000
diff -u --recursive --new-file v2.3.99-pre8/linux/include/asm-mips64/sn/kldir.h linux/include/asm-mips64/sn/kldir.h
@@ -1,4 +1,4 @@
-/* $Id: kldir.h,v 1.1 2000/01/13 00:17:02 ralf Exp $
+/* $Id$
*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
@@ -12,9 +12,14 @@
#ifndef _ASM_SN_KLDIR_H
#define _ASM_SN_KLDIR_H
+#include <linux/config.h>
+#if defined(CONFIG_SGI_IO)
+#include <asm/hack.h>
+#endif
+
/*
* The kldir memory area resides at a fixed place in each node's memory and
- * provides pointers to most other SN0 memory areas. This allows us to
+ * provides pointers to most other IP27 memory areas. This allows us to
* resize and/or relocate memory areas at a later time without breaking all
* firmware and kernels that use them. Indices in the array are
* permanently dedicated to areas listed below. Some memory areas (marked
@@ -131,6 +136,8 @@
#define KLDIR_OFF_STRIDE 0x28
#endif /* LANGUAGE_ASSEMBLY */
+#if !defined(CONFIG_SGI_IO)
+
/*
* This is defined here because IP27_SYMMON_STK_SIZE must be at least what
* we define here. Since it's set up in the prom. We can't redefine it later
@@ -200,11 +207,17 @@
#define KLDIR_ENT_SIZE 0x40
#define KLDIR_MAX_ENTRIES (0x400 / 0x40)
+#endif /* !CONFIG_SGI_IO */
+
#ifdef _LANGUAGE_C
typedef struct kldir_ent_s {
u64 magic; /* Indicates validity of entry */
off_t offset; /* Offset from start of node space */
+#if defined(CONFIG_SGI_IO) /* FIXME */
+ __psunsigned_t pointer; /* Pointer to area in some cases */
+#else
unsigned long pointer; /* Pointer to area in some cases */
+#endif
size_t size; /* Size in bytes */
u64 count; /* Repeat count if array, 1 if not */
size_t stride; /* Stride if array, 0 if not */
@@ -213,5 +226,23 @@
entry to store partition info. Refer to klpart.h for this. */
} kldir_ent_t;
#endif /* _LANGUAGE_C */
+
+#if defined(CONFIG_SGI_IO)
+
+#define KLDIR_ENT_SIZE 0x40
+#define KLDIR_MAX_ENTRIES (0x400 / 0x40)
+
+/*
+ * The actual offsets of each memory area are machine-dependent
+ */
+#ifdef CONFIG_SGI_IP27
+// Not yet #include <asm/sn/sn0/kldir.h>
+#elif defined(CONFIG_SGI_IP35)
+#include <asm/sn/sn1/kldir.h>
+#else
+#error "kldir.h is currently defined for IP27 and IP35 platforms only"
+#endif
+
+#endif /* CONFIG_SGI_IO */
#endif /* _ASM_SN_KLDIR_H */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)