root/arch/i386/stand/cdboot/conf.c

/* [<][>][^][v][top][bottom][index][help] */
    1 /*      $OpenBSD: conf.c,v 1.10 2007/05/31 21:43:57 tom Exp $   */
    2 
    3 /*
    4  * Copyright (c) 2004 Tom Cosgrove
    5  * Copyright (c) 1996 Michael Shalayeff
    6  * All rights reserved.
    7  *
    8  * Redistribution and use in source and binary forms, with or without
    9  * modification, are permitted provided that the following conditions
   10  * are met:
   11  * 1. Redistributions of source code must retain the above copyright
   12  *    notice, this list of conditions and the following disclaimer.
   13  * 2. Redistributions in binary form must reproduce the above copyright
   14  *    notice, this list of conditions and the following disclaimer in the
   15  *    documentation and/or other materials provided with the distribution.
   16  *
   17  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 
   18  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
   19  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   20  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
   21  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   22  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   23  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   24  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   25  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   26  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   27  * SUCH DAMAGE.
   28  */
   29 
   30 #include <sys/types.h>
   31 #include <netinet/in.h>
   32 #include <libsa.h>
   33 #include <lib/libsa/ufs.h>
   34 #include <lib/libsa/cd9660.h>
   35 #ifdef notdef
   36 #include <lib/libsa/fat.h>
   37 #include <lib/libsa/nfs.h>
   38 #include <lib/libsa/tftp.h>
   39 #include <lib/libsa/netif.h>
   40 #endif
   41 #include <lib/libsa/unixdev.h>
   42 #include <biosdev.h>
   43 #include <dev/cons.h>
   44 #include "debug.h"
   45 
   46 const char version[] = "2.01";
   47 int     debug = 1;
   48 
   49 #undef _TEST
   50 
   51 
   52 void (*sa_cleanup)(void) = NULL;
   53 
   54 
   55 void (*i386_probe1[])(void) = {
   56         ps2probe, gateA20on, debug_init, cninit, apmprobe,
   57         pciprobe, /* smpprobe, */ memprobe
   58 };
   59 void (*i386_probe2[])(void) = {
   60         diskprobe, cdprobe
   61 };
   62 
   63 struct i386_boot_probes probe_list[] = {
   64         { "probing", i386_probe1, NENTS(i386_probe1) },
   65         { "disk",    i386_probe2, NENTS(i386_probe2) },
   66 };
   67 int nibprobes = NENTS(probe_list);
   68 
   69 struct fs_ops file_system[] = {
   70         { ufs_open,    ufs_close,    ufs_read,    ufs_write,    ufs_seek,
   71           ufs_stat,    ufs_readdir    },
   72         { cd9660_open, cd9660_close, cd9660_read, cd9660_write, cd9660_seek,
   73           cd9660_stat, cd9660_readdir },
   74 #ifdef notdef
   75         { tftp_open,   tftp_close,   tftp_read,   tftp_write,   tftp_seek,
   76           tftp_stat,   tftp_readdir   },
   77         { nfs_open,    nfs_close,    nfs_read,    nfs_write,    nfs_seek,
   78           nfs_stat,    nfs_readdir    },
   79         { fat_open,    fat_close,    fat_read,    fat_write,    fat_seek,
   80           fat_stat,    fat_readdir    },
   81 #endif
   82 #ifdef _TEST
   83         { null_open,   null_close,   null_read,   null_write,   null_seek,
   84           null_stat,   null_readdir   }
   85 #endif
   86 };
   87 int nfsys = NENTS(file_system);
   88 
   89 struct devsw    devsw[] = {
   90 #ifdef _TEST
   91         { "UNIX", unixstrategy, unixopen, unixclose, unixioctl },
   92 #else
   93         { "BIOS", biosstrategy, biosopen, biosclose, biosioctl },
   94 #endif
   95 };
   96 int ndevs = NENTS(devsw);
   97 
   98 struct consdev constab[] = {
   99 #ifdef _TEST
  100         { unix_probe, unix_init, unix_getc, unix_putc },
  101 #else
  102         { pc_probe, pc_init, pc_getc, pc_putc },
  103         { com_probe, com_init, com_getc, com_putc },
  104 #endif
  105         { NULL }
  106 };
  107 struct consdev *cn_tab = constab;

/* [<][>][^][v][top][bottom][index][help] */