diff options
Diffstat (limited to 'sys/arch/mac68k')
-rw-r--r-- | sys/arch/mac68k/include/cpu.h | 127 | ||||
-rw-r--r-- | sys/arch/mac68k/include/macinfo.h | 160 |
2 files changed, 161 insertions, 126 deletions
diff --git a/sys/arch/mac68k/include/cpu.h b/sys/arch/mac68k/include/cpu.h index 2271195b749..d29efa99efa 100644 --- a/sys/arch/mac68k/include/cpu.h +++ b/sys/arch/mac68k/include/cpu.h @@ -1,4 +1,4 @@ -/* $OpenBSD: cpu.h,v 1.11 1996/10/20 23:40:54 briggs Exp $ */ +/* $OpenBSD: cpu.h,v 1.12 1996/10/28 14:34:06 briggs Exp $ */ /* $NetBSD: cpu.h,v 1.43 1996/10/15 14:42:49 scottr Exp $ */ /* @@ -154,131 +154,6 @@ extern unsigned char ssir; { "console_device", CTLTYPE_STRUCT }, \ } -/* values for machineid -- - * These are equivalent to the MacOS Gestalt values. */ -#define MACH_MACII 6 -#define MACH_MACIIX 7 -#define MACH_MACIICX 8 -#define MACH_MACSE30 9 -#define MACH_MACIICI 11 -#define MACH_MACIIFX 13 -#define MACH_MACIISI 18 -#define MACH_MACQ900 20 -#define MACH_MACPB170 21 -#define MACH_MACQ700 22 -#define MACH_MACCLASSICII 23 -#define MACH_MACPB100 24 -#define MACH_MACPB140 25 -#define MACH_MACQ950 26 -#define MACH_MACLCIII 27 -#define MACH_MACPB210 29 -#define MACH_MACC650 30 -#define MACH_MACPB230 32 -#define MACH_MACPB180 33 -#define MACH_MACPB160 34 -#define MACH_MACQ800 35 -#define MACH_MACQ650 36 -#define MACH_MACLCII 37 -#define MACH_MACPB250 38 -#define MACH_MACIIVI 44 -#define MACH_MACP600 45 -#define MACH_MACIIVX 48 -#define MACH_MACCCLASSIC 49 -#define MACH_MACPB165C 50 -#define MACH_MACC610 52 -#define MACH_MACQ610 53 -#define MACH_MACPB145 54 -#define MACH_MACLC520 56 -#define MACH_MACC660AV 60 -#define MACH_MACP460 62 -#define MACH_MACPB180C 71 -#define MACH_MACPB500 72 -#define MACH_MACPB270 77 -#define MACH_MACQ840AV 78 -#define MACH_MACP550 80 -#define MACH_MACCCLASSICII 83 -#define MACH_MACPB165 84 -#define MACH_MACTV 88 -#define MACH_MACLC475 89 -#define MACH_MACLC575 92 -#define MACH_MACQ605 94 -#define MACH_MACQ630 98 -#define MACH_MACPB280 102 -#define MACH_MACPB280C 103 -#define MACH_MACPB150 115 - -/* - * Machine classes. These define subsets of the above machines. - */ -#define MACH_CLASSH 0x0000 /* Hopeless cases... */ -#define MACH_CLASSII 0x0001 /* MacII class */ -#define MACH_CLASSIIci 0x0004 /* Have RBV, but no Egret */ -#define MACH_CLASSIIsi 0x0005 /* Similar to IIci -- Have Egret. */ -#define MACH_CLASSIIvx 0x0006 /* Similar to IIsi -- different via2 emul? */ -#define MACH_CLASSLC 0x0007 /* Low-Cost/Performa/Wal-Mart Macs. */ -#define MACH_CLASSPB 0x0008 /* Powerbooks. Power management. */ -#define MACH_CLASSDUO 0x0009 /* Powerbooks Duos. More integration/Docks. */ -#define MACH_CLASSIIfx 0x0080 /* The IIfx is in a class by itself. */ -#define MACH_CLASSQ 0x0100 /* non-A/V Centris/Quadras. */ -#define MACH_CLASSAV 0x0101 /* A/V Centris/Quadras. */ -#define MACH_CLASSQ2 0x0102 /* More Centris/Quadras, different sccA. */ - -#define MACH_68020 0 -#define MACH_68030 1 -#define MACH_68040 2 -#define MACH_PENTIUM 3 /* 66 and 99 MHz versions *only* */ - -#ifdef _KERNEL -struct mac68k_machine_S { - int cpu_model_index; - /* - * Misc. info from booter. - */ - int machineid; - int mach_processor; - int mach_memsize; - int booter_version; - /* - * Debugging flags. - */ - int do_graybars; - int serial_boot_echo; - int serial_console; - int modem_flags; - int modem_cts_clk; - int modem_dcd_clk; - int print_flags; - int print_cts_clk; - int print_dcd_clk; - /* - * Misc. hardware info. - */ - int scsi80; /* Has NCR 5380 */ - int scsi96; /* Has NCR 53C96 */ - int scsi96_2; /* Has 2nd 53C96 */ - int sonic; /* Has SONIC e-net */ - - int sccClkConst; /* "Constant" for SCC bps */ -}; - - /* What kind of model is this */ -struct cpu_model_info { - int machineid; /* MacOS Gestalt value. */ - char *model_major; /* Make this distinction to save a few */ - char *model_minor; /* bytes--might be useful, too. */ - int class; /* Rough class of machine. */ - /* forwarded romvec_s is defined in mac68k/macrom.h */ - struct romvec_s *rom_vectors; /* Pointer to our known rom vectors */ -}; -extern struct cpu_model_info *current_mac_model; - -extern unsigned long IOBase; /* Base address of I/O */ -extern unsigned long NuBusBase; /* Base address of NuBus */ - -extern struct mac68k_machine_S mac68k_machine; -extern unsigned long load_addr; -#endif /* _KERNEL */ - /* physical memory sections */ #define ROMBASE (0x40800000) #define ROMLEN (0x00200000) /* 2MB should be enough! */ diff --git a/sys/arch/mac68k/include/macinfo.h b/sys/arch/mac68k/include/macinfo.h new file mode 100644 index 00000000000..3087513a996 --- /dev/null +++ b/sys/arch/mac68k/include/macinfo.h @@ -0,0 +1,160 @@ + +/* $OpenBSD: macinfo.h,v 1.1 1996/10/28 14:34:07 briggs Exp $ */ +/* $NetBSD: scsi96reg.h,v 1.5 1996/05/05 06:18:02 briggs Exp $ */ + +/* + * Copyright (C) 1996 Allen K. Briggs + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _MACINFO_MACHINE_ +#define _MACINFO_MACHINE_ + +/* values for machineid -- + * These are equivalent to the MacOS Gestalt values. */ +#define MACH_MACII 6 +#define MACH_MACIIX 7 +#define MACH_MACIICX 8 +#define MACH_MACSE30 9 +#define MACH_MACIICI 11 +#define MACH_MACIIFX 13 +#define MACH_MACIISI 18 +#define MACH_MACQ900 20 +#define MACH_MACPB170 21 +#define MACH_MACQ700 22 +#define MACH_MACCLASSICII 23 +#define MACH_MACPB100 24 +#define MACH_MACPB140 25 +#define MACH_MACQ950 26 +#define MACH_MACLCIII 27 +#define MACH_MACPB210 29 +#define MACH_MACC650 30 +#define MACH_MACPB230 32 +#define MACH_MACPB180 33 +#define MACH_MACPB160 34 +#define MACH_MACQ800 35 +#define MACH_MACQ650 36 +#define MACH_MACLCII 37 +#define MACH_MACPB250 38 +#define MACH_MACIIVI 44 +#define MACH_MACP600 45 +#define MACH_MACIIVX 48 +#define MACH_MACCCLASSIC 49 +#define MACH_MACPB165C 50 +#define MACH_MACC610 52 +#define MACH_MACQ610 53 +#define MACH_MACPB145 54 +#define MACH_MACLC520 56 +#define MACH_MACC660AV 60 +#define MACH_MACP460 62 +#define MACH_MACPB180C 71 +#define MACH_MACPB500 72 +#define MACH_MACPB270 77 +#define MACH_MACQ840AV 78 +#define MACH_MACP550 80 +#define MACH_MACCCLASSICII 83 +#define MACH_MACPB165 84 +#define MACH_MACTV 88 +#define MACH_MACLC475 89 +#define MACH_MACLC575 92 +#define MACH_MACQ605 94 +#define MACH_MACQ630 98 +#define MACH_MACPB280 102 +#define MACH_MACPB280C 103 +#define MACH_MACPB150 115 + +/* + * Machine classes. These define subsets of the above machines. + */ +#define MACH_CLASSH 0x0000 /* Hopeless cases... */ +#define MACH_CLASSII 0x0001 /* MacII class */ +#define MACH_CLASSIIci 0x0004 /* Have RBV, but no Egret */ +#define MACH_CLASSIIsi 0x0005 /* Similar to IIci -- Have Egret. */ +#define MACH_CLASSIIvx 0x0006 /* Similar to IIsi -- different via2 emul? */ +#define MACH_CLASSLC 0x0007 /* Low-Cost/Performa/Wal-Mart Macs. */ +#define MACH_CLASSPB 0x0008 /* Powerbooks. Power management. */ +#define MACH_CLASSDUO 0x0009 /* Powerbooks Duos. More integration/Docks. */ +#define MACH_CLASSIIfx 0x0080 /* The IIfx is in a class by itself. */ +#define MACH_CLASSQ 0x0100 /* non-A/V Centris/Quadras. */ +#define MACH_CLASSAV 0x0101 /* A/V Centris/Quadras. */ +#define MACH_CLASSQ2 0x0102 /* More Centris/Quadras, different sccA. */ + +#define MACH_68020 0 +#define MACH_68030 1 +#define MACH_68040 2 +#define MACH_PENTIUM 3 /* 66 and 99 MHz versions *only* */ + +#ifdef _KERNEL +struct mac68k_machine_S { + int cpu_model_index; + /* + * Misc. info from booter. + */ + int machineid; + int mach_processor; + int mach_memsize; + int booter_version; + /* + * Debugging flags. + */ + int do_graybars; + int serial_boot_echo; + int serial_console; + int modem_flags; + int modem_cts_clk; + int modem_dcd_clk; + int print_flags; + int print_cts_clk; + int print_dcd_clk; + /* + * Misc. hardware info. + */ + int scsi80; /* Has NCR 5380 */ + int scsi96; /* Has NCR 53C96 */ + int scsi96_2; /* Has 2nd 53C96 */ + int sonic; /* Has SONIC e-net */ + + int sccClkConst; /* "Constant" for SCC bps */ +}; + + /* What kind of model is this */ +struct cpu_model_info { + int machineid; /* MacOS Gestalt value. */ + char *model_major; /* Make this distinction to save a few */ + char *model_minor; /* bytes--might be useful, too. */ + int class; /* Rough class of machine. */ + /* forwarded romvec_s is defined in mac68k/macrom.h */ + struct romvec_s *rom_vectors; /* Pointer to our known rom vectors */ +}; +extern struct cpu_model_info *current_mac_model; + +extern unsigned long IOBase; /* Base address of I/O */ +extern unsigned long NuBusBase; /* Base address of NuBus */ + +extern struct mac68k_machine_S mac68k_machine; +extern unsigned long load_addr; +#endif /* _KERNEL */ + +#endif |