···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.0229*/23102411#ifndef _M68K_BOOTINFO_H2512#define _M68K_BOOTINFO_H26132727-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 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- * reasonable 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- /*172172- * Apollo-specific tags173173- */174174-175175-#define BI_APOLLO_MODEL 0x8000 /* model (u_long) */176176-177177- /*178178- * HP300-specific tags179179- */180180-181181-#define BI_HP300_MODEL 0x8000 /* model (u_long) */182182-#define BI_HP300_UART_SCODE 0x8001 /* UART select code (u_long) */183183-#define BI_HP300_UART_ADDR 0x8002 /* phys. addr of UART (u_long) */184184-185185- /*186186- * Stuff for bootinfo interface versioning187187- *188188- * At the start of kernel code, a 'struct bootversion' is located.189189- * bootstrap checks for a matching version of the interface before booting190190- * a kernel, to avoid user confusion if kernel and bootstrap don't work191191- * together :-)192192- *193193- * If incompatible changes are made to the bootinfo interface, the major194194- * number below should be stepped (and the minor reset to 0) for the195195- * appropriate machine. If a change is backward-compatible, the minor196196- * should be stepped. "Backwards-compatible" means that booting will work,197197- * but certain features may not.198198- */199199-200200-#define BOOTINFOV_MAGIC 0x4249561A /* 'BIV^Z' */201201-#define MK_BI_VERSION(major,minor) (((major)<<16)+(minor))202202-#define BI_VERSION_MAJOR(v) (((v) >> 16) & 0xffff)203203-#define BI_VERSION_MINOR(v) ((v) & 0xffff)204204-205205-#ifndef __ASSEMBLY__206206-207207-struct bootversion {208208- unsigned short branch;209209- unsigned long magic;210210- struct {211211- unsigned long machtype;212212- unsigned long version;213213- } machversions[0];214214-};215215-216216-#endif /* __ASSEMBLY__ */217217-218218-#define AMIGA_BOOTI_VERSION MK_BI_VERSION( 2, 0 )219219-#define ATARI_BOOTI_VERSION MK_BI_VERSION( 2, 1 )220220-#define MAC_BOOTI_VERSION MK_BI_VERSION( 2, 0 )221221-#define MVME147_BOOTI_VERSION MK_BI_VERSION( 2, 0 )222222-#define MVME16x_BOOTI_VERSION MK_BI_VERSION( 2, 0 )223223-#define BVME6000_BOOTI_VERSION MK_BI_VERSION( 2, 0 )224224-#define Q40_BOOTI_VERSION MK_BI_VERSION( 2, 0 )225225-#define HP300_BOOTI_VERSION MK_BI_VERSION( 2, 0 )1414+#include <uapi/asm/bootinfo.h>2261522716#endif /* _M68K_BOOTINFO_H */
···11+/*22+** asm/bootinfo-mac.h -- Macintosh-specific boot information definitions33+*/44+55+#ifndef _UAPI_ASM_M68K_BOOTINFO_MAC_H66+#define _UAPI_ASM_M68K_BOOTINFO_MAC_H77+88+99+ /*1010+ * Macintosh-specific tags (all u_long)1111+ */1212+1313+#define BI_MAC_MODEL 0x8000 /* Mac Gestalt ID (model type) */1414+#define BI_MAC_VADDR 0x8001 /* Mac video base address */1515+#define BI_MAC_VDEPTH 0x8002 /* Mac video depth */1616+#define BI_MAC_VROW 0x8003 /* Mac video rowbytes */1717+#define BI_MAC_VDIM 0x8004 /* Mac video dimensions */1818+#define BI_MAC_VLOGICAL 0x8005 /* Mac video logical base */1919+#define BI_MAC_SCCBASE 0x8006 /* Mac SCC base address */2020+#define BI_MAC_BTIME 0x8007 /* Mac boot time */2121+#define BI_MAC_GMTBIAS 0x8008 /* Mac GMT timezone offset */2222+#define BI_MAC_MEMSIZE 0x8009 /* Mac RAM size (sanity check) */2323+#define BI_MAC_CPUID 0x800a /* Mac CPU type (sanity check) */2424+#define BI_MAC_ROMBASE 0x800b /* Mac system ROM base address */2525+2626+2727+ /*2828+ * Macintosh hardware profile data - unused, see macintosh.h for2929+ * reasonable type values3030+ */3131+3232+#define BI_MAC_VIA1BASE 0x8010 /* Mac VIA1 base address (always present) */3333+#define BI_MAC_VIA2BASE 0x8011 /* Mac VIA2 base address (type varies) */3434+#define BI_MAC_VIA2TYPE 0x8012 /* Mac VIA2 type (VIA, RBV, OSS) */3535+#define BI_MAC_ADBTYPE 0x8013 /* Mac ADB interface type */3636+#define BI_MAC_ASCBASE 0x8014 /* Mac Apple Sound Chip base address */3737+#define BI_MAC_SCSI5380 0x8015 /* Mac NCR 5380 SCSI (base address, multi) */3838+#define BI_MAC_SCSIDMA 0x8016 /* Mac SCSI DMA (base address) */3939+#define BI_MAC_SCSI5396 0x8017 /* Mac NCR 53C96 SCSI (base address, multi) */4040+#define BI_MAC_IDETYPE 0x8018 /* Mac IDE interface type */4141+#define BI_MAC_IDEBASE 0x8019 /* Mac IDE interface base address */4242+#define BI_MAC_NUBUS 0x801a /* Mac Nubus type (none, regular, pseudo) */4343+#define BI_MAC_SLOTMASK 0x801b /* Mac Nubus slots present */4444+#define BI_MAC_SCCTYPE 0x801c /* Mac SCC serial type (normal, IOP) */4545+#define BI_MAC_ETHTYPE 0x801d /* Mac builtin ethernet type (Sonic, MACE */4646+#define BI_MAC_ETHBASE 0x801e /* Mac builtin ethernet base address */4747+#define BI_MAC_PMU 0x801f /* Mac power management / poweroff hardware */4848+#define BI_MAC_IOP_SWIM 0x8020 /* Mac SWIM floppy IOP */4949+#define BI_MAC_IOP_ADB 0x8021 /* Mac ADB IOP */5050+5151+5252+ /*5353+ * Latest Macintosh bootinfo version5454+ */5555+5656+#define MAC_BOOTI_VERSION MK_BI_VERSION(2, 0)5757+5858+5959+#endif /* _UAPI_ASM_M68K_BOOTINFO_MAC_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+1111+#ifndef _UAPI_ASM_M68K_BOOTINFO_H1212+#define _UAPI_ASM_M68K_BOOTINFO_H1313+1414+#include <linux/types.h>1515+1616+1717+#ifndef __ASSEMBLY__1818+1919+ /*2020+ * Bootinfo definitions2121+ *2222+ * This is an easily parsable and extendable structure containing all2323+ * information to be passed from the bootstrap to the kernel.2424+ *2525+ * This way I hope to keep all future changes back/forewards compatible.2626+ * Thus, keep your fingers crossed...2727+ *2828+ * This structure is copied right after the kernel by the bootstrap2929+ * routine.3030+ */3131+3232+struct bi_record {3333+ unsigned short tag; /* tag ID */3434+ unsigned short size; /* size of record (in bytes) */3535+ unsigned long data[0]; /* data */3636+};3737+3838+#endif /* __ASSEMBLY__ */3939+4040+4141+ /*4242+ * Tag Definitions4343+ *4444+ * Machine independent tags start counting from 0x00004545+ * Machine dependent tags start counting from 0x80004646+ */4747+4848+#define BI_LAST 0x0000 /* last record (sentinel) */4949+#define BI_MACHTYPE 0x0001 /* machine type (u_long) */5050+#define BI_CPUTYPE 0x0002 /* cpu type (u_long) */5151+#define BI_FPUTYPE 0x0003 /* fpu type (u_long) */5252+#define BI_MMUTYPE 0x0004 /* mmu type (u_long) */5353+#define BI_MEMCHUNK 0x0005 /* memory chunk address and size */5454+ /* (struct mem_info) */5555+#define BI_RAMDISK 0x0006 /* ramdisk address and size */5656+ /* (struct mem_info) */5757+#define BI_COMMAND_LINE 0x0007 /* kernel command line parameters */5858+ /* (string) */5959+6060+6161+ /*6262+ * Stuff for bootinfo interface versioning6363+ *6464+ * At the start of kernel code, a 'struct bootversion' is located.6565+ * bootstrap checks for a matching version of the interface before booting6666+ * a kernel, to avoid user confusion if kernel and bootstrap don't work6767+ * together :-)6868+ *6969+ * If incompatible changes are made to the bootinfo interface, the major7070+ * number below should be stepped (and the minor reset to 0) for the7171+ * appropriate machine. If a change is backward-compatible, the minor7272+ * should be stepped. "Backwards-compatible" means that booting will work,7373+ * but certain features may not.7474+ */7575+7676+#define BOOTINFOV_MAGIC 0x4249561A /* 'BIV^Z' */7777+#define MK_BI_VERSION(major, minor) (((major) << 16) + (minor))7878+#define BI_VERSION_MAJOR(v) (((v) >> 16) & 0xffff)7979+#define BI_VERSION_MINOR(v) ((v) & 0xffff)8080+8181+#ifndef __ASSEMBLY__8282+8383+struct bootversion {8484+ unsigned short branch;8585+ unsigned long magic;8686+ struct {8787+ unsigned long machtype;8888+ unsigned long version;8989+ } machversions[0];9090+} __packed;9191+9292+#endif /* __ASSEMBLY__ */9393+9494+9595+#endif /* _UAPI_ASM_M68K_BOOTINFO_H */