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