blob: 32a4af4ddb71d21ea6f6dd27ca9455f7cc944dc4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
|
// Misc function and variable declarations.
#ifndef __UTIL_H
#define __UTIL_H
#include "types.h" // u32
// kbd.c
void kbd_init(void);
struct bregs;
void handle_15c2(struct bregs *regs);
void process_key(u8 key);
// mouse.c
void mouse_init(void);
void process_mouse(u8 data);
// serial.c
void serial_setup(void);
void lpt_setup(void);
// cdrom.c
extern u8 CDRom_locks[];
extern struct cdemu_s CDEmu;
extern struct drive_s *cdemu_drive_gf;
struct disk_op_s;
int process_cdemu_op(struct disk_op_s *op);
void cdrom_prepboot(void);
void cdemu_134b(struct bregs *regs);
int cdrom_boot(struct drive_s *drive_g);
// clock.c
void clock_setup(void);
void handle_1583(struct bregs *regs);
void handle_1586(struct bregs *regs);
void useRTC(void);
void releaseRTC(void);
// hw/floppy.c
extern struct floppy_ext_dbt_s diskette_param_table2;
void floppy_setup(void);
struct drive_s *init_floppy(int floppyid, int ftype);
int find_floppy_type(u32 size);
int process_floppy_op(struct disk_op_s *op);
void floppy_tick(void);
// hw/ramdisk.c
void ramdisk_setup(void);
int process_ramdisk_op(struct disk_op_s *op);
// hw/timer.c
void timer_setup(void);
void pmtimer_setup(u16 ioport);
u32 timer_calc(u32 msecs);
u32 timer_calc_usec(u32 usecs);
int timer_check(u32 end);
void ndelay(u32 count);
void udelay(u32 count);
void mdelay(u32 count);
void nsleep(u32 count);
void usleep(u32 count);
void msleep(u32 count);
u32 ticks_to_ms(u32 ticks);
u32 ticks_from_ms(u32 ms);
u32 irqtimer_calc_ticks(u32 count);
u32 irqtimer_calc(u32 msecs);
int irqtimer_check(u32 end);
// apm.c
void apm_shutdown(void);
void handle_1553(struct bregs *regs);
// optionroms.c
struct rom_header;
void callrom(struct rom_header *rom, u16 bdf);
// pcibios.c
void handle_1ab1(struct bregs *regs);
void bios32_init(void);
// fw/acpi.c
extern struct rsdp_descriptor *RsdpAddr;
extern u32 acpi_pm1a_cnt;
void acpi_setup(void);
u32 find_resume_vector(void);
void find_acpi_features(void);
struct acpi_20_generic_address;
void acpi_set_reset_reg(struct acpi_20_generic_address *reg, u8 val);
void acpi_reboot(void);
// fw/csm.c
struct pci_device;
int csm_bootprio_fdc(struct pci_device *pci, int port, int fdid);
int csm_bootprio_ata(struct pci_device *pci, int chanid, int slave);
int csm_bootprio_pci(struct pci_device *pci);
// fw/mptable.c
void mptable_setup(void);
// fw/shadow.c
void make_bios_writable(void);
void make_bios_readonly(void);
void qemu_prep_reset(void);
// fw/smbios.c
extern struct smbios_entry_point *SMBiosAddr;
void smbios_setup(void);
void display_uuid(void);
// fw/pciinit.c
extern const u8 pci_irqs[4];
void pci_setup(void);
// fw/pirtable.c
extern struct pir_header *PirAddr;
void pirtable_setup(void);
// fw/smm.c
void smm_device_setup(void);
void smm_setup(void);
// fw/smp.c
extern u32 CountCPUs;
extern u32 MaxCountCPUs;
void wrmsr_smp(u32 index, u64 val);
void smp_setup(void);
int apic_id_is_present(u8 apic_id);
// fw/coreboot.c
extern const char *CBvendor, *CBpart;
struct cbfs_file;
void debug_cbmem(char c);
void cbfs_run_payload(struct cbfs_file *file);
void coreboot_platform_setup(void);
void cbfs_payload_setup(void);
void coreboot_preinit(void);
void coreboot_cbfs_init(void);
// fw/biostable.c
void copy_smbios(void *pos);
void copy_table(void *pos);
// vgahooks.c
void handle_155f(struct bregs *regs);
void vgahook_setup(struct pci_device *pci);
// optionroms.c
void call_bcv(u16 seg, u16 ip);
int is_pci_vga(struct pci_device *pci);
void optionrom_setup(void);
void vgarom_setup(void);
void s3_resume_vga(void);
extern int ScreenAndDebug;
// bootsplash.c
void enable_vga_console(void);
void enable_bootsplash(void);
void disable_bootsplash(void);
// resume.c
extern int HaveRunPost;
void dma_setup(void);
// pnpbios.c
u16 get_pnp_offset(void);
void pnp_init(void);
// pmm.c
void pmm_init(void);
void pmm_prepboot(void);
// fw/mtrr.c
void mtrr_setup(void);
// romlayout.S
void reset_vector(void) __noreturn;
// misc.c
extern struct bios_config_table_s BIOS_CONFIG_TABLE __aligned(1);
extern u8 BiosChecksum;
void mathcp_setup(void);
// version (auto generated file out/version.c)
extern const char VERSION[];
#endif // util.h
|