Home | History | Annotate | Download | only in bios
      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.
     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, write to the Free Software
     19 //  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
     20 
     21 /* define it to include QEMU specific code */
     22 #define BX_QEMU
     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 #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)
     55 
     56 #define ACPI_DATA_SIZE    0x00010000L
     57 #define PM_IO_BASE        0xb000
     58 #define SMB_IO_BASE       0xb100
     59 #define SMP_MSR_ADDR      0x0510
     60 
     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
     69