| /*- |
| * Copyright (c) 1997 |
| * Matthias Drochner. 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. All advertising materials mentioning features or use of this software |
| * must display the following acknowledgement: |
| * This product includes software developed for the NetBSD Project |
| * by Matthias Drochner. |
| * 4. 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. |
| * |
| * $NetBSD: conf.c,v 1.2 1997/03/22 09:03:29 thorpej Exp $ |
| */ |
| |
| #include <sys/cdefs.h> |
| __FBSDID("$FreeBSD$"); |
| |
| #include <stand.h> |
| |
| #include "libuserboot.h" |
| |
| #if defined(USERBOOT_ZFS_SUPPORT) |
| #include "../zfs/libzfs.h" |
| #endif |
| |
| /* |
| * We could use linker sets for some or all of these, but |
| * then we would have to control what ended up linked into |
| * the bootstrap. So it's easier to conditionalise things |
| * here. |
| * |
| * XXX rename these arrays to be consistent and less namespace-hostile |
| */ |
| |
| /* Exported for libstand */ |
| struct devsw *devsw[] = { |
| &host_dev, |
| &userboot_disk, |
| #if defined(USERBOOT_ZFS_SUPPORT) |
| &zfs_dev, |
| #endif |
| NULL |
| }; |
| |
| struct fs_ops *file_system[] = { |
| &host_fsops, |
| &ufs_fsops, |
| &cd9660_fsops, |
| #if defined(USERBOOT_ZFS_SUPPORT) |
| &zfs_fsops, |
| #endif |
| &gzipfs_fsops, |
| &bzipfs_fsops, |
| NULL |
| }; |
| |
| /* Exported for i386 only */ |
| /* |
| * Sort formats so that those that can detect based on arguments |
| * rather than reading the file go first. |
| */ |
| extern struct file_format i386_elf; |
| extern struct file_format i386_elf_obj; |
| extern struct file_format amd64_elf; |
| extern struct file_format amd64_elf_obj; |
| |
| struct file_format *file_formats[] = { |
| &i386_elf, |
| &i386_elf_obj, |
| &amd64_elf, |
| &amd64_elf_obj, |
| NULL |
| }; |
| |
| /* |
| * Consoles |
| * |
| * We don't prototype these in libuserboot.h because they require |
| * data structures from bootstrap.h as well. |
| */ |
| extern struct console userboot_console; |
| extern struct console userboot_comconsole; |
| |
| struct console *consoles[] = { |
| &userboot_console, |
| &userboot_comconsole, |
| NULL |
| }; |