patch-1.3.48 linux/include/asm-mips/bootinfo.h

Next file: linux/include/asm-mips/byteorder.h
Previous file: linux/include/asm-mips/bitops.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.47/linux/include/asm-mips/bootinfo.h linux/include/asm-mips/bootinfo.h
@@ -11,20 +11,25 @@
  * License.  See the file README.legal in the main directory of this archive
  * for more details.
  */
-
 #ifndef __ASM_MIPS_BOOTINFO_H
 #define __ASM_MIPS_BOOTINFO_H
 
 /*
- * Valid values for machtype field
+ * Valid machtype values
  */
-#define MACH_UNKNOWN		0		/* whatever... */
-#define MACH_DESKSTATION_TYNE	1		/* Deskstation Tyne    */
-#define MACH_ACER_PICA_61	2		/* Acer PICA-61 (PICA1) */
-#define MACH_MIPS_MAGNUM_4000	3		/* Mips Magnum 4000 (aka RC4030) */
+#define MACH_UNKNOWN		0		/* whatever...               */
+#define MACH_DESKSTATION_RPC44  1               /* Deskstation rPC44         */
+#define MACH_DESKSTATION_TYNE	2		/* Deskstation Tyne          */
+#define MACH_ACER_PICA_61	3		/* Acer PICA-61 (PICA1)      */
+#define MACH_MIPS_MAGNUM_4000	4		/* Mips Magnum 4000 "RC4030" */
+#define MACH_OLIVETTI_M700      5               /* Olivetti M700 */
+#define MACH_LAST               5
+
+#define MACH_NAMES { "unknown", "Deskstation rPC44", "Deskstation Tyne", \
+	"Acer PICA 61", "Mips Magnum 4000", "Olivetti M700" }
 
 /*
- * Valid values for cputype field
+ * Valid cputype values
  */
 #define CPU_UNKNOWN		0
 #define CPU_R2000		1
@@ -47,15 +52,16 @@
 #define CPU_R6000A		18
 #define CPU_R8000		19
 #define CPU_R10000		20
+#define CPU_LAST                20
 
-#define CPU_NAMES { "UNKNOWN", "R2000", "R3000", "R3000A", "R3041", "R3051", \
+#define CPU_NAMES { "unknown", "R2000", "R3000", "R3000A", "R3041", "R3051", \
         "R3052", "R3081", "R3081E", "R4000PC", "R4000SC", "R4000MC",         \
         "R4200", "R4400PC", "R4400SC", "R4400MC", "R4600", "R6000",          \
         "R6000A", "R8000", "R10000" }
 
 #define CL_SIZE      (80)
 
-#ifndef __ASSEMBLY__
+#ifndef __LANGUAGE_ASSEMBLY__
 
 /*
  * Some machine parameters passed by MILO. Note that bootinfo
@@ -68,8 +74,15 @@
 	};
 
 struct bootinfo {
-	unsigned long machtype;			/* machine type */
-	unsigned long cputype;			/* system CPU & FPU */
+	/*
+	 * machine type
+	 */
+	unsigned long machtype;
+
+	/*
+	 * system CPU & FPU
+	 */
+	unsigned long cputype;
 
 	/*
 	 * Installed RAM
@@ -101,7 +114,7 @@
 	/*
 	 * Ramdisk Info
 	 */
-	unsigned long ramdisk_size;		/* ramdisk size in 1024 byte blocks */
+	unsigned long ramdisk_flags;		/* ramdisk flags */
 	unsigned long ramdisk_base;		/* address of the ram disk in mem */
 
 	/*
@@ -119,6 +132,83 @@
   
 };
 
+#if 0
+/*
+ * New style bootinfo
+ *
+ * Add new tags only at the end of the enum; *never* remove any tags
+ * or you'll break compatibility!
+ */
+enum bi_tag {	
+	/*
+	 * not a real tag
+	 */
+	dummy,
+
+	/*
+	 * machine type
+	 */
+	machtype,
+
+	/*
+	 * system CPU & FPU
+	 */
+	cputype,
+
+	/*
+	 * Installed RAM
+	 */
+	memlower,
+	memupper,
+
+	/*
+	 * Cache Sizes (0xffffffff = unknown)
+	 */
+	icache_size,
+	icache_linesize,
+	dcache_size,
+	dcache_linesize,
+	scache_size,
+	scache_linesize,
+
+	/*
+	 * TLB Info
+	 */
+	tlb_entries,
+
+	/*
+	 * DMA buffer size (Deskstation only)
+	 */
+	dma_cache_size,
+	dma_cache_base,
+
+	/*
+	 * Ramdisk Info
+	 */
+	ramdisk_size,		/* ramdisk size in 1024 byte blocks */
+	ramdisk_base,		/* address of the ram disk in mem */
+
+	/*
+	 * Boot flags for the kernel
+	 */
+	mount_root_rdonly,
+	drive_info,
+
+	/*
+	 * Video ram info (not in tty.h)
+	 */
+	vram_base,		/* video ram base address */
+      
+	command_line		/* kernel command line parameters */
+  
+};
+
+typedef struct {
+	bi_tag		tag;
+	unsigned long	size;
+} tag;
+#endif
+
 extern struct bootinfo boot_info;
 
 /*
@@ -127,9 +217,10 @@
  * are in the .data segment since the .bss segment is
  * cleared during startup.
  */
-#define BOOT_INFO { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"" }
+#define BOOT_INFO { 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, {{0,}}, 0, "" }
+#define SCREEN_INFO {0, 0, {0, }, 52, 3, 80, 4626, 3, 9, 50}
 
-#else /* !__ASSEMBLY__ */
+#else /* !__LANGUAGE_ASSEMBLY__ */
 
 /*
  * Same structure, but as offsets for usage within assembler source.
@@ -151,9 +242,11 @@
 #define OFFSET_BOOTINFO_DMA_CACHE_BASE    48
 #define OFFSET_BOOTINFO_RAMDISK_SIZE      52
 #define OFFSET_BOOTINFO_RAMDISK_BASE      56
-#define OFFSET_BOOTINFO_VRAM_BASE         60
-#define OFFSET_BOOTINFO_COMMAND_LINE      64
+#define OFFSET_BOOTINFO_MOUNT_RD_ONLY     60
+#define OFFSET_BOOTINFO_DRIVE_INFO        64
+#define OFFSET_BOOTINFO_VRAM_BASE         96
+#define OFFSET_BOOTINFO_COMMAND_LINE      100
 
-#endif /* __ASSEMBLY__ */
+#endif /* __LANGUAGE_ASSEMBLY__ */
 
 #endif /* __ASM_MIPS_BOOTINFO_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