1/* $NetBSD: conf.c,v 1.3 2019/09/26 12:21:03 nonaka Exp $ */ 2 3/* 4 * Copyright (c) 1997 5 * Matthias Drochner. All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 1. Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 2. Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 17 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 18 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 19 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 20 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 21 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 */ 27 28#include <sys/cdefs.h> 29#include <sys/types.h> 30 31#include <lib/libsa/stand.h> 32#include <lib/libsa/ufs.h> 33#include <lib/libsa/lfs.h> 34#ifdef SUPPORT_EXT2FS 35#include <lib/libsa/ext2fs.h> 36#endif 37#ifdef SUPPORT_MINIXFS3 38#include <lib/libsa/minixfs3.h> 39#endif 40#ifdef SUPPORT_DOSFS 41#include <lib/libsa/dosfs.h> 42#endif 43#ifdef SUPPORT_CD9660 44#include <lib/libsa/cd9660.h> 45#endif 46#if defined(SUPPORT_NFS) || defined(SUPPORT_TFTP) 47#include <lib/libsa/net.h> 48#include <lib/libsa/dev_net.h> 49#ifdef SUPPORT_NFS 50#include <lib/libsa/nfs.h> 51#endif 52#ifdef SUPPORT_TFTP 53#include <lib/libsa/tftp.h> 54#endif 55#endif 56#include <biosdisk.h> 57#include "devopen.h" 58#include "efinet.h" 59 60struct devsw devsw[] = { 61 { "disk", biosdisk_strategy, biosdisk_open, biosdisk_close, biosdisk_ioctl }, 62#if defined(SUPPORT_NFS) || defined(SUPPORT_TFTP) 63 { "net", net_strategy, net_open, net_close, net_ioctl }, 64#endif 65}; 66int ndevs = __arraycount(devsw); 67 68struct netif_driver *netif_drivers[] = { 69#if defined(SUPPORT_NFS) || defined(SUPPORT_TFTP) 70 &efinetif, 71#endif 72}; 73int n_netif_drivers = __arraycount(netif_drivers); 74 75struct fs_ops file_system[] = { 76#ifdef SUPPORT_CD9660 77 FS_OPS(null), 78#endif 79 FS_OPS(null), FS_OPS(null), 80 FS_OPS(null), FS_OPS(null), 81#ifdef SUPPORT_EXT2FS 82 FS_OPS(null), 83#endif 84#ifdef SUPPORT_MINIXFS3 85 FS_OPS(null), 86#endif 87#ifdef SUPPORT_DOSFS 88 FS_OPS(null), 89#endif 90}; 91int nfsys = __arraycount(file_system); 92 93struct fs_ops file_system_disk[] = { 94#ifdef SUPPORT_CD9660 95 FS_OPS(cd9660), 96#endif 97 FS_OPS(ffsv1), FS_OPS(ffsv2), 98 FS_OPS(lfsv1), FS_OPS(lfsv2), 99#ifdef SUPPORT_EXT2FS 100 FS_OPS(ext2fs), 101#endif 102#ifdef SUPPORT_MINIXFS3 103 FS_OPS(minixfs3), 104#endif 105#ifdef SUPPORT_DOSFS 106 FS_OPS(dosfs), 107#endif 108}; 109__CTASSERT(__arraycount(file_system) == __arraycount(file_system_disk)); 110const int nfsys_disk = __arraycount(file_system_disk); 111 112struct fs_ops file_system_null = FS_OPS(null); 113#ifdef SUPPORT_NFS 114struct fs_ops file_system_nfs = FS_OPS(nfs); 115#endif 116#ifdef SUPPORT_TFTP 117struct fs_ops file_system_tftp = FS_OPS(tftp); 118#endif 119 120#if defined(SUPPORT_NFS) || defined(SUPPORT_TFTP) 121const struct netboot_fstab netboot_fstab[] = { 122#ifdef SUPPORT_NFS 123 { "nfs", &file_system_nfs }, 124#endif 125#ifdef SUPPORT_TFTP 126 { "tftp", &file_system_tftp }, 127#endif 128}; 129const int nnetboot_fstab = __arraycount(netboot_fstab); 130#endif 131