Initial support for running CBFS payloads.
[seabios.git] / src / boot.h
1 // Storage for boot definitions.
2 #ifndef __BOOT_H
3 #define __BOOT_H
4
5
6 /****************************************************************
7  * Initial Program Load (IPL)
8  ****************************************************************/
9
10 struct ipl_entry_s {
11     u16 type;
12     u16 subchoice;
13     u32 vector;
14     const char *description;
15 };
16
17 struct ipl_s {
18     struct ipl_entry_s bev[8];
19     struct ipl_entry_s bcv[8];
20     int bevcount, bcvcount;
21     u32 bootorder;
22     int checkfloppysig;
23 };
24
25 #define IPL_TYPE_FLOPPY      0x01
26 #define IPL_TYPE_HARDDISK    0x02
27 #define IPL_TYPE_CDROM       0x03
28 #define IPL_TYPE_CBFS        0x20
29 #define IPL_TYPE_BEV         0x80
30
31
32 /****************************************************************
33  * Function defs
34  ****************************************************************/
35
36 // boot.c
37 extern struct ipl_s IPL;
38 void boot_setup();
39 void add_bev(u16 seg, u16 bev, u16 desc);
40 void add_bcv(u16 seg, u16 ip, u16 desc);
41 void add_bcv_hd(int driveid, const char *desc);
42 void boot_prep();
43
44 #endif // __BOOT_H