1 /* $NetBSD: boot.h,v 1.13 2015/06/23 20:27:28 matt Exp $ */ 2 3 /*- 4 * Copyright (c) 2003 The NetBSD Foundation, Inc. 5 * 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 NETBSD FOUNDATION, INC. AND CONTRIBUTORS 17 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 18 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 20 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 26 * POSSIBILITY OF SUCH DAMAGE. 27 */ 28 29 #include <mips/cpuregs.h> 30 31 #if defined(_DEBUG) 32 #define DPRINTF(x) printf x; 33 #else 34 #define DPRINTF(x) 35 #endif 36 37 #define MAXDEVNAME 16 38 #define DEFBOOTDEV "wd0a" 39 #define DEFKERNELNAME kernelnames[0] 40 41 extern char *kernelnames[]; 42 43 /* 44 * com 45 */ 46 int comspeed(long); 47 48 /* 49 * console 50 */ 51 char *cninit(int *, int *); 52 int cngetc(void); 53 void cnputc(int); 54 int cnscan(void); 55 56 /* 57 * clock 58 */ 59 void delay(int); 60 61 /* 62 * wd 63 */ 64 int wdstrategy(void *, int, daddr_t, size_t, void *, size_t *); 65 int wdopen(struct open_file *, ...); 66 int wdclose(struct open_file *); 67 68 /* 69 * tlp 70 */ 71 void *tlp_init(void *); 72 int tlp_send(void *, char *, u_int); 73 int tlp_recv(void *, char *, u_int, u_int); 74 75 extern struct netif_driver ether_tlp_driver; 76 77 /* 78 * devopen 79 */ 80 int devparse(const char *, int *, uint8_t *, uint8_t *, const char **); 81 82 /* 83 * tgetc 84 */ 85 int tgets(char *); 86 87 /* 88 * cache 89 */ 90 #define CACHELINESIZE 32 91 92 void pdcache_wb(uint32_t, u_int); 93 void pdcache_inv(uint32_t, u_int); 94 void pdcache_wbinv(uint32_t, u_int); 95 96 /* 97 * pci 98 */ 99 uint32_t pcicfgread(uint32_t, uint32_t); 100 101 /* 102 * lcd 103 */ 104 void lcd_init(void); 105 void lcd_banner(void); 106 void lcd_loadfile(const char *); 107 void lcd_failed(void); 108