summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/shared/startup/bspstart.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2003-06-13 17:39:46 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2003-06-13 17:39:46 +0000
commit3a3e0b0e7de69486aac8a76237de7c4276f36797 (patch)
treef13b32d8274e826abb388b785593f7a8311eb2c6 /c/src/lib/libbsp/powerpc/shared/startup/bspstart.c
parentChanged format so script will see PR number. (diff)
downloadrtems-3a3e0b0e7de69486aac8a76237de7c4276f36797.tar.bz2
2003-06-13 Greg Menke <gregory.menke@gsfc.nasa.gov>
PR 405/bsps * bootloader/pci.c: Added support for configuring devices for pci busses > 0 * pci/pci.c, pci/pci.h: Added FixupPCI() to store vectors in the INTERRUPT_LINE register of pci devices any # of hops away from the host processor. * motorola/motorola.c, motorola/motorola.h: Added interrupt routing tables in support of FixupPCI. This is board-specific, each board will have to supply information for FixupPCI() to do anything for it. * startup/bspstart.c: Extended bat2 to cover entire PCI address space. * irq/irq.c, irq/irq.h: Added support for shared interrupts. Existing single hander vectors are undisturbed, a new function added to allow adding/removing handlers from a vector.
Diffstat (limited to '')
-rw-r--r--c/src/lib/libbsp/powerpc/shared/startup/bspstart.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/powerpc/shared/startup/bspstart.c b/c/src/lib/libbsp/powerpc/shared/startup/bspstart.c
index a865742dad..5fc61e65bb 100644
--- a/c/src/lib/libbsp/powerpc/shared/startup/bspstart.c
+++ b/c/src/lib/libbsp/powerpc/shared/startup/bspstart.c
@@ -253,7 +253,7 @@ void bsp_start( void )
* provided by the RAVEN
*/
/* T. Straumann: give more PCI address space */
- setdbat(2, PCI_MEM_BASE, PCI_MEM_BASE, 0x10000000, IO_PAGE);
+ setdbat(2, PCI_MEM_BASE, PCI_MEM_BASE, 0x30000000, IO_PAGE);
/*
* Must have acces to open pic PCI ACK registers
* provided by the RAVEN
@@ -300,6 +300,21 @@ void bsp_start( void )
printk("Going to start PCI buses scanning and initialization\n");
#endif
InitializePCI();
+
+ {
+ struct _int_map *bspmap = motorolaIntMap(currentBoard);
+ if( bspmap )
+ {
+ printk("pci : Configuring interrupt routing for '%s'\n", motorolaBoardToString(currentBoard));
+ FixupPCI(bspmap, motorolaIntSwizzle(currentBoard) );
+ }
+ else
+ printk("pci : Interrupt routing not available for this bsp\n");
+
+ }
+
+
+
#ifdef SHOW_MORE_INIT_SETTINGS
printk("Number of PCI buses found is : %d\n", BusCountPCI());
#endif