/*-1* Copyright (c) 2006 Marcel Moolenaar2* All rights reserved.3*4* Redistribution and use in source and binary forms, with or without5* modification, are permitted provided that the following conditions6* are met:7*8* 1. Redistributions of source code must retain the above copyright9* notice, this list of conditions and the following disclaimer.10* 2. Redistributions in binary form must reproduce the above copyright11* notice, this list of conditions and the following disclaimer in the12* documentation and/or other materials provided with the distribution.13*14* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR15* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES16* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.17* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,18* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT19* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,20* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY21* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT22* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF23* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.24*/2526#include <stand.h>27#include <bootstrap.h>28#include <efi.h>29#include <efilib.h>30#include <efizfs.h>3132extern struct devsw vdisk_dev;3334#ifdef MD_IMAGE_SIZE35extern struct devsw md_dev;36#endif3738struct devsw *devsw[] = {39&efipart_fddev,40&efipart_cddev,41&efipart_hddev,42&efihttp_dev, /* ordering with efinet_dev matters */43#if defined(LOADER_NET_SUPPORT)44&efinet_dev,45#endif46&vdisk_dev,47#ifdef EFI_ZFS_BOOT48&zfs_dev,49#endif50#ifdef MD_IMAGE_SIZE51&md_dev,52#endif53NULL54};5556struct fs_ops *file_system[] = {57#ifdef EFI_ZFS_BOOT58&zfs_fsops,59#endif60&dosfs_fsops,61&ufs_fsops,62&cd9660_fsops,63&efihttp_fsops,64&tftp_fsops,65&nfs_fsops,66&gzipfs_fsops,67&bzipfs_fsops,68NULL69};7071struct netif_driver *netif_drivers[] = {72#if defined(LOADER_NET_SUPPORT)73&efinetif,74#endif75NULL76};7778extern struct console efi_console;79extern struct console eficom;80#if defined(__aarch64__) && __FreeBSD_version < 150000081/* Hack for backward compatibility -- but only for a while */82extern struct console comconsole;83#endif84#if defined(__amd64__) || defined(__i386__)85extern struct console comconsole;86extern struct console nullconsole;87extern struct console spinconsole;88#endif8990struct console *consoles[] = {91&efi_console,92&eficom,93#if defined(__aarch64__) && __FreeBSD_version < 150000094&comconsole,95#endif96#if defined(__amd64__) || defined(__i386__)97&comconsole,98&nullconsole,99&spinconsole,100#endif101NULL102};103104105