1 /* ----------------------------------------------------------------------- *
3 * Copyright 2006 Erwan Velu - All Rights Reserved
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, Inc., 53 Temple Place Ste 330,
8 * Boston MA 02111-1307, USA; either version 2 of the License, or
9 * (at your option) any later version; incorporated herein by reference.
11 * ----------------------------------------------------------------------- */
17 #define BIOS_VENDOR_SIZE 65
18 #define BIOS_VERSION_SIZE 65
19 #define BIOS_RELEASE_SIZE 65
20 #define BIOS_RUNTIME_SIZE_UNIT_SIZE 16
21 #define BIOS_ROM_UNIT_SIZE 16
22 #define BIOS_BIOS_REVISION_SIZE 16
23 #define BIOS_FIRMWARE_REVISION_SIZE 16
25 #define BIOS_CHAR_NB_ELEMENTS 29
26 #define BIOS_CHAR_X1_NB_ELEMENTS 8
27 #define BIOS_CHAR_X2_NB_ELEMENTS 3
29 extern const char *bios_charac_strings
[];
31 /* this struct has BIOS_CHAR_NB_ELEMENTS */
32 /* each bool is associated with the relevant message above */
34 bool bios_characteristics_not_supported
;
42 bool bios_upgreadable
;
48 bool bios_rom_socketed
;
49 bool boot_from_pcmcia
;
51 bool japanese_floppy_nec_9800_1_2MB
;
52 bool japanese_floppy_toshiba_1_2MB
;
53 bool floppy_5_25_360KB
;
54 bool floppy_5_25_1_2MB
;
55 bool floppy_3_5_720KB
;
56 bool floppy_3_5_2_88MB
;
58 bool keyboard_8042_support
;
61 bool cga_mono_support
;
63 } __attribute__ ((__packed__
)) s_characteristics
;
65 extern const char *bios_charac_x1_strings
[];
67 /* this struct has BIOS_CHAR_X1_NB_ELEMENTS */
68 /* each bool is associated with the relevant message above */
78 } __attribute__ ((__packed__
)) s_characteristics_x1
;
80 extern const char *bios_charac_x2_strings
[];
82 /* this struct has BIOS_CHAR_X2_NB_ELEMENTS */
83 /* each bool is associated with the relevant message above */
85 bool bios_boot_specification
;
86 bool bios_network_boot_by_keypress
;
87 bool target_content_distribution
;
88 } __attribute__ ((__packed__
)) s_characteristics_x2
;
91 char vendor
[BIOS_VENDOR_SIZE
];
92 char version
[BIOS_VERSION_SIZE
];
93 char release_date
[BIOS_RELEASE_SIZE
];
95 uint16_t runtime_size
;
96 char runtime_size_unit
[BIOS_RUNTIME_SIZE_UNIT_SIZE
];
98 char rom_size_unit
[BIOS_ROM_UNIT_SIZE
];
99 s_characteristics characteristics
;
100 s_characteristics_x1 characteristics_x1
;
101 s_characteristics_x2 characteristics_x2
;
102 char bios_revision
[BIOS_BIOS_REVISION_SIZE
];
103 char firmware_revision
[BIOS_FIRMWARE_REVISION_SIZE
];
104 /* The filled field have to be set to true when the dmitable implement that item */