1 // BIOS configuration table.
3 // Copyright (C) 2008 Kevin O'Connor <kevin@koconnor.net>
4 // Copyright (C) 2002 MandrakeSoft S.A.
6 // This file may be distributed under the terms of the GNU LGPLv3 license.
8 #include "biosvar.h" // CONFIG_BIOS_TABLE
10 // DMA channel 3 used by hard disk BIOS
11 #define CBT_F1_DMA3USED (1<<7)
12 // 2nd interrupt controller (8259) installed
13 #define CBT_F1_2NDPIC (1<<6)
14 // Real-Time Clock installed
15 #define CBT_F1_RTC (1<<5)
16 // INT 15/AH=4Fh called upon INT 09h
17 #define CBT_F1_INT154F (1<<4)
18 // wait for external event (INT 15/AH=41h) supported
19 #define CBT_F1_WAITEXT (1<<3)
20 // extended BIOS area allocated (usually at top of RAM)
21 #define CBT_F1_EBDA (1<<2)
22 // bus is Micro Channel instead of ISA
23 #define CBT_F1_MCA (1<<1)
24 // system has dual bus (Micro Channel + ISA)
25 #define CBT_F1_MCAISA (1<<0)
27 // INT 16/AH=09h (keyboard functionality) supported
28 #define CBT_F2_INT1609 (1<<6)
30 struct bios_config_table_s BIOS_CONFIG_TABLE __aligned(1) VAR16 = {
31 .size = sizeof(BIOS_CONFIG_TABLE) - 2,
32 .model = CONFIG_MODEL_ID,
33 .submodel = CONFIG_SUBMODEL_ID,
34 .biosrev = CONFIG_BIOS_REVISION,
36 CBT_F1_2NDPIC | CBT_F1_RTC | CBT_F1_EBDA
37 | (CONFIG_KBD_CALL_INT15_4F ? CBT_F1_INT154F : 0)),
38 .feature2 = CBT_F2_INT1609,