1 /////////////////////////////////////////////////////////////////////////
2 // $Id: rombios.h,v 1.8 2008/12/04 18:48:33 sshwarts Exp $
3 /////////////////////////////////////////////////////////////////////////
4 //
5 //  Copyright (C) 2006 Volker Ruppert
6 //
7 //  This library is free software; you can redistribute it and/or
8 //  modify it under the terms of the GNU Lesser General Public
9 //  License as published by the Free Software Foundation; either
10 //  version 2 of the License, or (at your option) any later version.
11 //
12 //  This library is distributed in the hope that it will be useful,
13 //  but WITHOUT ANY WARRANTY; without even the implied warranty of
14 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 //  Lesser General Public License for more details.
16 //
17 //  You should have received a copy of the GNU Lesser General Public
18 //  License along with this library; If not, see <http://www.gnu.org/licenses/>.
19 
20 /* define it to include QEMU specific code */
21 //#define BX_QEMU
22 #define LEGACY
23 
24 #ifndef LEGACY
25 #  define BX_ROMBIOS32     1
26 #else
27 #  define BX_ROMBIOS32     0
28 #endif
29 #define DEBUG_ROMBIOS    0
30 
31 #define PANIC_PORT  0x400
32 #define PANIC_PORT2 0x401
33 #define INFO_PORT   0x402
34 #define DEBUG_PORT  0x403
35 
36 #define BIOS_PRINTF_HALT     1
37 #define BIOS_PRINTF_SCREEN   2
38 #define BIOS_PRINTF_INFO     4
39 #define BIOS_PRINTF_DEBUG    8
40 #define BIOS_PRINTF_ALL      (BIOS_PRINTF_SCREEN | BIOS_PRINTF_INFO)
41 #define BIOS_PRINTF_DEBHALT  (BIOS_PRINTF_SCREEN | BIOS_PRINTF_INFO | BIOS_PRINTF_HALT)
42 
43 #define printf(format, p...)  bios_printf(BIOS_PRINTF_SCREEN, format, ##p)
44 
45 // Defines the output macros.
46 // BX_DEBUG goes to INFO port until we can easily choose debug info on a
47 // per-device basis. Debug info are sent only in debug mode
48 #if DEBUG_ROMBIOS
49 #  define BX_DEBUG(format, p...)  bios_printf(BIOS_PRINTF_INFO, format, ##p)
50 #  define BX_INFO(format, p...)   bios_printf(BIOS_PRINTF_INFO, format, ##p)
51 #else
52 #  define BX_DEBUG(format, p...)
53 #  define BX_INFO(format, p...)
54 #endif
55 #define BX_PANIC(format, p...)  bios_printf(BIOS_PRINTF_DEBHALT, format, ##p)
56 
57 #define ACPI_DATA_SIZE    0x00010000L
58 #define PM_IO_BASE        0xb000
59 #define SMB_IO_BASE       0xb100
60 
61   // Define the application NAME
62 #if define HVMASSIST
63 #  define BX_APPNAME "HVMAssist"
64 #elif defined(BX_QEMU)
65 #  define BX_APPNAME "QEMU"
66 #elif defined(PLEX86)
67 #  define BX_APPNAME "Plex86"
68 #else
69 #  define BX_APPNAME "Bochs"
70 #endif
71