Ignore:
Timestamp:
May 14, 2002, 5:10:17 PM (19 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
6a4df9f9
Parents:
3ce2907
Message:

2001-05-14 Till Straumann <strauman@…>

  • bootloader/misc.c, console/Makefile.am, console/console.c, console/consoleIo.h, console/inch.c, console/polled_io.c, console/uart.c, console/uart.h, include/bsp.h, irq/Makefile.am, irq/irq.c, irq/irq.h, irq/irq_init.c, openpic/openpic.c, openpic/openpic.h, pci/Makefile.am, pci/pci.c, pci/pci.h, residual/Makefile.am, start/start.S, startup/bspstart.c, vectors/vectors.S, vectors/vectors.h, vectors/vectors_init.c: Per PR216, "libbsp/powerpc/shared" BSP has been modified considerably with the goal to make it more flexible and reusable by other BSPs. The main strategies were:
    • eliminate hardcoded base addresses; devices use offsets and a BSP defined base address.
    • separate functionality into different files (e.g. reboot from inch.c to reboot.c) which can be overridden by a 'derived' BSP.
    • separate initialization code into separate files (e.g. PCI bridge detection/initialization was separated from the more generic PCI access routines), also to make it easier for 'derived' BSPs to substitute their own initialization code.

There are also a couple of enhancements and fixes:

  • IRQ handling code now has a hook for attaching a VME bridge.
  • OpenPIC is now explicitely initialized (polarities, senses). Eliminated the implicit assumption on the presence of an ISA PIC.
  • UART and console driver now supports more than 1 port. The current maximum of 2 can easily be extended by enlarging a table (it would even be easier if the ISR API was not broken by design).
  • fixed polled_io.c so it correctly supports console on COM2
  • fixed TLB invalidation code (start.S).
  • exception handler prints a stack backtrace.
  • added BSP_pciFindDevice() to scan the pci bus for a particular vendor/device/instance.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/shared/irq/irq.c

    r3ce2907 r69ed59f  
    2121#include <bsp/vectors.h>
    2222
     23#include <rtems/bspIo.h> /* for printk */
    2324#define RAVEN_INTR_ACK_REG 0xfeff0030
    2425
     
    125126 
    126127    if (!isValidInterrupt(irq->name)) {
     128      printk("Invalid interrupt vector %i\n",irq->name);
    127129      return 0;
    128130    }
     
    135137     */
    136138    if (rtems_hdl_tbl[irq->name].hdl != default_rtems_entry.hdl) {
     139      printk("IRQ vector %i already connected\n",irq->name);
    137140      return 0;
    138141    }
     
    373376  }
    374377  else {
    375     openpic_eoi(0);
     378#ifdef BSP_PCI_VME_BRIDGE_DOES_EOI
     379        /* leave it to the VME bridge to do EOI, so
     380         * it can re-enable the openpic while handling
     381         * VME interrupts (-> VME priorities in software)
     382         */
     383        if (BSP_PCI_VME_BRIDGE_IRQ!=irq)
     384#endif
     385                openpic_eoi(0);
    376386  }
    377387}
Note: See TracChangeset for help on using the changeset viewer.