changeset 291:c1c3d5198fe3

Add CDL to support larger PCI spaces.
author gthomas
date Wed, 14 Aug 2002 13:19:10 +0000
parents 3ecf91f6663a
children 918b1f4e9403
files packages/hal/i386/pcmb/current/ChangeLog packages/hal/i386/pcmb/current/cdl/hal_i386_pcmb.cdl packages/hal/i386/pcmb/current/include/pcmb_io.h
diffstat 3 files changed, 29 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/packages/hal/i386/pcmb/current/ChangeLog
+++ b/packages/hal/i386/pcmb/current/ChangeLog
@@ -1,3 +1,9 @@
+2002-08-14  Gary Thomas  <gthomas@ecoscentric.com>
+2002-08-14  Drew Moseley <drew.moseley@intel.com>	
+
+	* cdl/hal_i386_pcmb.cdl: 
+	* include/pcmb_io.h: Increase PCI space to include all possible
+	busses, slots, etc.  Required because defaults are often too small.	
 2002-04-29  Gary Thomas  <gthomas@redhat.com>
 
 	* src/pcmb_misc.c (hal_pcmb_init): Disable NMI at this point since
--- a/packages/hal/i386/pcmb/current/cdl/hal_i386_pcmb.cdl
+++ b/packages/hal/i386/pcmb/current/cdl/hal_i386_pcmb.cdl
@@ -9,6 +9,7 @@
 ## -------------------------------------------
 ## This file is part of eCos, the Embedded Configurable Operating System.
 ## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
+## Copyright (C) 2002 Gary Thomas
 ##
 ## eCos is free software; you can redistribute it and/or modify it under
 ## the terms of the GNU General Public License as published by the Free
@@ -42,7 +43,7 @@
 #
 # Author(s):      jskov
 # Original data:  jskov
-# Contributors:   nickg
+# Contributors:   nickg, gthomas
 # Date:           1999-11-01
 #
 #####DESCRIPTIONEND####
@@ -121,6 +122,18 @@ cdl_package CYGPKG_HAL_I386_PCMB {
         }
     }
 
+    cdl_option CYGSEM_HAL_I386_PC_LARGE_PCI_SPACE {
+	display           "Search entire PCI space"
+	flavor            bool
+	default_value     0
+        description       "
+          This option enables searching the entire PCI address space, including
+        up to 256 busses, etc.  Probably only useful when there are bridges or
+        other PCI expanding devices (such as a board with it's own PCI bus)
+        in the system.  If disabled, the system will revert to the default
+        PCI space size (typically 8 busses)."
+    }
+
     cdl_option CYGNUM_HAL_I386_PC_STARTUP_VIDEO_MODE {
 	display           "Switch the display to an alternative video mode"
 	flavor            booldata
--- a/packages/hal/i386/pcmb/current/include/pcmb_io.h
+++ b/packages/hal/i386/pcmb/current/include/pcmb_io.h
@@ -12,6 +12,7 @@
 // -------------------------------------------
 // This file is part of eCos, the Embedded Configurable Operating System.
 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
+// Copyright (C) 2002 Gary Thomas
 //
 // eCos is free software; you can redistribute it and/or modify it under
 // the terms of the GNU General Public License as published by the Free
@@ -128,6 +129,14 @@ CYG_MACRO_END
 //-----------------------------------------------------------------------------
 // Resources
 
+#ifdef CYGSEM_HAL_I386_PC_LARGE_PCI_SPACE
+// Use unrestricted PCI space
+#define CYG_PCI_MAX_BUS                     256
+#define CYG_PCI_MIN_DEV                       0
+#define CYG_PCI_MAX_DEV                      32
+#define CYG_PCI_MAX_FN                        8
+#endif
+
 // This is where the PCI spaces are mapped in the CPU's address space.
 // In the PC the PCI address space is mapped 1-1 into the CPU physical
 // address space, so these values are both zero.