Changeset bbacebe in rtems


Ignore:
Timestamp:
Jul 13, 2011, 8:24:04 PM (8 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.11, master
Children:
58679ac
Parents:
aa03052
Message:

2011-07-13 Sebastian Huber <sebastian.huber@…>

PR 1832/libcpu

  • at91rm9200/irq/irq.c: he bsp_interrupt_dispatch routine does not determine the correct interrupt source number. According to the datasheet, the reading of the interrupt vector register (AIC_IVR) notifies the hardware that the OS is taken care of the interrupt. Only after AIC_IVR have been read can the correct source number be read from the interrupt status register (AIC_ISR).
Location:
c/src/lib/libcpu/arm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libcpu/arm/ChangeLog

    raa03052 rbbacebe  
     12011-07-13      Sebastian Huber <sebastian.huber@embedded-brains.de>
     2
     3        PR 1832/libcpu
     4        * at91rm9200/irq/irq.c: he bsp_interrupt_dispatch routine does not
     5        determine the correct interrupt source number. According to the
     6        datasheet, the reading of the interrupt vector register (AIC_IVR)
     7        notifies the hardware that the OS is taken care of the interrupt.
     8        Only after AIC_IVR have been read can the correct source number be
     9        read from the interrupt status register (AIC_ISR).
     10
    1112011-06-07      Sebastian Huber <sebastian.huber@embedded-brains.de>
    212
  • c/src/lib/libcpu/arm/at91rm9200/irq/irq.c

    raa03052 rbbacebe  
    2222void bsp_interrupt_dispatch(void)
    2323{
    24   rtems_vector_number vector = AIC_CTL_REG(AIC_ISR);
     24  rtems_vector_number vector = AIC_CTL_REG(AIC_IVR);
    2525
    2626  bsp_interrupt_handler_dispatch(vector);
     
    4545rtems_status_code bsp_interrupt_facility_initialize(void)
    4646{
     47  unsigned long i = 0;
     48
     49  for (i = 0; i < 32; ++i) {
     50    AIC_SVR_REG(i<<2) = i;
     51  }
     52
    4753  /* disable all interrupts */
    4854  AIC_CTL_REG(AIC_IDCR) = 0xffffffff;
Note: See TracChangeset for help on using the changeset viewer.