···11-#ifdef __uClinux__22-#include "bootinfo_no.h"33-#else44-#include "bootinfo_mm.h"11+/*22+** asm/bootinfo.h -- Definition of the Linux/m68k boot information structure33+**44+** Copyright 1992 by Greg Harp55+**66+** This file is subject to the terms and conditions of the GNU General Public77+** License. See the file COPYING in the main directory of this archive88+** for more details.99+**1010+** Created 09/29/92 by Greg Harp1111+**1212+** 5/2/94 Roman Hodek:1313+** Added bi_atari part of the machine dependent union bi_un; for now it1414+** contains just a model field to distinguish between TT and Falcon.1515+** 26/7/96 Roman Zippel:1616+** Renamed to setup.h; added some useful macros to allow gcc some1717+** optimizations if possible.1818+** 5/10/96 Geert Uytterhoeven:1919+** Redesign of the boot information structure; renamed to bootinfo.h again2020+** 27/11/96 Geert Uytterhoeven:2121+** Backwards compatibility with bootinfo interface version 1.02222+*/2323+2424+#ifndef _M68K_BOOTINFO_H2525+#define _M68K_BOOTINFO_H2626+2727+2828+ /*2929+ * Bootinfo definitions3030+ *3131+ * This is an easily parsable and extendable structure containing all3232+ * information to be passed from the bootstrap to the kernel.3333+ *3434+ * This way I hope to keep all future changes back/forewards compatible.3535+ * Thus, keep your fingers crossed...3636+ *3737+ * This structure is copied right after the kernel bss by the bootstrap3838+ * routine.3939+ */4040+4141+#ifndef __ASSEMBLY__4242+4343+struct bi_record {4444+ unsigned short tag; /* tag ID */4545+ unsigned short size; /* size of record (in bytes) */4646+ unsigned long data[0]; /* data */4747+};4848+4949+#endif /* __ASSEMBLY__ */5050+5151+5252+ /*5353+ * Tag Definitions5454+ *5555+ * Machine independent tags start counting from 0x00005656+ * Machine dependent tags start counting from 0x80005757+ */5858+5959+#define BI_LAST 0x0000 /* last record (sentinel) */6060+#define BI_MACHTYPE 0x0001 /* machine type (u_long) */6161+#define BI_CPUTYPE 0x0002 /* cpu type (u_long) */6262+#define BI_FPUTYPE 0x0003 /* fpu type (u_long) */6363+#define BI_MMUTYPE 0x0004 /* mmu type (u_long) */6464+#define BI_MEMCHUNK 0x0005 /* memory chunk address and size */6565+ /* (struct mem_info) */6666+#define BI_RAMDISK 0x0006 /* ramdisk address and size */6767+ /* (struct mem_info) */6868+#define BI_COMMAND_LINE 0x0007 /* kernel command line parameters */6969+ /* (string) */7070+7171+ /*7272+ * Amiga-specific tags7373+ */7474+7575+#define BI_AMIGA_MODEL 0x8000 /* model (u_long) */7676+#define BI_AMIGA_AUTOCON 0x8001 /* AutoConfig device */7777+ /* (struct ConfigDev) */7878+#define BI_AMIGA_CHIP_SIZE 0x8002 /* size of Chip RAM (u_long) */7979+#define BI_AMIGA_VBLANK 0x8003 /* VBLANK frequency (u_char) */8080+#define BI_AMIGA_PSFREQ 0x8004 /* power supply frequency (u_char) */8181+#define BI_AMIGA_ECLOCK 0x8005 /* EClock frequency (u_long) */8282+#define BI_AMIGA_CHIPSET 0x8006 /* native chipset present (u_long) */8383+#define BI_AMIGA_SERPER 0x8007 /* serial port period (u_short) */8484+8585+ /*8686+ * Atari-specific tags8787+ */8888+8989+#define BI_ATARI_MCH_COOKIE 0x8000 /* _MCH cookie from TOS (u_long) */9090+#define BI_ATARI_MCH_TYPE 0x8001 /* special machine type (u_long) */9191+ /* (values are ATARI_MACH_* defines */9292+9393+/* mch_cookie values (upper word) */9494+#define ATARI_MCH_ST 09595+#define ATARI_MCH_STE 19696+#define ATARI_MCH_TT 29797+#define ATARI_MCH_FALCON 39898+9999+/* mch_type values */100100+#define ATARI_MACH_NORMAL 0 /* no special machine type */101101+#define ATARI_MACH_MEDUSA 1 /* Medusa 040 */102102+#define ATARI_MACH_HADES 2 /* Hades 040 or 060 */103103+#define ATARI_MACH_AB40 3 /* Afterburner040 on Falcon */104104+105105+ /*106106+ * VME-specific tags107107+ */108108+109109+#define BI_VME_TYPE 0x8000 /* VME sub-architecture (u_long) */110110+#define BI_VME_BRDINFO 0x8001 /* VME board information (struct) */111111+112112+/* BI_VME_TYPE codes */113113+#define VME_TYPE_TP34V 0x0034 /* Tadpole TP34V */114114+#define VME_TYPE_MVME147 0x0147 /* Motorola MVME147 */115115+#define VME_TYPE_MVME162 0x0162 /* Motorola MVME162 */116116+#define VME_TYPE_MVME166 0x0166 /* Motorola MVME166 */117117+#define VME_TYPE_MVME167 0x0167 /* Motorola MVME167 */118118+#define VME_TYPE_MVME172 0x0172 /* Motorola MVME172 */119119+#define VME_TYPE_MVME177 0x0177 /* Motorola MVME177 */120120+#define VME_TYPE_BVME4000 0x4000 /* BVM Ltd. BVME4000 */121121+#define VME_TYPE_BVME6000 0x6000 /* BVM Ltd. BVME6000 */122122+123123+/* BI_VME_BRDINFO is a 32 byte struct as returned by the Bug code on124124+ * Motorola VME boards. Contains board number, Bug version, board125125+ * configuration options, etc. See include/asm/mvme16xhw.h for details.126126+ */127127+128128+129129+ /*130130+ * Macintosh-specific tags (all u_long)131131+ */132132+133133+#define BI_MAC_MODEL 0x8000 /* Mac Gestalt ID (model type) */134134+#define BI_MAC_VADDR 0x8001 /* Mac video base address */135135+#define BI_MAC_VDEPTH 0x8002 /* Mac video depth */136136+#define BI_MAC_VROW 0x8003 /* Mac video rowbytes */137137+#define BI_MAC_VDIM 0x8004 /* Mac video dimensions */138138+#define BI_MAC_VLOGICAL 0x8005 /* Mac video logical base */139139+#define BI_MAC_SCCBASE 0x8006 /* Mac SCC base address */140140+#define BI_MAC_BTIME 0x8007 /* Mac boot time */141141+#define BI_MAC_GMTBIAS 0x8008 /* Mac GMT timezone offset */142142+#define BI_MAC_MEMSIZE 0x8009 /* Mac RAM size (sanity check) */143143+#define BI_MAC_CPUID 0x800a /* Mac CPU type (sanity check) */144144+#define BI_MAC_ROMBASE 0x800b /* Mac system ROM base address */145145+146146+ /*147147+ * Macintosh hardware profile data - unused, see macintosh.h for148148+ * resonable type values149149+ */150150+151151+#define BI_MAC_VIA1BASE 0x8010 /* Mac VIA1 base address (always present) */152152+#define BI_MAC_VIA2BASE 0x8011 /* Mac VIA2 base address (type varies) */153153+#define BI_MAC_VIA2TYPE 0x8012 /* Mac VIA2 type (VIA, RBV, OSS) */154154+#define BI_MAC_ADBTYPE 0x8013 /* Mac ADB interface type */155155+#define BI_MAC_ASCBASE 0x8014 /* Mac Apple Sound Chip base address */156156+#define BI_MAC_SCSI5380 0x8015 /* Mac NCR 5380 SCSI (base address, multi) */157157+#define BI_MAC_SCSIDMA 0x8016 /* Mac SCSI DMA (base address) */158158+#define BI_MAC_SCSI5396 0x8017 /* Mac NCR 53C96 SCSI (base address, multi) */159159+#define BI_MAC_IDETYPE 0x8018 /* Mac IDE interface type */160160+#define BI_MAC_IDEBASE 0x8019 /* Mac IDE interface base address */161161+#define BI_MAC_NUBUS 0x801a /* Mac Nubus type (none, regular, pseudo) */162162+#define BI_MAC_SLOTMASK 0x801b /* Mac Nubus slots present */163163+#define BI_MAC_SCCTYPE 0x801c /* Mac SCC serial type (normal, IOP) */164164+#define BI_MAC_ETHTYPE 0x801d /* Mac builtin ethernet type (Sonic, MACE */165165+#define BI_MAC_ETHBASE 0x801e /* Mac builtin ethernet base address */166166+#define BI_MAC_PMU 0x801f /* Mac power management / poweroff hardware */167167+#define BI_MAC_IOP_SWIM 0x8020 /* Mac SWIM floppy IOP */168168+#define BI_MAC_IOP_ADB 0x8021 /* Mac ADB IOP */169169+170170+ /*171171+ * Mac: compatibility with old booter data format (temporarily)172172+ * Fields unused with the new bootinfo can be deleted now; instead of173173+ * adding new fields the struct might be splitted into a hardware address174174+ * part and a hardware type part175175+ */176176+177177+#ifndef __ASSEMBLY__178178+179179+struct mac_booter_data180180+{181181+ unsigned long videoaddr;182182+ unsigned long videorow;183183+ unsigned long videodepth;184184+ unsigned long dimensions;185185+ unsigned long args;186186+ unsigned long boottime;187187+ unsigned long gmtbias;188188+ unsigned long bootver;189189+ unsigned long videological;190190+ unsigned long sccbase;191191+ unsigned long id;192192+ unsigned long memsize;193193+ unsigned long serialmf;194194+ unsigned long serialhsk;195195+ unsigned long serialgpi;196196+ unsigned long printmf;197197+ unsigned long printhsk;198198+ unsigned long printgpi;199199+ unsigned long cpuid;200200+ unsigned long rombase;201201+ unsigned long adbdelay;202202+ unsigned long timedbra;203203+};204204+205205+extern struct mac_booter_data206206+ mac_bi_data;207207+5208#endif209209+210210+ /*211211+ * Apollo-specific tags212212+ */213213+214214+#define BI_APOLLO_MODEL 0x8000 /* model (u_long) */215215+216216+ /*217217+ * HP300-specific tags218218+ */219219+220220+#define BI_HP300_MODEL 0x8000 /* model (u_long) */221221+#define BI_HP300_UART_SCODE 0x8001 /* UART select code (u_long) */222222+#define BI_HP300_UART_ADDR 0x8002 /* phys. addr of UART (u_long) */223223+224224+ /*225225+ * Stuff for bootinfo interface versioning226226+ *227227+ * At the start of kernel code, a 'struct bootversion' is located.228228+ * bootstrap checks for a matching version of the interface before booting229229+ * a kernel, to avoid user confusion if kernel and bootstrap don't work230230+ * together :-)231231+ *232232+ * If incompatible changes are made to the bootinfo interface, the major233233+ * number below should be stepped (and the minor reset to 0) for the234234+ * appropriate machine. If a change is backward-compatible, the minor235235+ * should be stepped. "Backwards-compatible" means that booting will work,236236+ * but certain features may not.237237+ */238238+239239+#define BOOTINFOV_MAGIC 0x4249561A /* 'BIV^Z' */240240+#define MK_BI_VERSION(major,minor) (((major)<<16)+(minor))241241+#define BI_VERSION_MAJOR(v) (((v) >> 16) & 0xffff)242242+#define BI_VERSION_MINOR(v) ((v) & 0xffff)243243+244244+#ifndef __ASSEMBLY__245245+246246+struct bootversion {247247+ unsigned short branch;248248+ unsigned long magic;249249+ struct {250250+ unsigned long machtype;251251+ unsigned long version;252252+ } machversions[0];253253+};254254+255255+#endif /* __ASSEMBLY__ */256256+257257+#define AMIGA_BOOTI_VERSION MK_BI_VERSION( 2, 0 )258258+#define ATARI_BOOTI_VERSION MK_BI_VERSION( 2, 1 )259259+#define MAC_BOOTI_VERSION MK_BI_VERSION( 2, 0 )260260+#define MVME147_BOOTI_VERSION MK_BI_VERSION( 2, 0 )261261+#define MVME16x_BOOTI_VERSION MK_BI_VERSION( 2, 0 )262262+#define BVME6000_BOOTI_VERSION MK_BI_VERSION( 2, 0 )263263+#define Q40_BOOTI_VERSION MK_BI_VERSION( 2, 0 )264264+#define HP300_BOOTI_VERSION MK_BI_VERSION( 2, 0 )265265+266266+#ifdef BOOTINFO_COMPAT_1_0267267+268268+ /*269269+ * Backwards compatibility with bootinfo interface version 1.0270270+ */271271+272272+#define COMPAT_AMIGA_BOOTI_VERSION MK_BI_VERSION( 1, 0 )273273+#define COMPAT_ATARI_BOOTI_VERSION MK_BI_VERSION( 1, 0 )274274+#define COMPAT_MAC_BOOTI_VERSION MK_BI_VERSION( 1, 0 )275275+276276+#include <linux/zorro.h>277277+278278+#define COMPAT_NUM_AUTO 16279279+280280+struct compat_bi_Amiga {281281+ int model;282282+ int num_autocon;283283+ struct ConfigDev autocon[COMPAT_NUM_AUTO];284284+ unsigned long chip_size;285285+ unsigned char vblank;286286+ unsigned char psfreq;287287+ unsigned long eclock;288288+ unsigned long chipset;289289+ unsigned long hw_present;290290+};291291+292292+struct compat_bi_Atari {293293+ unsigned long hw_present;294294+ unsigned long mch_cookie;295295+};296296+297297+#ifndef __ASSEMBLY__298298+299299+struct compat_bi_Macintosh300300+{301301+ unsigned long videoaddr;302302+ unsigned long videorow;303303+ unsigned long videodepth;304304+ unsigned long dimensions;305305+ unsigned long args;306306+ unsigned long boottime;307307+ unsigned long gmtbias;308308+ unsigned long bootver;309309+ unsigned long videological;310310+ unsigned long sccbase;311311+ unsigned long id;312312+ unsigned long memsize;313313+ unsigned long serialmf;314314+ unsigned long serialhsk;315315+ unsigned long serialgpi;316316+ unsigned long printmf;317317+ unsigned long printhsk;318318+ unsigned long printgpi;319319+ unsigned long cpuid;320320+ unsigned long rombase;321321+ unsigned long adbdelay;322322+ unsigned long timedbra;323323+};324324+325325+#endif326326+327327+struct compat_mem_info {328328+ unsigned long addr;329329+ unsigned long size;330330+};331331+332332+#define COMPAT_NUM_MEMINFO 4333333+334334+#define COMPAT_CPUB_68020 0335335+#define COMPAT_CPUB_68030 1336336+#define COMPAT_CPUB_68040 2337337+#define COMPAT_CPUB_68060 3338338+#define COMPAT_FPUB_68881 5339339+#define COMPAT_FPUB_68882 6340340+#define COMPAT_FPUB_68040 7341341+#define COMPAT_FPUB_68060 8342342+343343+#define COMPAT_CPU_68020 (1<<COMPAT_CPUB_68020)344344+#define COMPAT_CPU_68030 (1<<COMPAT_CPUB_68030)345345+#define COMPAT_CPU_68040 (1<<COMPAT_CPUB_68040)346346+#define COMPAT_CPU_68060 (1<<COMPAT_CPUB_68060)347347+#define COMPAT_CPU_MASK (31)348348+#define COMPAT_FPU_68881 (1<<COMPAT_FPUB_68881)349349+#define COMPAT_FPU_68882 (1<<COMPAT_FPUB_68882)350350+#define COMPAT_FPU_68040 (1<<COMPAT_FPUB_68040)351351+#define COMPAT_FPU_68060 (1<<COMPAT_FPUB_68060)352352+#define COMPAT_FPU_MASK (0xfe0)353353+354354+#define COMPAT_CL_SIZE (256)355355+356356+struct compat_bootinfo {357357+ unsigned long machtype;358358+ unsigned long cputype;359359+ struct compat_mem_info memory[COMPAT_NUM_MEMINFO];360360+ int num_memory;361361+ unsigned long ramdisk_size;362362+ unsigned long ramdisk_addr;363363+ char command_line[COMPAT_CL_SIZE];364364+ union {365365+ struct compat_bi_Amiga bi_ami;366366+ struct compat_bi_Atari bi_ata;367367+ struct compat_bi_Macintosh bi_mac;368368+ } bi_un;369369+};370370+371371+#define bi_amiga bi_un.bi_ami372372+#define bi_atari bi_un.bi_ata373373+#define bi_mac bi_un.bi_mac374374+375375+#endif /* BOOTINFO_COMPAT_1_0 */376376+377377+378378+#endif /* _M68K_BOOTINFO_H */
-378
arch/m68k/include/asm/bootinfo_mm.h
···11-/*22-** asm/bootinfo.h -- Definition of the Linux/m68k boot information structure33-**44-** Copyright 1992 by Greg Harp55-**66-** This file is subject to the terms and conditions of the GNU General Public77-** License. See the file COPYING in the main directory of this archive88-** for more details.99-**1010-** Created 09/29/92 by Greg Harp1111-**1212-** 5/2/94 Roman Hodek:1313-** Added bi_atari part of the machine dependent union bi_un; for now it1414-** contains just a model field to distinguish between TT and Falcon.1515-** 26/7/96 Roman Zippel:1616-** Renamed to setup.h; added some useful macros to allow gcc some1717-** optimizations if possible.1818-** 5/10/96 Geert Uytterhoeven:1919-** Redesign of the boot information structure; renamed to bootinfo.h again2020-** 27/11/96 Geert Uytterhoeven:2121-** Backwards compatibility with bootinfo interface version 1.02222-*/2323-2424-#ifndef _M68K_BOOTINFO_H2525-#define _M68K_BOOTINFO_H2626-2727-2828- /*2929- * Bootinfo definitions3030- *3131- * This is an easily parsable and extendable structure containing all3232- * information to be passed from the bootstrap to the kernel.3333- *3434- * This way I hope to keep all future changes back/forewards compatible.3535- * Thus, keep your fingers crossed...3636- *3737- * This structure is copied right after the kernel bss by the bootstrap3838- * routine.3939- */4040-4141-#ifndef __ASSEMBLY__4242-4343-struct bi_record {4444- unsigned short tag; /* tag ID */4545- unsigned short size; /* size of record (in bytes) */4646- unsigned long data[0]; /* data */4747-};4848-4949-#endif /* __ASSEMBLY__ */5050-5151-5252- /*5353- * Tag Definitions5454- *5555- * Machine independent tags start counting from 0x00005656- * Machine dependent tags start counting from 0x80005757- */5858-5959-#define BI_LAST 0x0000 /* last record (sentinel) */6060-#define BI_MACHTYPE 0x0001 /* machine type (u_long) */6161-#define BI_CPUTYPE 0x0002 /* cpu type (u_long) */6262-#define BI_FPUTYPE 0x0003 /* fpu type (u_long) */6363-#define BI_MMUTYPE 0x0004 /* mmu type (u_long) */6464-#define BI_MEMCHUNK 0x0005 /* memory chunk address and size */6565- /* (struct mem_info) */6666-#define BI_RAMDISK 0x0006 /* ramdisk address and size */6767- /* (struct mem_info) */6868-#define BI_COMMAND_LINE 0x0007 /* kernel command line parameters */6969- /* (string) */7070-7171- /*7272- * Amiga-specific tags7373- */7474-7575-#define BI_AMIGA_MODEL 0x8000 /* model (u_long) */7676-#define BI_AMIGA_AUTOCON 0x8001 /* AutoConfig device */7777- /* (struct ConfigDev) */7878-#define BI_AMIGA_CHIP_SIZE 0x8002 /* size of Chip RAM (u_long) */7979-#define BI_AMIGA_VBLANK 0x8003 /* VBLANK frequency (u_char) */8080-#define BI_AMIGA_PSFREQ 0x8004 /* power supply frequency (u_char) */8181-#define BI_AMIGA_ECLOCK 0x8005 /* EClock frequency (u_long) */8282-#define BI_AMIGA_CHIPSET 0x8006 /* native chipset present (u_long) */8383-#define BI_AMIGA_SERPER 0x8007 /* serial port period (u_short) */8484-8585- /*8686- * Atari-specific tags8787- */8888-8989-#define BI_ATARI_MCH_COOKIE 0x8000 /* _MCH cookie from TOS (u_long) */9090-#define BI_ATARI_MCH_TYPE 0x8001 /* special machine type (u_long) */9191- /* (values are ATARI_MACH_* defines */9292-9393-/* mch_cookie values (upper word) */9494-#define ATARI_MCH_ST 09595-#define ATARI_MCH_STE 19696-#define ATARI_MCH_TT 29797-#define ATARI_MCH_FALCON 39898-9999-/* mch_type values */100100-#define ATARI_MACH_NORMAL 0 /* no special machine type */101101-#define ATARI_MACH_MEDUSA 1 /* Medusa 040 */102102-#define ATARI_MACH_HADES 2 /* Hades 040 or 060 */103103-#define ATARI_MACH_AB40 3 /* Afterburner040 on Falcon */104104-105105- /*106106- * VME-specific tags107107- */108108-109109-#define BI_VME_TYPE 0x8000 /* VME sub-architecture (u_long) */110110-#define BI_VME_BRDINFO 0x8001 /* VME board information (struct) */111111-112112-/* BI_VME_TYPE codes */113113-#define VME_TYPE_TP34V 0x0034 /* Tadpole TP34V */114114-#define VME_TYPE_MVME147 0x0147 /* Motorola MVME147 */115115-#define VME_TYPE_MVME162 0x0162 /* Motorola MVME162 */116116-#define VME_TYPE_MVME166 0x0166 /* Motorola MVME166 */117117-#define VME_TYPE_MVME167 0x0167 /* Motorola MVME167 */118118-#define VME_TYPE_MVME172 0x0172 /* Motorola MVME172 */119119-#define VME_TYPE_MVME177 0x0177 /* Motorola MVME177 */120120-#define VME_TYPE_BVME4000 0x4000 /* BVM Ltd. BVME4000 */121121-#define VME_TYPE_BVME6000 0x6000 /* BVM Ltd. BVME6000 */122122-123123-/* BI_VME_BRDINFO is a 32 byte struct as returned by the Bug code on124124- * Motorola VME boards. Contains board number, Bug version, board125125- * configuration options, etc. See include/asm/mvme16xhw.h for details.126126- */127127-128128-129129- /*130130- * Macintosh-specific tags (all u_long)131131- */132132-133133-#define BI_MAC_MODEL 0x8000 /* Mac Gestalt ID (model type) */134134-#define BI_MAC_VADDR 0x8001 /* Mac video base address */135135-#define BI_MAC_VDEPTH 0x8002 /* Mac video depth */136136-#define BI_MAC_VROW 0x8003 /* Mac video rowbytes */137137-#define BI_MAC_VDIM 0x8004 /* Mac video dimensions */138138-#define BI_MAC_VLOGICAL 0x8005 /* Mac video logical base */139139-#define BI_MAC_SCCBASE 0x8006 /* Mac SCC base address */140140-#define BI_MAC_BTIME 0x8007 /* Mac boot time */141141-#define BI_MAC_GMTBIAS 0x8008 /* Mac GMT timezone offset */142142-#define BI_MAC_MEMSIZE 0x8009 /* Mac RAM size (sanity check) */143143-#define BI_MAC_CPUID 0x800a /* Mac CPU type (sanity check) */144144-#define BI_MAC_ROMBASE 0x800b /* Mac system ROM base address */145145-146146- /*147147- * Macintosh hardware profile data - unused, see macintosh.h for148148- * resonable type values149149- */150150-151151-#define BI_MAC_VIA1BASE 0x8010 /* Mac VIA1 base address (always present) */152152-#define BI_MAC_VIA2BASE 0x8011 /* Mac VIA2 base address (type varies) */153153-#define BI_MAC_VIA2TYPE 0x8012 /* Mac VIA2 type (VIA, RBV, OSS) */154154-#define BI_MAC_ADBTYPE 0x8013 /* Mac ADB interface type */155155-#define BI_MAC_ASCBASE 0x8014 /* Mac Apple Sound Chip base address */156156-#define BI_MAC_SCSI5380 0x8015 /* Mac NCR 5380 SCSI (base address, multi) */157157-#define BI_MAC_SCSIDMA 0x8016 /* Mac SCSI DMA (base address) */158158-#define BI_MAC_SCSI5396 0x8017 /* Mac NCR 53C96 SCSI (base address, multi) */159159-#define BI_MAC_IDETYPE 0x8018 /* Mac IDE interface type */160160-#define BI_MAC_IDEBASE 0x8019 /* Mac IDE interface base address */161161-#define BI_MAC_NUBUS 0x801a /* Mac Nubus type (none, regular, pseudo) */162162-#define BI_MAC_SLOTMASK 0x801b /* Mac Nubus slots present */163163-#define BI_MAC_SCCTYPE 0x801c /* Mac SCC serial type (normal, IOP) */164164-#define BI_MAC_ETHTYPE 0x801d /* Mac builtin ethernet type (Sonic, MACE */165165-#define BI_MAC_ETHBASE 0x801e /* Mac builtin ethernet base address */166166-#define BI_MAC_PMU 0x801f /* Mac power management / poweroff hardware */167167-#define BI_MAC_IOP_SWIM 0x8020 /* Mac SWIM floppy IOP */168168-#define BI_MAC_IOP_ADB 0x8021 /* Mac ADB IOP */169169-170170- /*171171- * Mac: compatibility with old booter data format (temporarily)172172- * Fields unused with the new bootinfo can be deleted now; instead of173173- * adding new fields the struct might be splitted into a hardware address174174- * part and a hardware type part175175- */176176-177177-#ifndef __ASSEMBLY__178178-179179-struct mac_booter_data180180-{181181- unsigned long videoaddr;182182- unsigned long videorow;183183- unsigned long videodepth;184184- unsigned long dimensions;185185- unsigned long args;186186- unsigned long boottime;187187- unsigned long gmtbias;188188- unsigned long bootver;189189- unsigned long videological;190190- unsigned long sccbase;191191- unsigned long id;192192- unsigned long memsize;193193- unsigned long serialmf;194194- unsigned long serialhsk;195195- unsigned long serialgpi;196196- unsigned long printmf;197197- unsigned long printhsk;198198- unsigned long printgpi;199199- unsigned long cpuid;200200- unsigned long rombase;201201- unsigned long adbdelay;202202- unsigned long timedbra;203203-};204204-205205-extern struct mac_booter_data206206- mac_bi_data;207207-208208-#endif209209-210210- /*211211- * Apollo-specific tags212212- */213213-214214-#define BI_APOLLO_MODEL 0x8000 /* model (u_long) */215215-216216- /*217217- * HP300-specific tags218218- */219219-220220-#define BI_HP300_MODEL 0x8000 /* model (u_long) */221221-#define BI_HP300_UART_SCODE 0x8001 /* UART select code (u_long) */222222-#define BI_HP300_UART_ADDR 0x8002 /* phys. addr of UART (u_long) */223223-224224- /*225225- * Stuff for bootinfo interface versioning226226- *227227- * At the start of kernel code, a 'struct bootversion' is located.228228- * bootstrap checks for a matching version of the interface before booting229229- * a kernel, to avoid user confusion if kernel and bootstrap don't work230230- * together :-)231231- *232232- * If incompatible changes are made to the bootinfo interface, the major233233- * number below should be stepped (and the minor reset to 0) for the234234- * appropriate machine. If a change is backward-compatible, the minor235235- * should be stepped. "Backwards-compatible" means that booting will work,236236- * but certain features may not.237237- */238238-239239-#define BOOTINFOV_MAGIC 0x4249561A /* 'BIV^Z' */240240-#define MK_BI_VERSION(major,minor) (((major)<<16)+(minor))241241-#define BI_VERSION_MAJOR(v) (((v) >> 16) & 0xffff)242242-#define BI_VERSION_MINOR(v) ((v) & 0xffff)243243-244244-#ifndef __ASSEMBLY__245245-246246-struct bootversion {247247- unsigned short branch;248248- unsigned long magic;249249- struct {250250- unsigned long machtype;251251- unsigned long version;252252- } machversions[0];253253-};254254-255255-#endif /* __ASSEMBLY__ */256256-257257-#define AMIGA_BOOTI_VERSION MK_BI_VERSION( 2, 0 )258258-#define ATARI_BOOTI_VERSION MK_BI_VERSION( 2, 1 )259259-#define MAC_BOOTI_VERSION MK_BI_VERSION( 2, 0 )260260-#define MVME147_BOOTI_VERSION MK_BI_VERSION( 2, 0 )261261-#define MVME16x_BOOTI_VERSION MK_BI_VERSION( 2, 0 )262262-#define BVME6000_BOOTI_VERSION MK_BI_VERSION( 2, 0 )263263-#define Q40_BOOTI_VERSION MK_BI_VERSION( 2, 0 )264264-#define HP300_BOOTI_VERSION MK_BI_VERSION( 2, 0 )265265-266266-#ifdef BOOTINFO_COMPAT_1_0267267-268268- /*269269- * Backwards compatibility with bootinfo interface version 1.0270270- */271271-272272-#define COMPAT_AMIGA_BOOTI_VERSION MK_BI_VERSION( 1, 0 )273273-#define COMPAT_ATARI_BOOTI_VERSION MK_BI_VERSION( 1, 0 )274274-#define COMPAT_MAC_BOOTI_VERSION MK_BI_VERSION( 1, 0 )275275-276276-#include <linux/zorro.h>277277-278278-#define COMPAT_NUM_AUTO 16279279-280280-struct compat_bi_Amiga {281281- int model;282282- int num_autocon;283283- struct ConfigDev autocon[COMPAT_NUM_AUTO];284284- unsigned long chip_size;285285- unsigned char vblank;286286- unsigned char psfreq;287287- unsigned long eclock;288288- unsigned long chipset;289289- unsigned long hw_present;290290-};291291-292292-struct compat_bi_Atari {293293- unsigned long hw_present;294294- unsigned long mch_cookie;295295-};296296-297297-#ifndef __ASSEMBLY__298298-299299-struct compat_bi_Macintosh300300-{301301- unsigned long videoaddr;302302- unsigned long videorow;303303- unsigned long videodepth;304304- unsigned long dimensions;305305- unsigned long args;306306- unsigned long boottime;307307- unsigned long gmtbias;308308- unsigned long bootver;309309- unsigned long videological;310310- unsigned long sccbase;311311- unsigned long id;312312- unsigned long memsize;313313- unsigned long serialmf;314314- unsigned long serialhsk;315315- unsigned long serialgpi;316316- unsigned long printmf;317317- unsigned long printhsk;318318- unsigned long printgpi;319319- unsigned long cpuid;320320- unsigned long rombase;321321- unsigned long adbdelay;322322- unsigned long timedbra;323323-};324324-325325-#endif326326-327327-struct compat_mem_info {328328- unsigned long addr;329329- unsigned long size;330330-};331331-332332-#define COMPAT_NUM_MEMINFO 4333333-334334-#define COMPAT_CPUB_68020 0335335-#define COMPAT_CPUB_68030 1336336-#define COMPAT_CPUB_68040 2337337-#define COMPAT_CPUB_68060 3338338-#define COMPAT_FPUB_68881 5339339-#define COMPAT_FPUB_68882 6340340-#define COMPAT_FPUB_68040 7341341-#define COMPAT_FPUB_68060 8342342-343343-#define COMPAT_CPU_68020 (1<<COMPAT_CPUB_68020)344344-#define COMPAT_CPU_68030 (1<<COMPAT_CPUB_68030)345345-#define COMPAT_CPU_68040 (1<<COMPAT_CPUB_68040)346346-#define COMPAT_CPU_68060 (1<<COMPAT_CPUB_68060)347347-#define COMPAT_CPU_MASK (31)348348-#define COMPAT_FPU_68881 (1<<COMPAT_FPUB_68881)349349-#define COMPAT_FPU_68882 (1<<COMPAT_FPUB_68882)350350-#define COMPAT_FPU_68040 (1<<COMPAT_FPUB_68040)351351-#define COMPAT_FPU_68060 (1<<COMPAT_FPUB_68060)352352-#define COMPAT_FPU_MASK (0xfe0)353353-354354-#define COMPAT_CL_SIZE (256)355355-356356-struct compat_bootinfo {357357- unsigned long machtype;358358- unsigned long cputype;359359- struct compat_mem_info memory[COMPAT_NUM_MEMINFO];360360- int num_memory;361361- unsigned long ramdisk_size;362362- unsigned long ramdisk_addr;363363- char command_line[COMPAT_CL_SIZE];364364- union {365365- struct compat_bi_Amiga bi_ami;366366- struct compat_bi_Atari bi_ata;367367- struct compat_bi_Macintosh bi_mac;368368- } bi_un;369369-};370370-371371-#define bi_amiga bi_un.bi_ami372372-#define bi_atari bi_un.bi_ata373373-#define bi_mac bi_un.bi_mac374374-375375-#endif /* BOOTINFO_COMPAT_1_0 */376376-377377-378378-#endif /* _M68K_BOOTINFO_H */