- implemented INT 15h/89h (patch by Sebastian Herbszt)
[gplbios.git] / rombios.h
blob361b9584e8a7d9348ca537059b8a1c5d67aa7413
1 /////////////////////////////////////////////////////////////////////////
2 // $Id$
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.
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.
17 // You should have received a copy of the GNU Lesser General Public
18 // License along with this library; if not, write to the Free Software
19 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 /* define it to include QEMU specific code */
22 //#define BX_QEMU
24 #ifndef LEGACY
25 # define BX_ROMBIOS32 1
26 #else
27 # define BX_ROMBIOS32 0
28 #endif
29 #define DEBUG_ROMBIOS 0
31 #define PANIC_PORT 0x400
32 #define PANIC_PORT2 0x401
33 #define INFO_PORT 0x402
34 #define DEBUG_PORT 0x403
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)
43 #define printf(format, p...) bios_printf(BIOS_PRINTF_SCREEN, format, ##p)
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 #else
51 # define BX_DEBUG(format, p...)
52 #endif
53 #define BX_INFO(format, p...) bios_printf(BIOS_PRINTF_INFO, format, ##p)
54 #define BX_PANIC(format, p...) bios_printf(BIOS_PRINTF_DEBHALT, format, ##p)
56 #define ACPI_DATA_SIZE 0x00010000L
57 #define PM_IO_BASE 0xb000
58 #define SMB_IO_BASE 0xb100
59 #define SMP_MSR_ADDR 0x0510
61 // Define the application NAME
62 #if defined(BX_QEMU)
63 # define BX_APPNAME "QEMU"
64 #elif defined(PLEX86)
65 # define BX_APPNAME "Plex86"
66 #else
67 # define BX_APPNAME "Bochs"
68 #endif