Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / ipxe / src / arch / i386 / include / bios_disks.h
1 #ifndef BIOS_DISKS_H
2 #define BIOS_DISKS_H
3
4 #include "dev.h"
5
6 /*
7  * Constants
8  *
9  */
10
11 #define BIOS_DISK_MAX_NAME_LEN  6
12
13 struct bios_disk_sector {
14         char data[512];
15 };
16
17 /*
18  * The location of a BIOS disk
19  *
20  */
21 struct bios_disk_loc {
22         uint8_t drive;
23 };
24
25 /*
26  * A physical BIOS disk device
27  *
28  */
29 struct bios_disk_device {
30         char name[BIOS_DISK_MAX_NAME_LEN];
31         uint8_t drive;
32         uint8_t type;
33 };
34
35 /*
36  * A BIOS disk driver, with a valid device ID range and naming
37  * function.
38  *
39  */
40 struct bios_disk_driver {
41         void ( *fill_drive_name ) ( char *buf, uint8_t drive );
42         uint8_t min_drive;
43         uint8_t max_drive;
44 };
45
46 /*
47  * Define a BIOS disk driver
48  *
49  */
50 #define BIOS_DISK_DRIVER( _name, _fill_drive_name, _min_drive, _max_drive )   \
51         static struct bios_disk_driver _name = {                              \
52                 .fill_drive_name = _fill_drive_name,                          \
53                 .min_drive = _min_drive,                                      \
54                 .max_drive = _max_drive,                                      \
55         }
56
57 /*
58  * Functions in bios_disks.c
59  *
60  */
61
62
63 /*
64  * bios_disk bus global definition
65  *
66  */
67 extern struct bus_driver bios_disk_driver;
68
69 #endif /* BIOS_DISKS_H */