source: rtems/c/src/libchip/shmdr/intr.c @ dd9cc9f7

4.104.11
Last change on this file since dd9cc9f7 was 509fec9c, checked in by Ralf Corsepius <ralf.corsepius@…>, on Mar 31, 2004 at 11:18:37 AM

2004-03-31 Ralf Corsepius <ralf_corsepius@…>

  • libchip/ide/ata.c, libchip/network/dec21140.c, libchip/network/elnk.c, libchip/network/i82586.c, libchip/network/if_fxp.c, libchip/network/if_fxpvar.h, libchip/network/open_eth.c, libchip/network/sonic.c, libchip/rtc/icm7170.c, libchip/serial/ns16550.c, libchip/serial/z85c30.c, libchip/shmdr/cnvpkt.c, libchip/shmdr/init.c, libchip/shmdr/intr.c, libchip/shmdr/shm_driver.h: Cosmetics.
  • Property mode set to 100644
File size: 1.3 KB
Line 
1/*  void Shm_Cause_interrupt( node )
2 *
3 *  This routine is the shared memory driver routine which
4 *  generates interrupts to other CPUs.
5 *
6 *  It uses the information placed in the node status control
7 *  block by each node.  For example, when used with the Motorola
8 *  MVME136 board, the MPCSR is used.
9 *
10 *  Input parameters:
11 *    node          - destination of this packet (0 = broadcast)
12 *
13 *  Output parameters: NONE
14 *
15 *  COPYRIGHT (c) 1989-1999.
16 *  On-Line Applications Research Corporation (OAR).
17 *
18 *  The license and distribution terms for this file may be
19 *  found in the file LICENSE in this distribution or at
20 *  http://www.rtems.com/license/LICENSE.
21 *
22 *  $Id$
23 */
24
25#include <rtems.h>
26#include "shm_driver.h"
27
28void Shm_Cause_interrupt(
29  uint32_t   node
30)
31{
32  Shm_Interrupt_information *intr;
33  uint8_t    *u8;
34  uint16_t   *u16;
35  uint32_t   *u32;
36  uint32_t    value;
37
38  intr = &Shm_Interrupt_table[node];
39  value = intr->value;
40
41  switch ( intr->length ) {
42    case NO_INTERRUPT:
43       break;
44    case BYTE:
45      u8   = (uint8_t*)intr->address;
46      *u8  = (uint8_t) value;
47      break;
48    case WORD:
49      u16   = (uint16_t*)intr->address;
50      *u16  = (uint16_t) value;
51      break;
52    case LONG:
53      u32   = (uint32_t*)intr->address;
54      *u32  = (uint32_t) value;
55      break;
56  }
57}
Note: See TracBrowser for help on using the repository browser.