|
@@ -0,0 +1,150 @@
|
|
|
+/*
|
|
|
+** asm/bootinfo.h -- Definition of the Linux/m68k boot information structure
|
|
|
+**
|
|
|
+** Copyright 1992 by Greg Harp
|
|
|
+**
|
|
|
+** 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
|
|
|
+** for more details.
|
|
|
+**
|
|
|
+** Created 09/29/92 by Greg Harp
|
|
|
+**
|
|
|
+** 5/2/94 Roman Hodek:
|
|
|
+** Added bi_atari part of the machine dependent union bi_un; for now it
|
|
|
+** contains just a model field to distinguish between TT and Falcon.
|
|
|
+** 26/7/96 Roman Zippel:
|
|
|
+** Renamed to setup.h; added some useful macros to allow gcc some
|
|
|
+** optimizations if possible.
|
|
|
+** 5/10/96 Geert Uytterhoeven:
|
|
|
+** Redesign of the boot information structure; renamed to bootinfo.h again
|
|
|
+** 27/11/96 Geert Uytterhoeven:
|
|
|
+** Backwards compatibility with bootinfo interface version 1.0
|
|
|
+*/
|
|
|
+
|
|
|
+#ifndef _M68K_BOOTINFO_H
|
|
|
+#define _M68K_BOOTINFO_H
|
|
|
+
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Bootinfo definitions
|
|
|
+ *
|
|
|
+ * This is an easily parsable and extendable structure containing all
|
|
|
+ * information to be passed from the bootstrap to the kernel.
|
|
|
+ *
|
|
|
+ * This way I hope to keep all future changes back/forewards compatible.
|
|
|
+ * Thus, keep your fingers crossed...
|
|
|
+ *
|
|
|
+ * This structure is copied right after the kernel bss by the bootstrap
|
|
|
+ * routine.
|
|
|
+ */
|
|
|
+
|
|
|
+#ifndef __ASSEMBLY__
|
|
|
+
|
|
|
+struct bi_record {
|
|
|
+ unsigned short tag; /* tag ID */
|
|
|
+ unsigned short size; /* size of record (in bytes) */
|
|
|
+ unsigned long data[0]; /* data */
|
|
|
+};
|
|
|
+
|
|
|
+#endif /* __ASSEMBLY__ */
|
|
|
+
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Tag Definitions
|
|
|
+ *
|
|
|
+ * Machine independent tags start counting from 0x0000
|
|
|
+ * Machine dependent tags start counting from 0x8000
|
|
|
+ */
|
|
|
+
|
|
|
+#define BI_LAST 0x0000 /* last record (sentinel) */
|
|
|
+#define BI_MACHTYPE 0x0001 /* machine type (u_long) */
|
|
|
+#define BI_CPUTYPE 0x0002 /* cpu type (u_long) */
|
|
|
+#define BI_FPUTYPE 0x0003 /* fpu type (u_long) */
|
|
|
+#define BI_MMUTYPE 0x0004 /* mmu type (u_long) */
|
|
|
+#define BI_MEMCHUNK 0x0005 /* memory chunk address and size */
|
|
|
+ /* (struct mem_info) */
|
|
|
+#define BI_RAMDISK 0x0006 /* ramdisk address and size */
|
|
|
+ /* (struct mem_info) */
|
|
|
+#define BI_COMMAND_LINE 0x0007 /* kernel command line parameters */
|
|
|
+ /* (string) */
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Amiga-specific tags
|
|
|
+ */
|
|
|
+
|
|
|
+#define BI_AMIGA_MODEL 0x8000 /* model (u_long) */
|
|
|
+#define BI_AMIGA_AUTOCON 0x8001 /* AutoConfig device */
|
|
|
+ /* (struct ConfigDev) */
|
|
|
+#define BI_AMIGA_CHIP_SIZE 0x8002 /* size of Chip RAM (u_long) */
|
|
|
+#define BI_AMIGA_VBLANK 0x8003 /* VBLANK frequency (u_char) */
|
|
|
+#define BI_AMIGA_PSFREQ 0x8004 /* power supply frequency (u_char) */
|
|
|
+#define BI_AMIGA_ECLOCK 0x8005 /* EClock frequency (u_long) */
|
|
|
+#define BI_AMIGA_CHIPSET 0x8006 /* native chipset present (u_long) */
|
|
|
+#define BI_AMIGA_SERPER 0x8007 /* serial port period (u_short) */
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Atari-specific tags
|
|
|
+ */
|
|
|
+
|
|
|
+#define BI_ATARI_MCH_COOKIE 0x8000 /* _MCH cookie from TOS (u_long) */
|
|
|
+#define BI_ATARI_MCH_TYPE 0x8001 /* special machine type (u_long) */
|
|
|
+ /* (values are ATARI_MACH_* defines */
|
|
|
+
|
|
|
+/* mch_cookie values (upper word) */
|
|
|
+#define ATARI_MCH_ST 0
|
|
|
+#define ATARI_MCH_STE 1
|
|
|
+#define ATARI_MCH_TT 2
|
|
|
+#define ATARI_MCH_FALCON 3
|
|
|
+
|
|
|
+/* mch_type values */
|
|
|
+#define ATARI_MACH_NORMAL 0 /* no special machine type */
|
|
|
+#define ATARI_MACH_MEDUSA 1 /* Medusa 040 */
|
|
|
+#define ATARI_MACH_HADES 2 /* Hades 040 or 060 */
|
|
|
+#define ATARI_MACH_AB40 3 /* Afterburner040 on Falcon */
|
|
|
+
|
|
|
+ /*
|
|
|
+ * VME-specific tags
|
|
|
+ */
|
|
|
+
|
|
|
+#define BI_VME_TYPE 0x8000 /* VME sub-architecture (u_long) */
|
|
|
+#define BI_VME_BRDINFO 0x8001 /* VME board information (struct) */
|
|
|
+
|
|
|
+/* BI_VME_TYPE codes */
|
|
|
+#define VME_TYPE_TP34V 0x0034 /* Tadpole TP34V */
|
|
|
+#define VME_TYPE_MVME147 0x0147 /* Motorola MVME147 */
|
|
|
+#define VME_TYPE_MVME162 0x0162 /* Motorola MVME162 */
|
|
|
+#define VME_TYPE_MVME166 0x0166 /* Motorola MVME166 */
|
|
|
+#define VME_TYPE_MVME167 0x0167 /* Motorola MVME167 */
|
|
|
+#define VME_TYPE_MVME172 0x0172 /* Motorola MVME172 */
|
|
|
+#define VME_TYPE_MVME177 0x0177 /* Motorola MVME177 */
|
|
|
+#define VME_TYPE_BVME4000 0x4000 /* BVM Ltd. BVME4000 */
|
|
|
+#define VME_TYPE_BVME6000 0x6000 /* BVM Ltd. BVME6000 */
|
|
|
+
|
|
|
+/* BI_VME_BRDINFO is a 32 byte struct as returned by the Bug code on
|
|
|
+ * Motorola VME boards. Contains board number, Bug version, board
|
|
|
+ * configuration options, etc. See include/asm/mvme16xhw.h for details.
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Macintosh-specific tags (all u_long)
|
|
|
+ */
|
|
|
+
|
|
|
+#define BI_MAC_MODEL 0x8000 /* Mac Gestalt ID (model type) */
|
|
|
+#define BI_MAC_VADDR 0x8001 /* Mac video base address */
|
|
|
+#define BI_MAC_VDEPTH 0x8002 /* Mac video depth */
|
|
|
+#define BI_MAC_VROW 0x8003 /* Mac video rowbytes */
|
|
|
+#define BI_MAC_VDIM 0x8004 /* Mac video dimensions */
|
|
|
+#define BI_MAC_VLOGICAL 0x8005 /* Mac video logical base */
|
|
|
+#define BI_MAC_SCCBASE 0x8006 /* Mac SCC base address */
|
|
|
+#define BI_MAC_BTIME 0x8007 /* Mac boot time */
|
|
|
+#define BI_MAC_GMTBIAS 0x8008 /* Mac GMT timezone offset */
|
|
|
+#define BI_MAC_MEMSIZE 0x8009 /* Mac RAM size (sanity check) */
|
|
|
+#define BI_MAC_CPUID 0x800a /* Mac CPU type (sanity check) */
|
|
|
+#define BI_MAC_ROMBASE 0x800b /* Mac system ROM base address */
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Macintosh hardware profile data - unused, see macintosh.h for
|
|
|
+ * reasonable type values
|
|
|
+ */
|
|
|
+
|