Changeset adc53ec9 in rtems


Ignore:
Timestamp:
05/17/05 14:59:39 (17 years ago)
Author:
Jennifer Averett <Jennifer.Averett@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
490fd4a
Parents:
41a4657
Message:

2005-05-17 Jennifer Averett <jennifer.averett@…>

  • irq/irq.c, irq/irq.h, network/network.c: Modified to use rtems/irq.h.
Location:
c/src/lib/libbsp/powerpc/mbx8xx
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog

    r41a4657 radc53ec9  
     12005-05-17      Jennifer Averett <jennifer.averett@oarcorp.com>
     2
     3        * irq/irq.c, irq/irq.h, network/network.c: Modified to use rtems/irq.h.
     4
    152005-05-05      Jennifer Averett <jennifer.averett@oarcorp.com>
    26
  • c/src/lib/libbsp/powerpc/mbx8xx/irq/irq.c

    r41a4657 radc53ec9  
    3838 * Check if symbolic IRQ name is an SIU IRQ
    3939 */
    40 static inline int is_siu_irq(const rtems_irq_symbolic_name irqLine)
     40static inline int is_siu_irq(const rtems_irq_number irqLine)
    4141{
    4242  return (((int) irqLine <= BSP_SIU_IRQ_MAX_OFFSET) &
     
    4848 * Check if symbolic IRQ name is an CPM IRQ
    4949 */
    50 static inline int is_cpm_irq(const rtems_irq_symbolic_name irqLine)
     50static inline int is_cpm_irq(const rtems_irq_number irqLine)
    5151{
    5252  return (((int) irqLine <= BSP_CPM_IRQ_MAX_OFFSET) &
     
    5858 * Check if symbolic IRQ name is a Processor IRQ
    5959 */
    60 static inline int is_processor_irq(const rtems_irq_symbolic_name irqLine)
     60static inline int is_processor_irq(const rtems_irq_number irqLine)
    6161{
    6262  return (((int) irqLine <= BSP_PROCESSOR_IRQ_MAX_OFFSET) &
     
    116116}
    117117
    118 int BSP_irq_enable_at_cpm(const rtems_irq_symbolic_name irqLine)
     118int BSP_irq_enable_at_cpm(const rtems_irq_number irqLine)
    119119{
    120120  int cpm_irq_index;
     
    129129}
    130130
    131 int BSP_irq_disable_at_cpm(const rtems_irq_symbolic_name irqLine)
     131int BSP_irq_disable_at_cpm(const rtems_irq_number irqLine)
    132132{
    133133  int cpm_irq_index;
     
    142142}
    143143
    144 int BSP_irq_enabled_at_cpm(const rtems_irq_symbolic_name irqLine)
     144int BSP_irq_enabled_at_cpm(const rtems_irq_number irqLine)
    145145{
    146146  int cpm_irq_index;
     
    153153}
    154154
    155 int BSP_irq_enable_at_siu(const rtems_irq_symbolic_name irqLine)
     155int BSP_irq_enable_at_siu(const rtems_irq_number irqLine)
    156156{
    157157  int siu_irq_index;
     
    167167}
    168168
    169 int BSP_irq_disable_at_siu(const rtems_irq_symbolic_name irqLine)
     169int BSP_irq_disable_at_siu(const rtems_irq_number irqLine)
    170170{
    171171  int siu_irq_index;
     
    181181}
    182182
    183 int BSP_irq_enabled_at_siu      (const rtems_irq_symbolic_name irqLine)
     183int BSP_irq_enabled_at_siu      (const rtems_irq_number irqLine)
    184184{
    185185  int siu_irq_index;
  • c/src/lib/libbsp/powerpc/mbx8xx/irq/irq.h

    r41a4657 radc53ec9  
    2222#define LIBBSP_POWERPC_MBX8XX_IRQ_IRQ_H
    2323
     24#include <rtems/irq.h>
     25
    2426#define BSP_ASM_IRQ_VECTOR_BASE 0x0
    2527
     
    3638 */
    3739
    38 typedef enum {
    3940  /* Base vector for our SIU IRQ handlers. */
    40   BSP_SIU_VECTOR_BASE   =       BSP_ASM_IRQ_VECTOR_BASE,
     41#define BSP_SIU_VECTOR_BASE     BSP_ASM_IRQ_VECTOR_BASE
    4142  /*
    4243   * SIU IRQ handler related definitions
    4344   */
    44   BSP_SIU_IRQ_NUMBER            =       16, /* 16 reserved but in the future... */
    45   BSP_SIU_IRQ_LOWEST_OFFSET     =       0,
    46   BSP_SIU_IRQ_MAX_OFFSET        =       BSP_SIU_IRQ_LOWEST_OFFSET + BSP_SIU_IRQ_NUMBER - 1,
     45#define BSP_SIU_IRQ_NUMBER              16 /* 16 reserved but in the future... */
     46#define BSP_SIU_IRQ_LOWEST_OFFSET       0
     47#define  BSP_SIU_IRQ_MAX_OFFSET         (BSP_SIU_IRQ_LOWEST_OFFSET + BSP_SIU_IRQ_NUMBER - 1)
    4748  /*
    4849   * CPM IRQ handlers related definitions
    4950   * CAUTION : BSP_CPM_IRQ_LOWEST_OFFSET should be equal to OPENPIC_VEC_SOURCE
    5051   */
    51   BSP_CPM_IRQ_NUMBER            =       32,
    52   BSP_CPM_IRQ_LOWEST_OFFSET     =       BSP_SIU_IRQ_NUMBER + BSP_SIU_VECTOR_BASE,
    53   BSP_CPM_IRQ_MAX_OFFSET        =       BSP_CPM_IRQ_LOWEST_OFFSET + BSP_CPM_IRQ_NUMBER - 1,
     52#define BSP_CPM_IRQ_NUMBER              32
     53#define BSP_CPM_IRQ_LOWEST_OFFSET       (BSP_SIU_IRQ_NUMBER + BSP_SIU_VECTOR_BASE)
     54#define BSP_CPM_IRQ_MAX_OFFSET          (BSP_CPM_IRQ_LOWEST_OFFSET + BSP_CPM_IRQ_NUMBER - 1)
    5455  /*
    5556   * PowerPc exceptions handled as interrupt where a rtems managed interrupt
    5657   * handler might be connected
    5758   */
    58   BSP_PROCESSOR_IRQ_NUMBER      =       1,
    59   BSP_PROCESSOR_IRQ_LOWEST_OFFSET =     BSP_CPM_IRQ_MAX_OFFSET + 1,
    60   BSP_PROCESSOR_IRQ_MAX_OFFSET  =       BSP_PROCESSOR_IRQ_LOWEST_OFFSET + BSP_PROCESSOR_IRQ_NUMBER - 1,
     59#define BSP_PROCESSOR_IRQ_NUMBER        1
     60#define BSP_PROCESSOR_IRQ_LOWEST_OFFSET (BSP_CPM_IRQ_MAX_OFFSET + 1)
     61#define BSP_PROCESSOR_IRQ_MAX_OFFSET    (BSP_PROCESSOR_IRQ_LOWEST_OFFSET + BSP_PROCESSOR_IRQ_NUMBER - 1)
    6162  /*
    6263   * Summary
    6364   */
    64   BSP_IRQ_NUMBER                =       BSP_PROCESSOR_IRQ_MAX_OFFSET + 1,
    65   BSP_LOWEST_OFFSET             =       BSP_SIU_IRQ_LOWEST_OFFSET,
    66   BSP_MAX_OFFSET                =       BSP_PROCESSOR_IRQ_MAX_OFFSET,
     65#define BSP_IRQ_NUMBER          (BSP_PROCESSOR_IRQ_MAX_OFFSET + 1)
     66#define BSP_LOWEST_OFFSET       (BSP_SIU_IRQ_LOWEST_OFFSET)
     67#define BSP_MAX_OFFSET          (BSP_PROCESSOR_IRQ_MAX_OFFSET)
    6768    /*
    6869     * Some SIU IRQ symbolic name definition. Please note that
     
    7071     * redirect all CPM interrupt.
    7172     */
    72   BSP_SIU_EXT_IRQ_0             =       0,
    73   BSP_SIU_INT_IRQ_0             =       1,
     73#define BSP_SIU_EXT_IRQ_0       0
     74#define BSP_SIU_INT_IRQ_0       1
    7475
    75   BSP_SIU_EXT_IRQ_1             =       2,
    76   BSP_SIU_INT_IRQ_1             =       3,
     76#define BSP_SIU_EXT_IRQ_1       2
     77#define BSP_SIU_INT_IRQ_1       3
    7778
    78   BSP_SIU_EXT_IRQ_2             =       4,
    79   BSP_SIU_INT_IRQ_2             =       5,
     79#define BSP_SIU_EXT_IRQ_2       4
     80#define BSP_SIU_INT_IRQ_2       5
    8081
    81   BSP_SIU_EXT_IRQ_3             =       6,
    82   BSP_SIU_INT_IRQ_3             =       7,
     82#define BSP_SIU_EXT_IRQ_3       6
     83#define BSP_SIU_INT_IRQ_3       7
    8384
    84   BSP_SIU_EXT_IRQ_4             =       8,
    85   BSP_SIU_INT_IRQ_4             =       9,
     85#define BSP_SIU_EXT_IRQ_4       8
     86#define BSP_SIU_INT_IRQ_4       9
    8687
    87   BSP_SIU_EXT_IRQ_5             =       10,
    88   BSP_SIU_INT_IRQ_5             =       11,
     88#define BSP_SIU_EXT_IRQ_5       10
     89#define BSP_SIU_INT_IRQ_5       11
    8990
    90   BSP_SIU_EXT_IRQ_6             =       12,
    91   BSP_SIU_INT_IRQ_6             =       13,
     91#define BSP_SIU_EXT_IRQ_6       12
     92#define BSP_SIU_INT_IRQ_6       13
    9293
    93   BSP_SIU_EXT_IRQ_7             =       14,
    94   BSP_SIU_INT_IRQ_7             =       15,
     94#define BSP_SIU_EXT_IRQ_7       14
     95#define BSP_SIU_INT_IRQ_7       15
    9596  /*
    9697   * Symbolic name for CPM interrupt on SIU Internal level 2
    9798   */
    98   BSP_CPM_INTERRUPT             =       BSP_SIU_INT_IRQ_2,
    99   BSP_PERIODIC_TIMER            =       BSP_SIU_INT_IRQ_6,
    100   BSP_FAST_ETHERNET_CTRL        =       BSP_SIU_INT_IRQ_3,
     99#define BSP_CPM_INTERRUPT       BSP_SIU_INT_IRQ_2
     100#define BSP_PERIODIC_TIMER      BSP_SIU_INT_IRQ_6
     101#define BSP_FAST_ETHERNET_CTRL  BSP_SIU_INT_IRQ_3
    101102  /*
    102103     * Some CPM IRQ symbolic name definition
    103104     */
    104   BSP_CPM_IRQ_ERROR             =       BSP_CPM_IRQ_LOWEST_OFFSET,
    105   BSP_CPM_IRQ_PARALLEL_IO_PC4   =       BSP_CPM_IRQ_LOWEST_OFFSET + 1,
    106   BSP_CPM_IRQ_PARALLEL_IO_PC5   =       BSP_CPM_IRQ_LOWEST_OFFSET + 2,
    107   BSP_CPM_IRQ_SMC2_OR_PIP       =       BSP_CPM_IRQ_LOWEST_OFFSET + 3,
    108   BSP_CPM_IRQ_SMC1              =       BSP_CPM_IRQ_LOWEST_OFFSET + 4,
    109   BSP_CPM_IRQ_SPI               =       BSP_CPM_IRQ_LOWEST_OFFSET + 5,
    110   BSP_CPM_IRQ_PARALLEL_IO_PC6   =       BSP_CPM_IRQ_LOWEST_OFFSET + 6,
    111   BSP_CPM_IRQ_TIMER_4           =       BSP_CPM_IRQ_LOWEST_OFFSET + 7,
     105#define BSP_CPM_IRQ_ERROR               BSP_CPM_IRQ_LOWEST_OFFSET
     106#define BSP_CPM_IRQ_PARALLEL_IO_PC4     (BSP_CPM_IRQ_LOWEST_OFFSET + 1)
     107#define BSP_CPM_IRQ_PARALLEL_IO_PC5     (BSP_CPM_IRQ_LOWEST_OFFSET + 2)
     108#define BSP_CPM_IRQ_SMC2_OR_PIP         (BSP_CPM_IRQ_LOWEST_OFFSET + 3)
     109#define BSP_CPM_IRQ_SMC1                (BSP_CPM_IRQ_LOWEST_OFFSET + 4)
     110#define BSP_CPM_IRQ_SPI                 (BSP_CPM_IRQ_LOWEST_OFFSET + 5)
     111#define BSP_CPM_IRQ_PARALLEL_IO_PC6     (BSP_CPM_IRQ_LOWEST_OFFSET + 6)
     112#define BSP_CPM_IRQ_TIMER_4             (BSP_CPM_IRQ_LOWEST_OFFSET + 7)
    112113
    113   BSP_CPM_IRQ_PARALLEL_IO_PC7   =       BSP_CPM_IRQ_LOWEST_OFFSET + 9,
    114   BSP_CPM_IRQ_PARALLEL_IO_PC8   =       BSP_CPM_IRQ_LOWEST_OFFSET + 10,
    115   BSP_CPM_IRQ_PARALLEL_IO_PC9   =       BSP_CPM_IRQ_LOWEST_OFFSET + 11,
    116   BSP_CPM_IRQ_TIMER_3           =       BSP_CPM_IRQ_LOWEST_OFFSET + 12,
     114#define BSP_CPM_IRQ_PARALLEL_IO_PC7     (BSP_CPM_IRQ_LOWEST_OFFSET + 9)
     115#define BSP_CPM_IRQ_PARALLEL_IO_PC8     (BSP_CPM_IRQ_LOWEST_OFFSET + 10)
     116#define BSP_CPM_IRQ_PARALLEL_IO_PC9     (BSP_CPM_IRQ_LOWEST_OFFSET + 11)
     117#define BSP_CPM_IRQ_TIMER_3             (BSP_CPM_IRQ_LOWEST_OFFSET + 12)
    117118
    118   BSP_CPM_IRQ_PARALLEL_IO_PC10  =       BSP_CPM_IRQ_LOWEST_OFFSET + 14,
    119   BSP_CPM_IRQ_PARALLEL_IO_PC11  =       BSP_CPM_IRQ_LOWEST_OFFSET + 15,
    120   BSP_CPM_I2C                   =       BSP_CPM_IRQ_LOWEST_OFFSET + 16,
    121   BSP_CPM_RISC_TIMER_TABLE      =       BSP_CPM_IRQ_LOWEST_OFFSET + 17,
    122   BSP_CPM_IRQ_TIMER_2           =       BSP_CPM_IRQ_LOWEST_OFFSET + 18,
     119#define BSP_CPM_IRQ_PARALLEL_IO_PC10    (BSP_CPM_IRQ_LOWEST_OFFSET + 14)
     120#define BSP_CPM_IRQ_PARALLEL_IO_PC11    (BSP_CPM_IRQ_LOWEST_OFFSET + 15)
     121#define BSP_CPM_I2C                     (BSP_CPM_IRQ_LOWEST_OFFSET + 16)
     122#define BSP_CPM_RISC_TIMER_TABLE        (BSP_CPM_IRQ_LOWEST_OFFSET + 17)
     123#define BSP_CPM_IRQ_TIMER_2             (BSP_CPM_IRQ_LOWEST_OFFSET + 18)
    123124
    124   BSP_CPM_IDMA2                 =       BSP_CPM_IRQ_LOWEST_OFFSET + 20,
    125   BSP_CPM_IDMA1                 =       BSP_CPM_IRQ_LOWEST_OFFSET + 21,
    126   BSP_CPM_SDMA_CHANNEL_BUS_ERR  =       BSP_CPM_IRQ_LOWEST_OFFSET + 22,
    127   BSP_CPM_IRQ_PARALLEL_IO_PC12  =       BSP_CPM_IRQ_LOWEST_OFFSET + 23,
    128   BSP_CPM_IRQ_PARALLEL_IO_PC13  =       BSP_CPM_IRQ_LOWEST_OFFSET + 24,
    129   BSP_CPM_IRQ_TIMER_1           =       BSP_CPM_IRQ_LOWEST_OFFSET + 25,
    130   BSP_CPM_IRQ_PARALLEL_IO_PC14  =       BSP_CPM_IRQ_LOWEST_OFFSET + 26,
    131   BSP_CPM_IRQ_SCC4              =       BSP_CPM_IRQ_LOWEST_OFFSET + 27,
    132   BSP_CPM_IRQ_SCC3              =       BSP_CPM_IRQ_LOWEST_OFFSET + 28,
    133   BSP_CPM_IRQ_SCC2              =       BSP_CPM_IRQ_LOWEST_OFFSET + 29,
    134   BSP_CPM_IRQ_SCC1              =       BSP_CPM_IRQ_LOWEST_OFFSET + 30,
    135   BSP_CPM_IRQ_PARALLEL_IO_PC15  =       BSP_CPM_IRQ_LOWEST_OFFSET + 31,
     125#define BSP_CPM_IDMA2                   (BSP_CPM_IRQ_LOWEST_OFFSET + 20)
     126#define BSP_CPM_IDMA1                   (BSP_CPM_IRQ_LOWEST_OFFSET + 21)
     127#define BSP_CPM_SDMA_CHANNEL_BUS_ERR    (BSP_CPM_IRQ_LOWEST_OFFSET + 22)
     128#define BSP_CPM_IRQ_PARALLEL_IO_PC12    (BSP_CPM_IRQ_LOWEST_OFFSET + 23)
     129#define BSP_CPM_IRQ_PARALLEL_IO_PC13    (BSP_CPM_IRQ_LOWEST_OFFSET + 24)
     130#define BSP_CPM_IRQ_TIMER_1             (BSP_CPM_IRQ_LOWEST_OFFSET + 25)
     131#define BSP_CPM_IRQ_PARALLEL_IO_PC14    (BSP_CPM_IRQ_LOWEST_OFFSET + 26)
     132#define BSP_CPM_IRQ_SCC4                (BSP_CPM_IRQ_LOWEST_OFFSET + 27)
     133#define BSP_CPM_IRQ_SCC3                (BSP_CPM_IRQ_LOWEST_OFFSET + 28)
     134#define BSP_CPM_IRQ_SCC2                (BSP_CPM_IRQ_LOWEST_OFFSET + 29)
     135#define BSP_CPM_IRQ_SCC1                (BSP_CPM_IRQ_LOWEST_OFFSET + 30)
     136#define BSP_CPM_IRQ_PARALLEL_IO_PC15    (BSP_CPM_IRQ_LOWEST_OFFSET + 31)
    136137    /*
    137138     * Some Processor exception handled as rtems IRQ symbolic name definition
    138139     */
    139   BSP_DECREMENTER               =       BSP_PROCESSOR_IRQ_LOWEST_OFFSET
     140#define BSP_DECREMENTER                 BSP_PROCESSOR_IRQ_LOWEST_OFFSET
    140141
    141 }rtems_irq_symbolic_name;
    142142
    143143#define CPM_INTERRUPT
    144 
    145 /*
    146  * Type definition for RTEMS managed interrupts
    147  */
    148 typedef unsigned char  rtems_irq_prio;
    149 struct  __rtems_irq_connect_data__;     /* forward declaratiuon */
    150 
    151 typedef void *rtems_irq_hdl_param;
    152 typedef void (*rtems_irq_hdl)           (rtems_irq_hdl_param);
    153 typedef void (*rtems_irq_enable)        (const struct __rtems_irq_connect_data__*);
    154 typedef void (*rtems_irq_disable)       (const struct __rtems_irq_connect_data__*);
    155 typedef int  (*rtems_irq_is_enabled)    (const struct __rtems_irq_connect_data__*);
    156 
    157 typedef struct __rtems_irq_connect_data__ {
    158   /*
    159    * IRQ line
    160    */
    161   rtems_irq_symbolic_name       name;
    162   /*
    163    * handler. See comment on handler properties below in function prototype.
    164    */
    165   rtems_irq_hdl                 hdl;
    166   /*
    167    * Handler handle to store private data
    168    */
    169   rtems_irq_hdl_param               handle;
    170   /*
    171    * function for enabling interrupts at device level (ONLY!).
    172    * The BSP code will automatically enable it at SIU level and CPM level.
    173    * RATIONALE : anyway such code has to exist in current driver code.
    174    * It is usually called immediately AFTER connecting the interrupt handler.
    175    * RTEMS may well need such a function when restoring normal interrupt
    176    * processing after a debug session.
    177    *
    178    */
    179     rtems_irq_enable            on;
    180   /*
    181    * function for disabling interrupts at device level (ONLY!).
    182    * The code will disable it at SIU and CPM level. RATIONALE : anyway
    183    * such code has to exist for clean shutdown. It is usually called
    184    * BEFORE disconnecting the interrupt. RTEMS may well need such
    185    * a function when disabling normal interrupt processing for
    186    * a debug session. May well be a NOP function.
    187    */
    188   rtems_irq_disable             off;
    189   /*
    190    * function enabling to know what interrupt may currently occur
    191    * if someone manipulates the i8259s interrupt mask without care...
    192    */
    193     rtems_irq_is_enabled        isOn;
    194 }rtems_irq_connect_data;
    195 
    196 typedef struct {
    197   /*
    198    * size of all the table fields (*Tbl) described below.
    199    */
    200   unsigned int                  irqNb;
    201   /*
    202    * Default handler used when disconnecting interrupts.
    203    */
    204   rtems_irq_connect_data        defaultEntry;
    205   /*
    206    * Table containing initials/current value.
    207    */
    208   rtems_irq_connect_data*       irqHdlTbl;
    209   /*
    210    * actual value of BSP_SIU_IRQ_VECTOR_BASE...
    211    */
    212   rtems_irq_symbolic_name       irqBase;
    213   /*
    214    * software priorities associated with interrupts.
    215    * if irqPrio  [i]  >  intrPrio  [j]  it  means  that
    216    * interrupt handler hdl connected for interrupt name i
    217    * will  not be interrupted by the handler connected for interrupt j
    218    * The interrupt source  will be physically masked at i8259 level.
    219    */
    220     rtems_irq_prio*             irqPrioTbl;
    221 }rtems_irq_global_settings;
    222144
    223145/*-------------------------------------------------------------------------+
     
    233155 * not be propagated further to the processor
    234156 */
    235 int BSP_irq_disable_at_siu        (const rtems_irq_symbolic_name irqLine);
     157int BSP_irq_disable_at_siu        (const rtems_irq_number irqLine);
    236158/*
    237159 * function to enable a particular irq at 8259 level. After calling
     
    239161 * be propagated further to the processor
    240162 */
    241 int BSP_irq_enable_at_siu               (const rtems_irq_symbolic_name irqLine);
     163int BSP_irq_enable_at_siu               (const rtems_irq_number irqLine);
    242164/*
    243165 * function to acknoledge a particular irq at 8259 level. After calling
     
    247169 * handlers.
    248170 */
    249 int BSP_irq_ack_at_siu                  (const rtems_irq_symbolic_name irqLine);
     171int BSP_irq_ack_at_siu                  (const rtems_irq_number irqLine);
    250172/*
    251173 * function to check if a particular irq is enabled at 8259 level. After calling
    252174 */
    253 int BSP_irq_enabled_at_siu      (const rtems_irq_symbolic_name irqLine);
    254 /*
    255  * ------------------------ RTEMS Single Irq Handler Mngt Routines ----------------
    256  */
    257 /*
    258  * function to connect a particular irq handler. This hanlder will NOT be called
    259  * directly as the result of the corresponding interrupt. Instead, a RTEMS
    260  * irq prologue will be called that will :
    261  *
    262  *      1) save the C scratch registers,
    263  *      2) switch to a interrupt stack if the interrupt is not nested,
    264  *      4) modify them to disable the current interrupt at  SIU level (and may
    265  *      be others depending on software priorities)
    266  *      5) aknowledge the SIU',
    267  *      6) demask the processor,
    268  *      7) call the application handler
    269  *
    270  * As a result the hdl function provided
    271  *
    272  *      a) can perfectly be written is C,
    273  *      b) may also well directly call the part of the RTEMS API that can be used
    274  *      from interrupt level,
    275  *      c) It only responsible for handling the jobs that need to be done at
    276  *      the device level including (aknowledging/re-enabling the interrupt at device,
    277  *      level, getting the data,...)
    278  *
    279  *      When returning from the function, the following will be performed by
    280  *      the RTEMS irq epilogue :
    281  *
    282  *      1) masks the interrupts again,
    283  *      2) restore the original SIU interrupt masks
    284  *      3) switch back on the orinal stack if needed,
    285  *      4) perform rescheduling when necessary,
    286  *      5) restore the C scratch registers...
    287  *      6) restore initial execution flow
    288  *
    289  */
    290 int BSP_install_rtems_irq_handler       (const rtems_irq_connect_data*);
    291 /*
    292  * function to get the current RTEMS irq handler for ptr->name. It enables to
    293  * define hanlder chain...
    294  */
    295 int BSP_get_current_rtems_irq_handler   (rtems_irq_connect_data* ptr);
    296 /*
    297  * function to get disconnect the RTEMS irq handler for ptr->name.
    298  * This function checks that the value given is the current one for safety reason.
    299  * The user can use the previous function to get it.
    300  */
    301 int BSP_remove_rtems_irq_handler        (const rtems_irq_connect_data*);
    302 
    303 /*
    304  * ------------------------ RTEMS Global Irq Handler Mngt Routines ----------------
    305  */
    306 /*
    307  * (Re) Initialize the RTEMS interrupt management.
    308  *
    309  * The result of calling this function will be the same as if each individual
    310  * handler (config->irqHdlTbl[i].hdl)  different from "config->defaultEntry.hdl"
    311  * has been individualy connected via
    312  *      BSP_install_rtems_irq_handler(&config->irqHdlTbl[i])
    313  * And each handler currently equal to config->defaultEntry.hdl
    314  * has been previously disconnected via
    315  *       BSP_remove_rtems_irq_handler (&config->irqHdlTbl[i])
    316  *
    317  * This is to say that all information given will be used and not just
    318  * only the space.
    319  *
    320  * CAUTION : the various table address contained in config will be used
    321  *           directly by the interrupt mangement code in order to save
    322  *           data size so they must stay valid after the call => they should
    323  *           not be modified or declared on a stack.
    324  */
    325 
    326 int BSP_rtems_irq_mngt_set(rtems_irq_global_settings* config);
    327 /*
    328  * (Re) get info on current RTEMS interrupt management.
    329  */
    330 int BSP_rtems_irq_mngt_get(rtems_irq_global_settings**);
     175int BSP_irq_enabled_at_siu      (const rtems_irq_number irqLine);
    331176
    332177extern void BSP_rtems_irq_mng_init(unsigned cpuId);
  • c/src/lib/libbsp/powerpc/mbx8xx/network/network.c

    r41a4657 radc53ec9  
    140140static void  m8xx_scc1_ethernet_isOn(const rtems_irq_connect_data* ptr)
    141141{
    142   int BSP_irq_enabled_at_cpm(const rtems_irq_symbolic_name );
     142  int BSP_irq_enabled_at_cpm(const rtems_irq_number );
    143143  BSP_irq_enabled_at_cpm (ptr->name);
    144144}
Note: See TracChangeset for help on using the changeset viewer.