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