source: rtems/cpukit/libgnat/ada_intrsupp.c @ 20cdfd4

4.104.114.95
Last change on this file since 20cdfd4 was db27544, checked in by Joel Sherrill <joel.sherrill@…>, on 12/12/07 at 00:15:54

2007-12-11 Joel Sherrill <joel.sherrill@…>

  • Makefile.am, configure.ac, posix/Makefile.am, wrapup/Makefile.am: Move Ada support code that is untestable from the Standard RTEMS Test Suite into its own directory. All code in score, posix, rtems, and sapi should be testable by the Standard RTEMS Test Suites. It was buried under POSIX before so this should be a clearer location anyway.
  • libgnat/.cvsignore, libgnat/Makefile.am, libgnat/ada_intrsupp.c, libgnat/adasupp.c: New files.
  • posix/src/ada_intrsupp.c, posix/src/adasupp.c: Removed.
  • Property mode set to 100644
File size: 2.6 KB
Line 
1#include <rtems.h>
2#include <rtems/bspIo.h>
3
4rtems_id __gnat_binary_semaphore_create(void)
5{
6  rtems_status_code status;
7  rtems_id          semaphore;
8
9  status = rtems_semaphore_create(
10    rtems_build_name( 'A', 'I', 'S', 'R' ),
11    0,
12    RTEMS_SIMPLE_BINARY_SEMAPHORE | RTEMS_FIFO,
13    0,
14    &semaphore
15  );
16  if ( status != RTEMS_SUCCESSFUL )
17    printk( "__gnat_binary_semaphore_create failed %d\n", status );
18
19  #if defined(GNAT_DEBUG)
20    printk( "__gnat_binary_semaphore_create\n" );
21  #endif
22  return semaphore;
23}
24
25int __gnat_binary_semaphore_delete(
26  rtems_id semaphore
27)
28{
29  rtems_status_code status;
30
31  #if defined(GNAT_DEBUG)
32    printk( "__gnat_binary_semaphore_delete\n" );
33  #endif
34
35  status = rtems_semaphore_delete( semaphore );
36  if ( status != RTEMS_SUCCESSFUL )
37    printk( "__gnat_binary_semaphore_delete failed %d\n", status );
38
39  return 0;
40}
41
42int __gnat_binary_semaphore_obtain(
43  rtems_id semaphore
44)
45{
46  rtems_status_code status;
47
48  #if defined(GNAT_DEBUG)
49    printk( "__gnat_binary_semaphore_obtain\n" );
50  #endif
51
52  status = rtems_semaphore_obtain( semaphore, RTEMS_WAIT, RTEMS_NO_TIMEOUT );
53  if ( status != RTEMS_SUCCESSFUL )
54    printk( "__gnat_binary_semaphore_obtain failed %d\n", status );
55
56  return 0;
57}
58
59int __gnat_binary_semaphore_release(
60  rtems_id semaphore
61)
62{
63  rtems_status_code status;
64
65  #if defined(GNAT_DEBUG)
66    printk( "__gnat_binary_semaphore_release\n" );
67  #endif
68
69  status = rtems_semaphore_release( semaphore );
70  if ( status != RTEMS_SUCCESSFUL )
71    printk( "__gnat_binary_semaphore_release failed %d\n", status );
72
73  return 0;
74}
75
76int __gnat_binary_semaphore_flush(
77  rtems_id semaphore
78)
79{
80  rtems_status_code status;
81
82  printk( "__gnat_binary_semaphore_flush\n" );
83
84  status = rtems_semaphore_flush( semaphore );
85  if ( status != RTEMS_SUCCESSFUL )
86    printk( "__gnat_binary_semaphore_flush failed %d\n", status );
87
88  return 0;
89}
90
91typedef void (*ISRHandler)(void*);
92  void *set_vector( void *, rtems_vector_number, int );
93
94int __gnat_interrupt_connect(
95  int         vector,
96  ISRHandler  handler,
97  void       *parameter
98)
99{
100  printk( "__gnat_interrupt_connect( %d, %p, %p )\n", vector, handler, parameter  );
101  set_vector( handler, vector, 1 );
102  return 0;
103}
104
105int __gnat_interrupt_set(
106  int         vector,
107  ISRHandler  handler
108)
109{
110  printk( "__gnat_interrupt_set( %d, %p )\n", vector, handler );
111
112  set_vector( handler, vector, 1 );
113  return 0;
114}
115
116ISRHandler __gnat_interrupt_get(
117  int         vector
118)
119{
120  printk( "__gnat_interrupt_get( %d )\n", vector );
121  return 0;
122}
123
124int __gnat_interrupt_number_to_vector(
125  int intNum
126)
127{
128  printk( "__gnat_interrupt_number_to_vector( %d )\n", intNum );
129  return intNum;
130}
131
Note: See TracBrowser for help on using the repository browser.