Move RELOCATE into config.h

Move ISA probe address logic from config.c into isa.c, create header file
config/isa.h.
pull/1/head
Michael Brown 2005-04-18 11:00:42 +00:00
parent 3c55caf24c
commit 85b00c4b72
4 changed files with 33 additions and 57 deletions

View File

@ -304,10 +304,6 @@ CFLAGS+= -DASK_BOOT=3 -DBOOT_FIRST=BOOT_NIC
# CFLAGS+= -DDHCP_USER_CLASS="5,'A','L','P','H','A',4,'B','E','T','A'" \ # CFLAGS+= -DDHCP_USER_CLASS="5,'A','L','P','H','A',4,'B','E','T','A'" \
# -DDHCP_USER_CLASS_LEN=11 # -DDHCP_USER_CLASS_LEN=11
# for btext console support
# CFLAGS+= -DCONSOLE_BTEXT
# for direct PC kbd support
# CFLAGS+= -DCONSOLE_PC_KBD
# Set to enable FILO support # Set to enable FILO support
# for FILO support it will make main call pci_init # for FILO support it will make main call pci_init
# INCLUDE_FILO=y # INCLUDE_FILO=y
@ -374,11 +370,6 @@ CFLAGS+= -DPXE_IMAGE -DPXE_EXPORT
# CFLAGS+= -DBUILD_SERIAL # CFLAGS+= -DBUILD_SERIAL
# CFLAGS+= -DBUILD_SERIAL -DBUILD_ID=\"testing\" # CFLAGS+= -DBUILD_SERIAL -DBUILD_ID=\"testing\"
# Do not relocate
# core/relocate.c should really be moved to an arch specific directory
# but this is here for archs that don't support relocation
# CFLAGS+= -DNORELOCATE

View File

@ -8,6 +8,9 @@
#include "etherboot.h" #include "etherboot.h"
#include "dev.h" #include "dev.h"
#include "console.h" #include "console.h"
#include "config/general.h"
#ifdef BUILD_SERIAL #ifdef BUILD_SERIAL
#include ".buildserial.h" #include ".buildserial.h"
#define xstr(s) str(s) #define xstr(s) str(s)
@ -107,44 +110,35 @@ void print_config ( void ) {
/* /*
* Drag in all requested console types * Drag in all requested console types
* *
* At least one of the CONSOLE_xxx has to be set. CONSOLE_DUAL sets * CONSOLE_DUAL sets both CONSOLE_FIRMWARE and CONSOLE_SERIAL for
* both CONSOLE_FIRMWARE and CONSOLE_SERIAL for legacy compatibility. * legacy compatibility.
* If no CONSOLE_xxx is set, CONSOLE_FIRMWARE is assumed.
* *
*/ */
#ifdef CONSOLE_CRT #if CONSOLE_DUAL
#define CONSOLE_FIRMWARE
#endif
#ifdef CONSOLE_DUAL
#undef CONSOLE_FIRMWARE #undef CONSOLE_FIRMWARE
#define CONSOLE_FIRMWARE #define CONSOLE_FIRMWARE 1
#undef CONSOLE_SERIAL #undef CONSOLE_SERIAL
#define CONSOLE_SERIAL #define CONSOLE_SERIAL 1
#endif #endif
#if !defined(CONSOLE_FIRMWARE) && !defined(CONSOLE_SERIAL) #if CONSOLE_FIRMWARE
#define CONSOLE_FIRMWARE
#endif
#ifdef CONSOLE_FIRMWARE
REQUIRE_OBJECT ( bios_console ); REQUIRE_OBJECT ( bios_console );
#endif #endif
#ifdef CONSOLE_SERIAL #if CONSOLE_SERIAL
REQUIRE_OBJECT ( serial ); REQUIRE_OBJECT ( serial );
#endif #endif
#ifdef CONSOLE_DIRECT_VGA #if CONSOLE_DIRECT_VGA
REQUIRE_OBJECT ( video_subr ); REQUIRE_OBJECT ( video_subr );
#endif #endif
#ifdef CONSOLE_BTEXT #if CONSOLE_BTEXT
REQUIRE_OBJECT ( btext ); REQUIRE_OBJECT ( btext );
#endif #endif
#ifdef CONSOLE_PC_KBD #if CONSOLE_PC_KBD
REQUIRE_OBJECT ( pc_kbd ); REQUIRE_OBJECT ( pc_kbd );
#endif #endif
@ -153,22 +147,6 @@ REQUIRE_OBJECT ( pc_kbd );
* *
*/ */
#ifndef NORELOCATE #if RELOCATE
REQUIRE_OBJECT ( relocate ); REQUIRE_OBJECT ( relocate );
#endif #endif
/*
* Allow ISA probe address list to be overridden
*
*/
#include "isa.h"
#ifndef ISA_PROBE_ADDRS
#define ISA_PROBE_ADDRS
#endif
isa_probe_addr_t isa_extra_probe_addrs[] = {
ISA_PROBE_ADDRS
};
unsigned int isa_extra_probe_addr_count
= sizeof ( isa_extra_probe_addrs ) / sizeof ( isa_extra_probe_addrs[0] );

View File

@ -1,4 +1,5 @@
#include "string.h" #include "string.h"
#include "config/isa.h"
#include "isa.h" #include "isa.h"
/* /*
@ -27,6 +28,19 @@
DEV_BUS( struct isa_device, isa_dev ); DEV_BUS( struct isa_device, isa_dev );
static char isa_magic[0]; /* guaranteed unique symbol */ static char isa_magic[0]; /* guaranteed unique symbol */
/*
* User-supplied probe address list
*
*/
static isa_probe_addr_t isa_extra_probe_addrs[] = {
ISA_PROBE_ADDRS
#if ISA_PROBE_ONLY
, 0
#endif
};
#define isa_extra_probe_addr_count \
( sizeof ( isa_extra_probe_addrs ) / sizeof ( isa_extra_probe_addrs[0] ) )
/* /*
* Find an ISA device matching the specified driver * Find an ISA device matching the specified driver
* *
@ -41,8 +55,8 @@ int find_isa_device ( struct isa_device *isa, struct isa_driver *driver ) {
isa->magic = isa_magic; isa->magic = isa_magic;
} }
/* Iterate through any ISA probe addresses specified by /* Iterate through any ISA probe addresses specified by the
* config.c, starting where we left off. * user, starting where we left off.
*/ */
DBG ( "ISA searching for device matching driver %s\n", driver->name ); DBG ( "ISA searching for device matching driver %s\n", driver->name );
for ( i = isa->probe_idx ; i < isa_extra_probe_addr_count ; i++ ) { for ( i = isa->probe_idx ; i < isa_extra_probe_addr_count ; i++ ) {

View File

@ -66,12 +66,5 @@ extern int find_isa_device ( struct isa_device *eisa,
extern int find_isa_boot_device ( struct dev *dev, extern int find_isa_boot_device ( struct dev *dev,
struct isa_driver *driver ); struct isa_driver *driver );
/*
* config.c defines isa_extra_probe_addrs and isa_extra_probe_addr_count.
*
*/
extern isa_probe_addr_t isa_extra_probe_addrs[];
extern unsigned int isa_extra_probe_addr_count;
#endif /* ISA_H */ #endif /* ISA_H */