1/* $NetBSD: boot.h,v 1.8 2010/10/14 05:52:01 kiyohara Exp $ */ 2 3#define TICKS_PER_SEC (33000000 / 4) /* 33MHz */ 4#define NS_PER_TICK (1000000000 / TICKS_PER_SEC) 5 6/* 7 * srt0 8 */ 9int endaddr(void); 10void run(void *, void *, void *, void *, void *); 11 12/* 13 * clock 14 */ 15void delay(u_int); 16 17/* 18 * com 19 */ 20int comspeed(long); 21 22/* 23 * console 24 */ 25char *cninit(int *, int *); 26int cngetc(void); 27void cnputc(int); 28int cnscan(void); 29 30/* 31 * CPU 32 */ 33volatile int CPU1_alive; 34void cpu1(void); 35void resetCPU1(void); 36unsigned long cpuState(void); 37void runCPU1(void *); 38void start_CPU1(void); 39void wait_for(volatile int *); 40int whichCPU(void); 41 42/* 43 * inkernel 44 */ 45void init_in(void); 46 47/* 48 * io 49 */ 50void outb(int, u_char); 51void outw(int, u_short); 52u_char inb(int); 53u_short inw(int); 54u_short inwrb(int); 55void writeb(u_long, u_char); 56void writel(u_long, u_long); 57u_char readb(u_long); 58u_short readw(u_long); 59u_long readl(u_long); 60u_long local_to_PCI(u_long); 61void _wbinv(uint32_t, uint32_t); 62void _inv(uint32_t, uint32_t); 63 64/* 65 * kbd 66 */ 67int kbd(int); 68void kbdreset(void); 69int kbd_getc(void); 70int kbd_test(void); 71 72/* 73 * monitor 74 */ 75int db_monitor(void); 76 77/* 78 * pci 79 */ 80void scanPCI(void); 81int findPCIVga(void); 82void enablePCI(int, int, int, int); 83int PCISlotnum(u_int, u_int, u_int); 84int PCIVendor(int); 85u_long PCIAddress(int, u_int, int); 86#ifdef DEBUG 87void printslots(void); 88#endif 89 90/* 91 * tgets 92 */ 93int tgets(char *); 94 95/* 96 * vga 97 */ 98void vga_init(u_char *); 99void vga_putc(int); 100void vga_puts(char *); 101 102/* 103 * vreset 104 */ 105void vga_reset(u_char *); 106 107/* 108 * video 109 */ 110void video_init(u_char *); 111void video_putc(int); 112