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