home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume26 / sysinfo-1.0 / part01 / info-sunos.c < prev    next >
C/C++ Source or Header  |  1993-04-10  |  16KB  |  645 lines

  1. /*
  2.  * Copyright (c) 1992 Michael A. Cooper.
  3.  * This software may be freely distributed provided it is not sold for 
  4.  * profit and the author is credited appropriately.
  5.  */
  6.  
  7. #ifndef lint
  8. static char *RCSid = "$Header: /src/common/usc/bin/sysinfo/RCS/info-sunos.c,v 1.19 1992/04/26 23:32:06 mcooper Exp $";
  9. #endif
  10.  
  11. /*
  12.  * $Log: info-sunos.c,v $
  13.  * Revision 1.19  1992/04/26  23:32:06  mcooper
  14.  * Add Copyright notice
  15.  *
  16.  * Revision 1.18  1992/04/19  18:44:59  mcooper
  17.  * Change around GS framebuffer definition according to Greg Earle.
  18.  *
  19.  * Revision 1.17  1992/04/17  23:33:04  mcooper
  20.  * Add RomVecNL.
  21.  *
  22.  * Revision 1.16  1992/04/17  01:10:11  mcooper
  23.  * Moved DEVICE *() function declares to defs.h.
  24.  *
  25.  * Revision 1.15  1992/04/15  02:42:12  mcooper
  26.  * Change "ipi3sc" to DT_GENERIC.
  27.  *
  28.  * Revision 1.14  1992/04/12  22:03:13  mcooper
  29.  * - Add Tadpole/SPARCbook support.
  30.  * - Add Solbourne models and arch's.
  31.  *
  32.  * Revision 1.13  1992/03/31  00:44:40  mcooper
  33.  * Add sun386 kernel arch.
  34.  *
  35.  * Revision 1.12  1992/03/28  21:29:24  mcooper
  36.  * Move NetifNL to netif.c.
  37.  *
  38.  * Revision 1.11  1992/03/22  00:20:10  mcooper
  39.  * Major cleanup and re-org.
  40.  *
  41.  * Revision 1.10  1992/03/08  04:58:56  mcooper
  42.  * The old NETIFTAB has been removed by placing the old data
  43.  * directly in the devdatatab.
  44.  *
  45.  * Revision 1.9  1992/03/06  18:34:02  mcooper
  46.  * - Use new NAMETAB whenever possible.
  47.  * - Replace _size vars with { 0 } entries.
  48.  *
  49.  * Revision 1.8  1992/03/01  23:30:15  mcooper
  50.  * More more SunOS specific code from sysinfo.c to here.
  51.  *
  52.  * Revision 1.7  1992/02/27  22:01:22  mcooper
  53.  * Add support for getting CPU info for sun4m.
  54.  *
  55.  * Revision 1.6  1992/02/27  20:37:59  mcooper
  56.  * Move netif names in devdatatab to top to avoid conflicts
  57.  * of "fd" and "fddi".
  58.  *
  59.  * Revision 1.5  1992/02/27  00:14:22  mcooper
  60.  * Add "ei" (Solbourne ethernet interface) to devdatatab.
  61.  *
  62.  * Revision 1.4  1992/02/26  19:07:02  mcooper
  63.  * Add more random Sun devices.
  64.  *
  65.  * Revision 1.3  1992/02/25  00:59:35  mcooper
  66.  * Move tape info to local MTINFO.
  67.  *
  68.  * Revision 1.2  1992/02/25  00:23:29  mcooper
  69.  * - Cleanup framebuffers.
  70.  * - Add mt info.
  71.  * - Update device table.
  72.  *
  73.  * Revision 1.1  1992/02/22  02:20:19  mcooper
  74.  * Initial revision
  75.  *
  76.  */
  77.  
  78.  
  79. /*
  80.  * SunOS specific device info
  81.  */
  82.  
  83. #include <stdio.h>
  84. #include "system.h"
  85. #include "defs.h"
  86.  
  87. #include <nlist.h>
  88. #include <sys/types.h>
  89. #include <sys/buf.h>
  90. #include <sys/mtio.h>
  91. #include <sun/dkio.h>
  92. #include <sun/fbio.h>
  93.  
  94. #if     defined(TADPOLE)
  95. #include <taddev/ide_drvr_def.h>
  96. #else    /* !TADPOLE */
  97. #    if     defined(HAVE_IPI)
  98. #        include <sundev/ipvar.h>
  99. #    endif     /* HAVE_IPI */
  100. #    include <sundev/xdreg.h>
  101. #    include <sundev/xyreg.h>
  102. #    include <sundev/scsi.h>
  103. #    if     defined(i386)
  104. #        include <sundev/sdreg.h>
  105. #    endif
  106. #endif    /* TADPOLE */
  107.  
  108. /*
  109.  * Characters for disk partitions
  110.  */
  111. char PartChars[] = "abcdefgh";
  112.  
  113. /*
  114.  * CPU (model) symbol
  115.  */
  116. struct nlist CpuNL[] = {
  117. #if    defined(COFF)
  118.     { "cpu" },
  119. #else
  120.     { "_cpu" },
  121. #endif    /* COFF */
  122.     { 0 },
  123. };
  124.  
  125. #if    defined(HAVE_MAINBUS)
  126. /*
  127.  * MainBus name list
  128.  */
  129. struct nlist MainBusNL[] = {
  130. #if    defined(COFF)
  131.     { "mbdinit" },
  132. #else
  133.     { "_mbdinit" },
  134. #endif    /* COFF */
  135.     { 0 },
  136. };
  137. #endif    /* HAVE_MAINBUS */
  138.  
  139. #if    defined(HAVE_OPENPROM)
  140. /*
  141.  * OpenPROM name list
  142.  */
  143. struct nlist OpenPROMNL[] = {
  144. #if    defined(COFF)
  145.     { "top_devinfo" },
  146. #else
  147.     { "_top_devinfo" },
  148. #endif    /* COFF */
  149.     { 0 },
  150. };
  151. #endif    /* HAVE_OPENPROM */
  152.  
  153. /*
  154.  * RomVec
  155.  */
  156. struct nlist RomVecNL[] = {
  157. #if    defined(COFF)
  158.     { "romp" },
  159. #else
  160.     { "_romp" },
  161. #endif    /* COFF */
  162.     { 0 },
  163. };
  164.  
  165. /*
  166.  * Sun system model table
  167.  *
  168.  * Not all values are real machines.  What is found below is
  169.  * extracted from /usr/include/{sun3,sun3x,sun4,sun4c,sun4m}/cpu.h.
  170.  */
  171. NAMETAB ModelTab[] = {
  172. /*
  173.  * Sun-3 CPU's
  174.  */
  175. #ifdef CPU_SUN3_50
  176.     {  CPU_SUN3_50,         "3/50" },
  177. #endif
  178. #ifdef CPU_SUN3_60
  179.     {  CPU_SUN3_60,         "3/60" },
  180. #endif
  181. #ifdef CPU_SUN3_E
  182.     {  CPU_SUN3_E,            "3/Eurocard" },
  183. #endif
  184. #ifdef CPU_SUN3_110
  185.     {  CPU_SUN3_110,            "3/110" },
  186. #endif
  187. #ifdef CPU_SUN3_160
  188.     {  CPU_SUN3_160,            "3/100 Series" },
  189. #endif
  190. #ifdef CPU_SUN3_260
  191.     {  CPU_SUN3_260,            "3/200 Series" },
  192. #endif
  193.  
  194. /*
  195.  * Sun-3x CPU's
  196.  */
  197. #ifdef CPU_SUN3X_80:
  198.     {  CPU_SUN3X_80,        "3/80" },
  199. #endif
  200. #ifdef CPU_SUN3X_470
  201.     {  CPU_SUN3X_470,        "3/400 Series" },
  202. #endif
  203.  
  204. /*
  205.  * Sun-4c CPU's.
  206.  */
  207. #ifdef CPU_SUN4C_05:
  208.     {  CPU_SUN4C_05,        "4/05" },
  209. #endif
  210. #ifdef CPU_SUN4C_10:
  211.     {  CPU_SUN4C_10,        "4/10" },
  212. #endif
  213. #ifdef CPU_SUN4C_20:
  214.     {  CPU_SUN4C_20,        "4/20 (SPARCstation SLC)" },
  215. #endif
  216. /*
  217.  * XXX The 4/25 and 4/30 are both ELC's depending on your OS
  218.  */
  219. #ifdef CPU_SUN4C_25:
  220.     {  CPU_SUN4C_25,        "4/25 (SPARCstation ELC)" },
  221. #endif
  222. #ifdef CPU_SUN4C_30:
  223.     {  CPU_SUN4C_30,        "4/30 (SPARCstation ELC)" },
  224. #endif
  225. #ifdef CPU_SUN4C_32:
  226.     {  CPU_SUN4C_32,        "4/32" },
  227. #endif
  228. #ifdef CPU_SUN4C_40:
  229.     {  CPU_SUN4C_40,        "4/40 (SPARCstation IPC)" },
  230. #endif
  231. #ifdef CPU_SUN4C_45:
  232.     {  CPU_SUN4C_45,        "4/45" },
  233. #endif
  234. #ifdef CPU_SUN4C_50:
  235.     {  CPU_SUN4C_50,        "4/50 (SPARCstation IPX)" },
  236. #endif
  237. #ifdef CPU_SUN4C_60:
  238.     {  CPU_SUN4C_60,        "4/60 (SPARCstation 1)" },
  239. #endif
  240. #ifdef CPU_SUN4C_65:
  241.     {  CPU_SUN4C_65,        "4/65 (SPARCstation 1+)" },
  242. #endif
  243. #ifdef CPU_SUN4C_70:
  244.     {  CPU_SUN4C_70,        "4/70" },
  245. #endif
  246. #ifdef CPU_SUN4C_75:
  247.     {  CPU_SUN4C_75,        "4/75 (SPARCstation 2)" },
  248. #endif
  249. #ifdef CPU_SUN4C_80:
  250.     {  CPU_SUN4C_80,        "4/80" },
  251. #endif
  252. #ifdef CPU_SUN4C_85:
  253.     {  CPU_SUN4C_85,        "4/85" },
  254. #endif
  255.  
  256. /*
  257.  * Sun-4 CPU's
  258.  */
  259. #ifdef CPU_SUN4_110
  260.     {  CPU_SUN4_110,            "4/110" },
  261. #endif
  262. #ifdef CPU_SUN4_260
  263.     {  CPU_SUN4_260,            "SPARCsystem 200" },
  264. #endif
  265. #ifdef CPU_SUN4_330
  266.     {  CPU_SUN4_330,        "SPARCsystem 300" },
  267. #endif
  268. #ifdef CPU_SUN4_460    /* Sun changed the 4_460 to 4_470 in 4.1.1 */
  269.     {  CPU_SUN4_460,        "SPARCsystem 400" },
  270. #endif
  271. #ifdef CPU_SUN4_470
  272.     {  CPU_SUN4_470,        "SPARCsystem 400" },
  273. #endif
  274.  
  275. /*
  276.  * Sun-4m CPU's
  277.  */
  278. #ifdef CPU_SUN4M_690
  279.     {  CPU_SUN4M_690,            "SPARCsystem 600" },
  280. #endif
  281.  
  282. /*
  283.  * Sun-386i CPU's
  284.  */
  285. #ifdef CPU_SUN386_MB1
  286.     {  CPU_SUN386_MB1,        "386i (MB1)" },
  287. #endif
  288. #ifdef CPU_SUN386_150
  289.     /* The 386i/150 and 386i/250 are the same */
  290.     {  CPU_SUN386_150,        "386i" },
  291. #endif
  292.  
  293. /*
  294.  * Solbourne CPU's
  295.  */
  296. #ifdef CPU_SERIES4_500
  297.     {  CPU_SERIES4_500,        "Series4/500" },
  298. #endif
  299. #ifdef CPU_SERIES4_600
  300.     {  CPU_SERIES4_600,        "Series4/600" },
  301. #endif
  302. #ifdef CPU_SERIES5_500
  303.     {  CPU_SERIES5_500,        "Series5/500" },
  304. #endif
  305. #ifdef CPU_SERIES5_600
  306.     {  CPU_SERIES5_600,        "Series5/600" },
  307. #endif
  308. #ifdef CPU_SERIES5_900
  309.     {  CPU_SERIES5_900,        "Series5/900" },
  310. #endif
  311. #ifdef CPU_SERIES5E_500
  312.     {  CPU_SERIES5E_500,    "Series5E/500" },
  313. #endif
  314. #ifdef CPU_SERIES5E_600
  315.     {  CPU_SERIES5E_600,    "Series5E/600" },
  316. #endif
  317. #ifdef CPU_SERIES5E_900
  318.     {  CPU_SERIES5E_900,    "Series5E/900" },
  319. #endif
  320. #ifdef CPU_SERIES6_500
  321.     {  CPU_SERIES6_500,        "Series6/500" },
  322. #endif
  323. #ifdef CPU_SERIES6_600
  324.     {  CPU_SERIES6_600,        "Series6/600" },
  325. #endif
  326. #ifdef CPU_SERIES6_900
  327.     {  CPU_SERIES6_900,        "Series6/900" },
  328. #endif
  329.  
  330. /*
  331.  * TadPole CPU's
  332.  */
  333. #ifdef CPU_TAD_SPBK_S1
  334.     {  CPU_TAD_SPBK_S1,        "SPARCbook-1" },
  335. #endif
  336.  
  337.     { 0 },
  338. };
  339.  
  340. /*
  341.  * Kernel Architecture table
  342.  */
  343. NAMETAB KernArchTab[] = {
  344. #ifdef SUN386_ARCH
  345.     {  SUN386_ARCH,        "sun386" },
  346. #endif
  347. #ifdef SUN3_ARCH
  348.     {  SUN3_ARCH,        "sun3" },
  349. #endif
  350. #ifdef SUN3X_ARCH
  351.     {  SUN3X_ARCH,        "sun3x" },
  352. #endif
  353. #ifdef SUN4_ARCH
  354.     {  SUN4_ARCH,        "sun4" },
  355. #endif
  356. #ifdef SUN4C_ARCH
  357.     {  SUN4C_ARCH,        "sun4c" },
  358. #endif
  359. #ifdef SUN4M_ARCH
  360.     {  SUN4M_ARCH,        "sun4m" },
  361. #endif
  362. /*
  363.  * Tadpole
  364.  */
  365. #ifdef TAD_SPBK_ARCH
  366.     {  TAD_SPBK_ARCH,        "SPARCbook" },
  367. #endif
  368. /*
  369.  * Solbourne
  370.  */
  371. #ifdef CPU_TYPE_SERIES4
  372.     {  CPU_TYPE_SERIES4,    "Series4" },
  373. #endif
  374. #ifdef CPU_TYPE_SERIES5
  375.     {  CPU_TYPE_SERIES5,    "Series5" },
  376. #endif
  377. #ifdef CPU_TYPE_SERIES5E
  378.     {  CPU_TYPE_SERIES5E,    "Series5E" },
  379. #endif
  380. #ifdef CPU_TYPE_SERIES6
  381.     {  CPU_TYPE_SERIES6,    "Series6" },
  382. #endif
  383. #ifdef CPU_TYPE_KAP_M2
  384.     {  CPU_TYPE_KAP_M2,        "KAP_M2" },
  385. #endif
  386.     { 0 },
  387. };
  388.  
  389. /*
  390.  * Device Data Table
  391.  *
  392.  * Compares are done by the length of the string appearing in
  393.  * the first columns.  Therefore, longer names must appear before
  394.  * any shorter names that are not unique.  e.g. "lebuffer" needs to
  395.  * be before "le".
  396.  */
  397. DEVDATATAB DevDataTab[] = {
  398.     { "ie",        0,    "Intel 82586 LAN Co-Processor",    
  399.                   "10Mb/sec Ethernet",    ProbeNetif },
  400.     { "ei",        0,    "Solbourne IOASIC AMD Lance Am7990",    
  401.                   "10Mb/sec Ethernet",    ProbeNetif },
  402.     { "lebuffer",     DT_PSEUDO,    NULL,    NULL,    ProbeGeneric },
  403.     { "le",        0,    "AMD Lance Am7990",
  404.                   "10Mb/sec Ethernet",    ProbeNetif },
  405.     { "ne",        0,    "Interphase NC400",
  406.                   "10Mb/sec Ethernet",    ProbeNetif },
  407.     { "fddi",        0,    "Sun FDDI",
  408.                   "100Mb/sec FDDI",    ProbeNetif },
  409.     { "sd",        0,        NULL,    NULL,    ProbeDiskDrive },
  410.     { "xd",        0,        NULL,    NULL,    ProbeDiskDrive },
  411.     { "xy",        0,        NULL,    NULL,    ProbeDiskDrive },
  412.     { "id",        0,        NULL,    NULL,    ProbeDiskDrive },
  413.     { "sr",        0,        "CD-ROM",    NULL,    ProbeDiskDrive },
  414.     { "fd",        0,        "Floppy",    NULL,    ProbeDiskDrive },
  415.     { "bwone",        0,        NULL,    NULL,    ProbeFrameBuffer },
  416.     { "bwtwo",        0,        NULL,    NULL,    ProbeFrameBuffer },
  417.     { "cgone",        0,        NULL,    NULL,    ProbeFrameBuffer },
  418.     { "cgtwo",        0,        NULL,    NULL,    ProbeFrameBuffer },
  419.     { "cgthree",    0,        NULL,    NULL,    ProbeFrameBuffer },
  420.     { "cgfour",        0,        NULL,    NULL,    ProbeFrameBuffer },
  421.     { "cgsix",        0,        NULL,    NULL,    ProbeFrameBuffer },
  422.     { "cgeight",    0,        NULL,    NULL,    ProbeFrameBuffer },
  423.     { "cgnine",        0,        NULL,    NULL,    ProbeFrameBuffer },
  424.     { "cgtwelve",    0,        NULL,    NULL,    ProbeFrameBuffer },
  425.     { "gpone",        0,        NULL,    NULL,    ProbeFrameBuffer },
  426.     { "gt",        0,        NULL,    NULL,    ProbeFrameBuffer },
  427.     { "taac",        0,        NULL,    NULL,    ProbeFrameBuffer },
  428.     { "vx",        0,        NULL,    NULL,    ProbeFrameBuffer },
  429.     { "Cypress,CY",    0,        NULL,    "CPU",    ProbeCPU },
  430.     { "sbus",        DT_BUS,        NULL,    NULL,    ProbeGeneric },
  431.     { "vme",        DT_BUS,        NULL,    NULL,    ProbeGeneric },
  432.     { "obio",        DT_BUS,        NULL,    "OnBoard I/O",    
  433.                             ProbeGeneric },
  434.     { "obmem",        DT_BUS,        NULL,    "OnBoard Memory",
  435.                               ProbeGeneric },
  436.     { "iommu",        DT_BUS,        NULL,    NULL,    ProbeGeneric },
  437.     { "dma",        DT_PSEUDO,    NULL,    NULL,    ProbeGeneric },
  438.     { "openprom",     DT_PSEUDO,    NULL,    NULL,    ProbeGeneric },
  439.     /* Old OpenPROMs say "Sun 4/60" instead of "SUNW,Sun 4/60" */
  440.     { "Sun ",         DT_PSEUDO,    NULL,    NULL,    ProbeGeneric },
  441.     { "SUNW,Sun",     DT_PSEUDO,    NULL,    NULL,    ProbeGeneric },
  442.     { "SUNW,pn",     DT_PSEUDO,    NULL,    NULL,    ProbeGeneric },
  443.     { "ipi3sc",     DT_GENERIC,    NULL,    NULL,    ProbeGeneric },
  444.     { "esp",        DT_DISKCTLR,    "Emulex SCSI interface",    
  445.       NULL,                        ProbeGeneric },
  446.     { "st",        DT_TAPEDRIVE,     "SCSI",
  447.     NULL,                        ProbeTapeDrive },
  448.     { "xtc",        DT_TAPECTLR,     "Xylogics 472",
  449.     "1/2 inch tape controller",             ProbeGeneric },
  450.     { "xt",        DT_TAPEDRIVE,     "Fujitsu M2444",
  451.     "1/2 inch tape drive",                ProbeTapeDrive },
  452.     { "audio",         DT_GENERIC,    "AM79C30A DSC",    
  453.       "telephone quality audio",            ProbeGeneric },
  454.     { "zs",         DT_GENERIC,    "Zilog 8530",    
  455.       "serial communications chip",            ProbeGeneric },
  456.     { "mti",         DT_GENERIC,    "ALM-1 (Systech MTI-1600)",    
  457.       "16-line terminal multiplexer",        ProbeGeneric },
  458.     { "mcp",         DT_GENERIC,    "ALM-2 (Sun MCP/ALM)",    
  459.       "16-line terminal multiplexer",        ProbeGeneric },
  460.     { "fpa",         DT_GENERIC,    "Wietek FPA",    
  461.       "floating point accelerator",            ProbeGeneric },
  462.     { "des",         DT_GENERIC,    "AmZ8068 Data Ciphering Processor",
  463.       "NBS Data Encryption Standard",        ProbeGeneric },
  464.     { "vpc",         DT_GENERIC,    "Systech VPC-2200",    
  465.       "Versatec & Centronics printer/plotter interface", ProbeGeneric },
  466.     { "pp",         DT_GENERIC,    "Parallel Port",
  467.       "Centronics-compatible parallel printer port", ProbeGeneric },
  468.     { "SUNW,bpp",    DT_GENERIC,    "SBus Printer Card",
  469.       "bidirectional parallel port",         ProbeGeneric },
  470.     { "SUNW,lpvi",    DT_GENERIC,    "SBus Printer Card",
  471.       "laser printer video interface",         ProbeGeneric },
  472.     { "db",        DT_GENERIC,    "Sun Dials Box",
  473.       NULL,     ProbeGeneric },
  474.     { "pr",         DT_GENERIC,    "PrestoServe",
  475.       "file system accelerator",             ProbeGeneric },
  476.     /* 
  477.      * Tadpole devices
  478.      */
  479.     { "nice",        0,    "NICE Ethernet Co-processor",
  480.                   "10Mb/sec Ethernet",    ProbeNetif },
  481.     { "par",         DT_GENERIC,    "Parallel Port",
  482.       "Centronics-compatible parallel printer port", ProbeGeneric },
  483.     { "modem",         DT_GENERIC,    NULL,
  484.       "Hayes compatible modem",             ProbeGeneric },
  485.     { "urt",         DT_GENERIC,    NULL,    
  486.       "serial communications chip",            ProbeGeneric },
  487.     { "vga",        0,        NULL,    NULL,    ProbeFrameBuffer },
  488.     { 0 },
  489. };
  490.  
  491. /*
  492.  * Table of known Sun Disk Controllers.
  493.  */
  494. DKCTLRTAB DkCtlrTab[] = {
  495. #if defined(DKC_XY450) && defined(XY_READ)
  496.     {  DKC_XY450,    "Xylogics 450/451 SMD",        XY_READ },
  497. #endif
  498. #if defined(DKC_ACB4000) && defined(SC_READ)
  499.     {  DKC_ACB4000,    "Adaptec ACB4000 SCSI",        SC_READ },
  500. #endif
  501. #if defined(DKC_MD21) && defined(SC_READ)
  502.     {  DKC_MD21,    "Emulex MD21 SCSI",        SC_READ },
  503. #endif
  504. #if defined(DKC_NCRFLOPPY) && defined(SC_READ)
  505.     {  DKC_NCRFLOPPY,    "NCR Floppy SCSI",        SC_READ },
  506. #endif
  507. #if defined(DKC_XD7053) && defined(XD_READ)
  508.     {  DKC_XD7053,    "Xylogics 7053/753 SMD",    XD_READ },
  509. #endif
  510. #if defined(DKC_SMSFLOPPY) && defined(SC_READ)
  511.     {  DKC_SMSFLOPPY,    "SMS Floppy SCSI",        SC_READ },
  512. #endif
  513. #if defined(DKC_SCSI_CCS) && defined(SC_READ)
  514.     {  DKC_SCSI_CCS,    "SCSI CCS",            SC_READ },
  515. #endif
  516. #if defined(DKC_CCS) && defined(SC_READ)
  517.     {  DKC_CCS,        "CCS SCSI",            SC_READ },
  518. #endif
  519. #if defined(DKC_NEC765)
  520.     {  DKC_NEC765,    "NEC 765 Floppy",        -1 },
  521. #endif
  522. #if defined(DKC_INTEL82072)
  523.     {  DKC_INTEL82072,    "Intel 82072 Floppy",         -1 },
  524. #endif
  525. #if defined(DKC_PANTHER) && defined(IP_READ)
  526.     {  DKC_PANTHER,    "Sun ISP-80 (Panther) IPI-2",    IP_READ },
  527. #endif
  528. #if defined(DKC_XD753_IPI) && defined(XD_READ)
  529. /*
  530.  * Solbourne
  531.  */
  532.     {  DKC_XD753_IPI,    "Xylogics SV-{67}800 IPI",    XD_READ },
  533. #endif
  534. #if    defined(TADPOLE)
  535. /*
  536.  * Tadpole
  537.  */
  538.     { 19,        "PC IDE",            IDE_READ },
  539. #endif    /* TADPOLE */
  540.     { 0 },
  541. };
  542.  
  543. /*
  544.  * Table of known Sun Frame Buffers
  545.  */
  546. NAMETAB FBTab[] = {
  547. #ifdef FBTYPE_SUN2BW
  548.     {  FBTYPE_SUN2BW,        "Black & White memory (bwtwo)" },
  549. #endif
  550. #ifdef FBTYPE_SUN2COLOR
  551.     {  FBTYPE_SUN2COLOR,    "Color Graphics w/rasterop (cgtwo)" },
  552. #endif
  553. #ifdef FBTYPE_SUN2GP
  554.     {  FBTYPE_SUN2GP,        "GS Graphics Processor (cgtwelve)" },
  555. #endif
  556. #ifdef FBTYPE_SUN5COLOR
  557.     {  FBTYPE_SUN5COLOR,    "Sun-386i Accelerated Color" },
  558. #endif
  559. #ifdef FBTYPE_SUN3COLOR
  560.     {  FBTYPE_SUN3COLOR,    "8-bit Color (cgthree)" },
  561. #endif
  562. #ifdef FBTYPE_MEMCOLOR
  563.     {  FBTYPE_MEMCOLOR,        "B&W memory overlay plane (bwtwo)" },
  564. #endif
  565. #ifdef FBTYPE_SUN4COLOR
  566.     {  FBTYPE_SUN4COLOR,    "Color memory w/overlay (cgfour)" },
  567. #endif
  568. #ifdef FBTYPE_SUNFAST_COLOR
  569.     {  FBTYPE_SUNFAST_COLOR,    "GX 8-bit Accelerated Color (cgsix)" },
  570. #endif
  571. #ifdef FBTYPE_SUNROP_COLOR
  572.     {  FBTYPE_SUNROP_COLOR,    "24-bit Color w/rasterop" },
  573. #endif
  574. #ifdef FBTYPE_SUNFB_VIDEO
  575.     {  FBTYPE_SUNFB_VIDEO,    "Video Mixing" },
  576. #endif
  577. #ifdef FBTYPE_SUNGIFB
  578.     {  FBTYPE_SUNGIFB,        "Medical Imaging" },
  579. #endif
  580. #ifdef FBTYPE_SUNGPLAS
  581.     {  FBTYPE_SUNGPLAS,        "Plasma Panel" },
  582. #endif
  583. #ifdef FBTYPE_SUNGP3
  584.     {  FBTYPE_SUNGP3,        "24-bit Accelerated GPSI Color" },
  585. #endif
  586. #ifdef FBTYPE_SUNGT
  587.     {  FBTYPE_SUNGT,        "24-bit Color Graphics Accelerator (gt)" },
  588. #endif
  589. /*
  590.  * Tadpole frame buffer's
  591.  */
  592. #if    defined(TADPOLE)
  593. #ifdef FBTYPE_NOTSUN1
  594.     {  FBTYPE_NOTSUN1,        "VGA Graphics Card" },
  595. #endif
  596. #endif    /* TADPOLE */
  597.     { 0 },
  598. };
  599.  
  600. /*
  601.  * Magnetic Tape Info.
  602.  *
  603.  * This info is based on <sys/mtio.h>.  It would be nice to just
  604.  * use that info, but not all systems have MT_TAPE_INFO.
  605.  */
  606. NAMETAB MtInfo[] = {
  607. #ifdef MT_ISCPC
  608.     {  MT_ISCPC,        "TapeMaster 1/2-inch" },
  609. #endif
  610. #ifdef MT_ISXY
  611.     {  MT_ISXY,            "Xylogics 472 1/2-inch" },
  612. #endif
  613. #ifdef MT_ISAR
  614.     {  MT_ISAR,            "Archive QIC-11" },
  615. #endif
  616. #ifdef MT_ISSYSGEN11
  617.     {  MT_ISSYSGEN11,        "Sysgen QIC-11" },
  618. #endif
  619. #ifdef MT_ISSYSGEN
  620.     {  MT_ISSYSGEN,        "Sysgen QIC-24" },
  621. #endif
  622. #ifdef MT_ISMT02
  623.     {  MT_ISMT02,        "Emulex MT-02 QIC-24" },
  624. #endif
  625. #ifdef MT_ISVIPER1
  626.     {  MT_ISVIPER1,        "Archive QIC-150" },
  627. #endif
  628. #ifdef MT_ISWANGTEK1
  629.     {  MT_ISWANGTEK1,        "Wangtek QIC-150" },
  630. #endif
  631. #ifdef MT_ISKENNEDY
  632.     {  MT_ISKENNEDY,        "Kennedy 9612 1/2-inch" },
  633. #endif
  634. #ifdef MT_ISHP
  635.     {  MT_ISHP,            "HP 88780 1/2-inch" },
  636. #endif
  637. #ifdef MT_ISEXABYTE
  638.     {  MT_ISEXABYTE,        "Exabyte EXB-8200 8mm" },
  639. #endif
  640. #ifdef MT_ISEXB8500
  641.     {  MT_ISEXB8500,        "Exabyte EXB-8500 8mm" },
  642. #endif
  643.     { 0 },
  644. };
  645.