Mercurial > ecos
annotate packages/hal/common/current/include/hal_if.h @ 183:9160a8005d76
Merge from eCos master repository on 2001-09-12-03:52:30-BST
| author | jlarmour |
|---|---|
| date | Wed, 12 Sep 2001 04:21:13 +0000 |
| parents | 391299f9e541 |
| children | e0c0827131d1 |
| rev | line source |
|---|---|
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
1 #ifndef CYGONCE_HAL_HAL_IF_H |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
2 #define CYGONCE_HAL_HAL_IF_H |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
3 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
4 //============================================================================= |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
5 // |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
6 // hal_if.h |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
7 // |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
8 // HAL header for ROM/RAM calling interface. |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
9 // |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
10 //============================================================================= |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
11 //####COPYRIGHTBEGIN#### |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
12 // |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
13 // ------------------------------------------- |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
14 // The contents of this file are subject to the Red Hat eCos Public License |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
15 // Version 1.1 (the "License"); you may not use this file except in |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
16 // compliance with the License. You may obtain a copy of the License at |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
17 // http://www.redhat.com/ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
18 // |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
19 // Software distributed under the License is distributed on an "AS IS" |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
20 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
21 // License for the specific language governing rights and limitations under |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
22 // the License. |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
23 // |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
24 // The Original Code is eCos - Embedded Configurable Operating System, |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
25 // released September 30, 1998. |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
26 // |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
27 // The Initial Developer of the Original Code is Red Hat. |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
28 // Portions created by Red Hat are |
|
151
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
29 // Copyright (C) 1998, 1999, 2000, 2001 Red Hat, Inc. |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
30 // All Rights Reserved. |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
31 // ------------------------------------------- |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
32 // |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
33 //####COPYRIGHTEND#### |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
34 //============================================================================= |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
35 //#####DESCRIPTIONBEGIN#### |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
36 // |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
37 // Author(s): jskov |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
38 // Contributors:jskov |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
39 // Date: 2000-06-07 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
40 // Purpose: HAL RAM/ROM calling interface |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
41 // Description: ROM/RAM calling interface table definitions. The layout is a |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
42 // combination of libbsp and vectors already in use by some |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
43 // eCos platforms. |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
44 // Usage: #include <cyg/hal/hal_if.h> |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
45 // |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
46 //####DESCRIPTIONEND#### |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
47 // |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
48 //============================================================================= |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
49 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
50 #include <cyg/infra/cyg_type.h> // types & externC |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
51 #include <cyg/hal/dbg-threads-api.h> |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
52 #include <cyg/hal/dbg-thread-syscall.h> |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
53 |
|
105
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
54 #include <stdarg.h> |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
55 |
|
103
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
56 #ifdef CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
57 |
|
151
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
58 // Architecture/var/platform may override the accessor macros. |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
59 #include <cyg/hal/hal_arch.h> |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
60 |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
61 // Special monitor locking procedures. These are necessary when the monitor |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
62 // and eCos share facilities, e.g. the network hardware. |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
63 #ifdef CYGPKG_NET |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
64 #include <cyg/hal/hal_intr.h> |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
65 #include <cyg/hal/drv_api.h> // cyg_drv_dsr_lock(), etc |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
66 #define _ENTER_MONITOR() \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
67 cyg_uint32 ints; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
68 HAL_DISABLE_INTERRUPTS(ints); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
69 cyg_drv_dsr_lock() |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
70 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
71 #define _EXIT_MONITOR() \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
72 cyg_drv_dsr_unlock(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
73 HAL_RESTORE_INTERRUPTS(ints) |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
74 #else // !CYGPKG_NET |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
75 #define _ENTER_MONITOR() CYG_EMPTY_STATEMENT |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
76 #define _EXIT_MONITOR() CYG_EMPTY_STATEMENT |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
77 #endif |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
78 |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
79 //-------------------------------------------------------------------------- |
|
112
02ea4320376c
Merge from eCos master repository on 2000-07-21-21:01:39-BST
jlarmour
parents:
107
diff
changeset
|
80 #ifndef _BSP_HANDLER_T_DEFINED |
|
02ea4320376c
Merge from eCos master repository on 2000-07-21-21:01:39-BST
jlarmour
parents:
107
diff
changeset
|
81 #define _BSP_HANDLER_T_DEFINED |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
82 typedef int (*bsp_handler_t)(int __irq_nr, void *__regs); |
|
112
02ea4320376c
Merge from eCos master repository on 2000-07-21-21:01:39-BST
jlarmour
parents:
107
diff
changeset
|
83 #endif // _BSP_HANDLER_T_DEFINED |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
84 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
85 //-------------------------------------------------------------------------- |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
86 // Communication interface table. CYGNUM_CALL_IF_CONSOLE_PROCS and |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
87 // CYGNUM_CALL_IF_DEBUG_PROCS point to instances (possibly the same) |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
88 // of this table. |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
89 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
90 typedef enum { |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
91 /* |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
92 * For serial ports, the control function may be used to set and get the |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
93 * current baud rate. Usage: |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
94 * |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
95 * err = (*__control)(COMMCTL_SETBAUD, int bits_per_second); |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
96 * err => Zero if successful, -1 if error. |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
97 * |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
98 * baud = (*__control)(COMMCTL_GETBAUD); |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
99 * baud => -1 if error, current baud otherwise. |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
100 */ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
101 __COMMCTL_SETBAUD=0, |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
102 __COMMCTL_GETBAUD, |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
103 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
104 /* |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
105 * Install and remove debugger interrupt handlers. These are the receiver |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
106 * interrupt routines which are used to change control from a running |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
107 * program to the debugger stub. |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
108 */ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
109 __COMMCTL_INSTALL_DBG_ISR, |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
110 __COMMCTL_REMOVE_DBG_ISR, |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
111 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
112 /* |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
113 * Disable comm port interrupt. Returns TRUE if interrupt was enabled, |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
114 * FALSE otherwise. |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
115 */ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
116 __COMMCTL_IRQ_DISABLE, |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
117 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
118 /* |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
119 * Enable comm port interrupt. |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
120 */ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
121 __COMMCTL_IRQ_ENABLE, |
|
105
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
122 |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
123 /* |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
124 * Returns the number of the interrupt vector used by the debug |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
125 * interrupt handler. |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
126 */ |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
127 __COMMCTL_DBG_ISR_VECTOR, |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
128 |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
129 /* |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
130 * Returns the current timeout value and sets a new timeout. |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
131 * Timeout resolution is in milliseconds. |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
132 * old_timeout = (*__control)(__COMMCTL_SET_TIMEOUT, |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
133 * cyg_int32 new_timeout); |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
134 */ |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
135 __COMMCTL_SET_TIMEOUT, |
|
138
289bf90c6a9b
Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents:
130
diff
changeset
|
136 |
|
289bf90c6a9b
Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents:
130
diff
changeset
|
137 /* |
|
289bf90c6a9b
Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents:
130
diff
changeset
|
138 * Forces driver to send all characters which may be buffered in |
|
289bf90c6a9b
Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents:
130
diff
changeset
|
139 * the driver. This only flushes the driver buffers, not necessarily |
|
289bf90c6a9b
Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents:
130
diff
changeset
|
140 * any hardware FIFO, etc. |
|
289bf90c6a9b
Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents:
130
diff
changeset
|
141 */ |
|
289bf90c6a9b
Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents:
130
diff
changeset
|
142 __COMMCTL_FLUSH_OUTPUT, |
|
289bf90c6a9b
Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents:
130
diff
changeset
|
143 |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
144 } __comm_control_cmd_t; |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
145 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
146 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
147 #define CYGNUM_COMM_IF_CH_DATA 0 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
148 #define CYGNUM_COMM_IF_WRITE 1 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
149 #define CYGNUM_COMM_IF_READ 2 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
150 #define CYGNUM_COMM_IF_PUTC 3 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
151 #define CYGNUM_COMM_IF_GETC 4 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
152 #define CYGNUM_COMM_IF_CONTROL 5 |
|
105
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
153 #define CYGNUM_COMM_IF_DBG_ISR 6 |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
154 #define CYGNUM_COMM_IF_GETC_TIMEOUT 7 |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
155 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
156 #define CYGNUM_COMM_IF_TABLE_SIZE 8 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
157 |
|
105
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
158 typedef volatile CYG_ADDRWORD hal_virtual_comm_table_t[CYGNUM_COMM_IF_TABLE_SIZE]; |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
159 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
160 // The below is a (messy) attempt at adding some type safety to the |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
161 // above array. At the same time, the accessors allow the |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
162 // implementation to be easily changed in the future (both tag->data |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
163 // table and structure implementations have been suggested). |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
164 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
165 typedef void* __comm_if_ch_data_t; |
|
151
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
166 typedef void (*__comm_if_write_t)(void* __ch_data, const cyg_uint8* __buf, |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
167 cyg_uint32 __len); |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
168 typedef int (*__comm_if_read_t)(void* __ch_data, cyg_uint8* __buf, |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
169 cyg_uint32 __len); |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
170 typedef void (*__comm_if_putc_t)(void* __ch_data, cyg_uint8 __ch); |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
171 typedef cyg_uint8 (*__comm_if_getc_t)(void* __ch_data); |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
172 typedef int (*__comm_if_control_t)(void *__ch_data, |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
173 __comm_control_cmd_t __func, ...); |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
174 typedef int (*__comm_if_dbg_isr_t)(void *__ch_data, |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
175 int* __ctrlc, CYG_ADDRWORD __vector, |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
176 CYG_ADDRWORD __data); |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
177 typedef cyg_bool (*__comm_if_getc_timeout_t)(void* __ch_data, cyg_uint8* __ch); |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
178 |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
179 #define __call_COMM0(_n_,_rt_,_t_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
180 static __inline__ _rt_ \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
181 __call_COMM_##_n_(hal_virtual_comm_table_t t) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
182 { \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
183 _rt_ res; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
184 void *dp = (__comm_if_ch_data_t)t[CYGNUM_COMM_IF_CH_DATA]; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
185 _ENTER_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
186 res = ((_t_)(t[CYGNUM_COMM_##_n_]))(dp); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
187 _EXIT_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
188 return res; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
189 } |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
190 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
191 #define __call_voidCOMM(_n_,_rt_,_t_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
192 static __inline__ _rt_ \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
193 __call_COMM_##_n_(hal_virtual_comm_table_t t) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
194 { \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
195 void *dp = (__comm_if_ch_data_t)t[CYGNUM_COMM_IF_CH_DATA]; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
196 _ENTER_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
197 ((_t_)(t[CYGNUM_COMM_##_n_]))(dp); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
198 _EXIT_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
199 } |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
200 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
201 #define __call_COMM1(_n_,_rt_,_t_,_t1_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
202 static __inline__ _rt_ \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
203 __call_COMM_##_n_(hal_virtual_comm_table_t t, _t1_ _p1_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
204 { \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
205 _rt_ res; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
206 void *dp = (__comm_if_ch_data_t)t[CYGNUM_COMM_IF_CH_DATA]; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
207 _ENTER_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
208 res = ((_t_)(t[CYGNUM_COMM_##_n_]))(dp, _p1_); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
209 _EXIT_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
210 return res; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
211 } |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
212 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
213 #define __call_voidCOMM1(_n_,_rt_,_t_,_t1_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
214 static __inline__ _rt_ \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
215 __call_COMM_##_n_(hal_virtual_comm_table_t t, _t1_ _p1_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
216 { \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
217 void *dp = (__comm_if_ch_data_t)t[CYGNUM_COMM_IF_CH_DATA]; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
218 _ENTER_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
219 ((_t_)(t[CYGNUM_COMM_##_n_]))(dp, _p1_); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
220 _EXIT_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
221 } |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
222 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
223 #define __call_COMM2(_n_,_rt_,_t_,_t1_,_t2_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
224 static __inline__ _rt_ \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
225 __call_COMM_##_n_(hal_virtual_comm_table_t t, _t1_ _p1_, _t2_ _p2_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
226 { \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
227 _rt_ res; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
228 void *dp = (__comm_if_ch_data_t)t[CYGNUM_COMM_IF_CH_DATA]; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
229 _ENTER_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
230 res = ((_t_)(t[CYGNUM_COMM_##_n_]))(dp, _p1_, _p2_); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
231 _EXIT_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
232 return res; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
233 } |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
234 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
235 #define __call_voidCOMM2(_n_,_rt_,_t_,_t1_,_t2_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
236 static __inline__ _rt_ \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
237 __call_COMM_##_n_(hal_virtual_comm_table_t t, _t1_ _p1_, _t2_ _p2_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
238 { \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
239 void *dp = (__comm_if_ch_data_t)t[CYGNUM_COMM_IF_CH_DATA]; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
240 _ENTER_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
241 ((_t_)(t[CYGNUM_COMM_##_n_]))(dp, _p1_, _p2_); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
242 _EXIT_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
243 } |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
244 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
245 #define __call_COMM3(_n_,_rt_,_t_,_t1_,_t2_,_t3_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
246 static __inline__ _rt_ \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
247 __call_COMM_##_n_(hal_virtual_comm_table_t t, _t1_ _p1_, _t2_ _p2_, _t3_ _p3_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
248 { \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
249 _rt_ res; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
250 void *dp = (__comm_if_ch_data_t)t[CYGNUM_COMM_IF_CH_DATA]; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
251 _ENTER_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
252 res = ((_t_)(t[CYGNUM_COMM_##_n_]))(dp, _p1_, _p2_, _p3_); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
253 _EXIT_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
254 return res; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
255 } |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
256 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
257 #define __call_voidCOMM3(_n_,_rt_,_t_,_t1_,_t2_,_t3_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
258 static __inline__ _rt_ \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
259 __call_COMM_##_n_(hal_virtual_comm_table_t t, _t1_ _p1_, _t2_ _p2_, _t3_ _p3_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
260 { \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
261 void *dp = (__comm_if_ch_data_t)t[CYGNUM_COMM_IF_CH_DATA]; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
262 _ENTER_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
263 ((_t_)(t[CYGNUM_COMM_##_n_]))(dp, _p1_, _p2_, _p3_); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
264 _EXIT_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
265 } |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
266 |
|
151
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
267 #ifndef CYGACC_COMM_IF_DEFINED |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
268 |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
269 #define CYGACC_COMM_IF_CH_DATA(_t_) \ |
|
107
7f461c3a372c
Merge from eCos master repository on 2000-07-04-08:04:30-BST
jlarmour
parents:
105
diff
changeset
|
270 ((__comm_if_ch_data_t)((_t_)[CYGNUM_COMM_IF_CH_DATA])) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
271 #define CYGACC_COMM_IF_CH_DATA_SET(_t_, _x_) \ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
272 (_t_)[CYGNUM_COMM_IF_CH_DATA]=(CYG_ADDRWORD)(_x_) |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
273 |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
274 __call_voidCOMM2(IF_WRITE, void, __comm_if_write_t, const cyg_uint8 *, cyg_uint32) |
|
107
7f461c3a372c
Merge from eCos master repository on 2000-07-04-08:04:30-BST
jlarmour
parents:
105
diff
changeset
|
275 #define CYGACC_COMM_IF_WRITE(_t_, _b_, _l_) \ |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
276 __call_COMM_IF_WRITE(_t_, _b_, _l_) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
277 #define CYGACC_COMM_IF_WRITE_SET(_t_, _x_) \ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
278 (_t_)[CYGNUM_COMM_IF_WRITE]=(CYG_ADDRWORD)(_x_) |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
279 |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
280 __call_voidCOMM2(IF_READ, void, __comm_if_read_t, cyg_uint8 *, cyg_uint32) |
|
107
7f461c3a372c
Merge from eCos master repository on 2000-07-04-08:04:30-BST
jlarmour
parents:
105
diff
changeset
|
281 #define CYGACC_COMM_IF_READ(_t_, _b_, _l_) \ |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
282 __call_COMM_IF_READ(_t_, _b_, _l_) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
283 #define CYGACC_COMM_IF_READ_SET(_t_, _x_) \ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
284 (_t_)[CYGNUM_COMM_IF_READ]=(CYG_ADDRWORD)(_x_) |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
285 |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
286 __call_voidCOMM1(IF_PUTC, void, __comm_if_putc_t, cyg_uint8) |
|
107
7f461c3a372c
Merge from eCos master repository on 2000-07-04-08:04:30-BST
jlarmour
parents:
105
diff
changeset
|
287 #define CYGACC_COMM_IF_PUTC(_t_, _c_) \ |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
288 __call_COMM_IF_PUTC(_t_,_c_) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
289 #define CYGACC_COMM_IF_PUTC_SET(_t_, _x_) \ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
290 (_t_)[CYGNUM_COMM_IF_PUTC]=(CYG_ADDRWORD)(_x_) |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
291 |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
292 __call_COMM0(IF_GETC, cyg_uint8, __comm_if_getc_t) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
293 #define CYGACC_COMM_IF_GETC(_t_) \ |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
294 __call_COMM_IF_GETC(_t_) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
295 #define CYGACC_COMM_IF_GETC_SET(_t_, _x_) \ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
296 (_t_)[CYGNUM_COMM_IF_GETC]=(CYG_ADDRWORD)(_x_) |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
297 |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
298 // This macro has not been changed to use inline functions like the |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
299 // others, simply because it uses variable arguments, and the change |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
300 // would break binary compatibility. |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
301 #define CYGACC_COMM_IF_CONTROL(_t_, args...) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
302 ({ int res; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
303 _ENTER_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
304 res = ((__comm_if_control_t)((_t_)[CYGNUM_COMM_IF_CONTROL]))(CYGACC_COMM_IF_CH_DATA(_t_), args); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
305 _EXIT_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
306 res;}) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
307 #define CYGACC_COMM_IF_CONTROL_SET(_t_, _x_) \ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
308 (_t_)[CYGNUM_COMM_IF_CONTROL]=(CYG_ADDRWORD)(_x_) |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
309 |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
310 __call_COMM3(IF_DBG_ISR, int, __comm_if_dbg_isr_t, int *, CYG_ADDRWORD, CYG_ADDRWORD) |
|
107
7f461c3a372c
Merge from eCos master repository on 2000-07-04-08:04:30-BST
jlarmour
parents:
105
diff
changeset
|
311 #define CYGACC_COMM_IF_DBG_ISR(_t_, _c_, _v_, _d_) \ |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
312 __call_COMM_IF_DBG_ISR(_t_, _c_, _v_, _d_) |
|
105
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
313 #define CYGACC_COMM_IF_DBG_ISR_SET(_t_, _x_) \ |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
314 (_t_)[CYGNUM_COMM_IF_DBG_ISR]=(CYG_ADDRWORD)(_x_) |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
315 |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
316 __call_COMM1(IF_GETC_TIMEOUT, cyg_bool, __comm_if_getc_timeout_t, cyg_uint8 *) |
|
107
7f461c3a372c
Merge from eCos master repository on 2000-07-04-08:04:30-BST
jlarmour
parents:
105
diff
changeset
|
317 #define CYGACC_COMM_IF_GETC_TIMEOUT(_t_, _c_) \ |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
318 __call_COMM_IF_GETC_TIMEOUT(_t_, _c_) |
|
105
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
319 #define CYGACC_COMM_IF_GETC_TIMEOUT_SET(_t_, _x_) \ |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
320 (_t_)[CYGNUM_COMM_IF_GETC_TIMEOUT]=(CYG_ADDRWORD)(_x_) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
321 |
|
151
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
322 #endif // CYGACC_COMM_IF_DEFINED |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
323 |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
324 //-------------------------------------------------------------------------- |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
325 // Main calling interface table. Will be assigned a location by the |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
326 // linker script. Both ROM and RAM startup applications will know about |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
327 // the location. |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
328 #define CYGNUM_CALL_IF_VERSION 0 |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
329 #define CYGNUM_CALL_IF_available_1 1 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
330 #define CYGNUM_CALL_IF_available_2 2 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
331 #define CYGNUM_CALL_IF_available_3 3 |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
332 #define CYGNUM_CALL_IF_KILL_VECTOR 4 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
333 #define CYGNUM_CALL_IF_CONSOLE_PROCS 5 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
334 #define CYGNUM_CALL_IF_DEBUG_PROCS 6 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
335 #define CYGNUM_CALL_IF_FLUSH_DCACHE 7 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
336 #define CYGNUM_CALL_IF_FLUSH_ICACHE 8 |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
337 #define CYGNUM_CALL_IF_available_9 9 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
338 #define CYGNUM_CALL_IF_available_10 10 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
339 #define CYGNUM_CALL_IF_available_11 11 |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
340 #define CYGNUM_CALL_IF_SET_DEBUG_COMM 12 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
341 #define CYGNUM_CALL_IF_SET_CONSOLE_COMM 13 |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
342 #define CYGNUM_CALL_IF_available_14 14 |
|
115
6ed91473a1cd
Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
112
diff
changeset
|
343 #define CYGNUM_CALL_IF_DBG_SYSCALL 15 |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
344 #define CYGNUM_CALL_IF_RESET 16 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
345 #define CYGNUM_CALL_IF_CONSOLE_INTERRUPT_FLAG 17 |
|
105
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
346 #define CYGNUM_CALL_IF_DELAY_US 18 |
|
115
6ed91473a1cd
Merge from eCos master repository on 2000-08-21-22:40:54-BST
jlarmour
parents:
112
diff
changeset
|
347 #define CYGNUM_CALL_IF_DBG_DATA 19 |
|
156
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
348 #define CYGNUM_CALL_IF_FLASH_CFG_OP 20 |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
349 |
|
156
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
350 #define CYGNUM_CALL_IF_LAST_ENTRY CYGNUM_CALL_IF_FLASH_CFG_OP |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
351 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
352 #define CYGNUM_CALL_IF_INSTALL_BPT_FN 35 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
353 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
354 #define CYGNUM_CALL_IF_TABLE_SIZE 64 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
355 |
|
105
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
356 externC volatile CYG_ADDRWORD hal_virtual_vector_table[CYGNUM_CALL_IF_TABLE_SIZE]; |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
357 |
|
151
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
358 // Table version contains version information for both the CALL table |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
359 // itself (the number of the last active entry in the table), and the |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
360 // COMM table (the size of the table). |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
361 #define CYGNUM_CALL_IF_TABLE_VERSION_CALL CYGNUM_CALL_IF_LAST_ENTRY |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
362 #define CYGNUM_CALL_IF_TABLE_VERSION_CALL_HACK (CYGNUM_CALL_IF_TABLE_SIZE+1) |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
363 #define CYGNUM_CALL_IF_TABLE_VERSION_CALL_MAX CYGNUM_CALL_IF_TABLE_SIZE |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
364 #define CYGNUM_CALL_IF_TABLE_VERSION_COMM CYGNUM_COMM_IF_TABLE_SIZE |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
365 #define CYGNUM_CALL_IF_TABLE_VERSION_CALL_MASK 0x0000ffff |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
366 #define CYGNUM_CALL_IF_TABLE_VERSION_COMM_MASK 0xffff0000 |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
367 #define CYGNUM_CALL_IF_TABLE_VERSION_COMM_shift 16 |
|
103
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
368 |
|
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
369 |
|
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
370 // These are special debug/console procs IDs |
|
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
371 // QUERY_CURRENT will cause the ID of the currently selected proc ID to be |
|
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
372 // returned. |
|
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
373 // EMPTY this is the ID used for an empty procs table (i.e, NULL |
|
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
374 // pointer) |
|
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
375 // MANGLER selects the procs space reserved for the console mangler |
|
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
376 // allowing the application to temporarily disable mangling |
|
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
377 // or temporarily switch in different console procs. |
|
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
378 #define CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT -1 |
|
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
379 #define CYGNUM_CALL_IF_SET_COMM_ID_EMPTY -2 |
|
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
380 #define CYGNUM_CALL_IF_SET_COMM_ID_MANGLER -3 |
|
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
381 |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
382 // The below is a (messy) attempt at adding some type safety to the |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
383 // above array. At the same time, the accessors allow the |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
384 // implementation to be easily changed in the future (both tag->data |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
385 // table and structure implementations have been suggested). |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
386 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
387 typedef int __call_if_version_t; |
|
151
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
388 typedef void* __call_if_ictrl_table_t; |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
389 typedef void* __call_if_exc_table_t; |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
390 typedef bsp_handler_t *__call_if_dbg_vector_t; |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
391 typedef bsp_handler_t __call_if_kill_vector_t; |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
392 typedef hal_virtual_comm_table_t *__call_if_console_procs_t; |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
393 typedef hal_virtual_comm_table_t *__call_if_debug_procs_t; |
|
156
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
394 typedef void (__call_if_flush_dcache_t)(void *__p, int __nbytes); |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
395 typedef void (__call_if_flush_icache_t)(void *__p, int __nbytes); |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
396 typedef int (__call_if_set_debug_comm_t)(int __comm_id); |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
397 typedef int (__call_if_set_console_comm_t)(int __comm_id); |
|
151
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
398 typedef void* __call_if_dbg_data_t; |
|
156
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
399 typedef int (__call_if_dbg_syscall_t) (enum dbg_syscall_ids id, |
|
151
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
400 union dbg_thread_syscall_parms *p ); |
|
156
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
401 typedef void (__call_if_reset_t)(void); |
|
151
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
402 typedef int __call_if_console_interrupt_flag_t; |
|
156
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
403 typedef void (__call_if_delay_us_t)(cyg_int32 usecs); |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
404 typedef void (__call_if_install_bpt_fn_t)(void *__epc); |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
405 typedef cyg_bool (__call_if_flash_cfg_op_fn_t)(int __oper, char *__key, |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
406 void *__val, int __type); |
|
151
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
407 |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
408 #ifndef CYGACC_CALL_IF_DEFINED |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
409 |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
410 #define __data_VV(_n_,_tt_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
411 static __inline__ _tt_ \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
412 __call_vv_##_n_(void) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
413 { \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
414 return ((_tt_)hal_virtual_vector_table[_n_]); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
415 } |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
416 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
417 #define __call_VV0(_n_,_tt_,_rt_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
418 static __inline__ _rt_ \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
419 __call_vv_##_n_(void) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
420 { \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
421 _rt_ res; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
422 _ENTER_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
423 res = ((_tt_ *)hal_virtual_vector_table[_n_])(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
424 _EXIT_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
425 return res; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
426 } |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
427 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
428 #define __call_voidVV0(_n_,_tt_,_rt_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
429 static __inline__ _rt_ \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
430 __call_vv_##_n_(void) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
431 { \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
432 _ENTER_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
433 ((_tt_ *)hal_virtual_vector_table[_n_])(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
434 _EXIT_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
435 } |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
436 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
437 #define __call_VV1(_n_,_tt_,_rt_,_t1_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
438 static __inline__ _rt_ \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
439 __call_vv_##_n_(_t1_ _p1_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
440 { \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
441 _rt_ res; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
442 _ENTER_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
443 res = ((_tt_ *)hal_virtual_vector_table[_n_])(_p1_); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
444 _EXIT_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
445 return res; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
446 } |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
447 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
448 #define __call_voidVV1(_n_,_tt_,_rt_,_t1_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
449 static __inline__ _rt_ \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
450 __call_vv_##_n_(_t1_ _p1_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
451 { \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
452 _ENTER_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
453 ((_tt_ *)hal_virtual_vector_table[_n_])(_p1_); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
454 _EXIT_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
455 } |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
456 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
457 #define __call_VV2(_n_,_tt_,_rt_,_t1_,_t2_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
458 static __inline__ _rt_ \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
459 __call_vv_##_n_(_t1_ _p1_, _t2_ _p2_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
460 { \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
461 _rt_ res; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
462 _ENTER_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
463 res = ((_tt_ *)hal_virtual_vector_table[_n_])(_p1_,_p2_); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
464 _EXIT_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
465 return res; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
466 } |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
467 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
468 #define __call_voidVV2(_n_,_tt_,_rt_,_t1_,_t2_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
469 static __inline__ _rt_ \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
470 __call_vv_##_n_(_t1_ _p1_, _t2_ _p2_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
471 { \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
472 _ENTER_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
473 ((_tt_ *)hal_virtual_vector_table[_n_])(_p1_,_p2_); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
474 _EXIT_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
475 } |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
476 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
477 #define __call_VV4(_n_,_tt_,_rt_,_t1_,_t2_,_t3_,_t4_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
478 static __inline__ _rt_ \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
479 __call_vv_##_n_(_t1_ _p1_, _t2_ _p2_, _t3_ _p3_, _t4_ _p4_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
480 { \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
481 _rt_ res; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
482 _ENTER_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
483 res = ((_tt_ *)hal_virtual_vector_table[_n_])(_p1_,_p2_,_p3_,_p4_); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
484 _EXIT_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
485 return res; \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
486 } |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
487 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
488 #define __call_voidVV4(_n_,_tt_,_rt_,_t1_,_t2_,_t3_,_t4_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
489 static __inline__ _rt_ \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
490 __call_vv_##_n_(_t1_ _p1_, _t2_ _p2_, _t3_ _p3_, _t4_ _p4_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
491 { \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
492 _ENTER_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
493 ((_tt_ *)hal_virtual_vector_table[_n_])(_p1_,_p2_,_p3_,_p4_); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
494 _EXIT_MONITOR(); \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
495 } |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
496 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
497 |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
498 #define CYGACC_DATA_VV(t,e) __call_vv_##e() |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
499 #define CYGACC_CALL_VV0(t,e) __call_vv_##e |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
500 #define CYGACC_CALL_VV1(t,e,p1) __call_vv_##e((p1)) |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
501 #define CYGACC_CALL_VV2(t,e,p1,p2) __call_vv_##e((p1),(p2)) |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
502 #define CYGACC_CALL_VV3(t,e,p1,p2,p3) __call_vv_##e((p1),(p2),(p3)) |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
503 #define CYGACC_CALL_VV4(t,e,p1,p2,p3,p4) __call_vv_##e((p1),(p2),(p3),(p4)) |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
504 |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
505 #define CYGACC_CALL_IF_VERSION() \ |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
506 CYGACC_DATA_VV(__call_if_version_t, CYGNUM_CALL_IF_VERSION) |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
507 __data_VV(CYGNUM_CALL_IF_VERSION, __call_if_version_t) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
508 #define CYGACC_CALL_IF_VERSION_SET(_x_) \ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
509 hal_virtual_vector_table[CYGNUM_CALL_IF_VERSION]=(CYG_ADDRWORD)(_x_) |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
510 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
511 #define CYGACC_CALL_IF_KILL_VECTOR() \ |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
512 CYGACC_DATA_VV(__call_if_kill_vector_t, CYGNUM_CALL_IF_KILL_VECTOR) |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
513 __data_VV(CYGNUM_CALL_IF_KILL_VECTOR, __call_if_kill_vector_t) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
514 #define CYGACC_CALL_IF_KILL_VECTOR_SET(_x_) \ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
515 hal_virtual_vector_table[CYGNUM_CALL_IF_KILL_VECTOR]=(CYG_ADDRWORD)(_x_) |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
516 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
517 #define CYGACC_CALL_IF_CONSOLE_PROCS() \ |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
518 CYGACC_DATA_VV(__call_if_console_procs_t, CYGNUM_CALL_IF_CONSOLE_PROCS) |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
519 __data_VV(CYGNUM_CALL_IF_CONSOLE_PROCS, __call_if_console_procs_t) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
520 #define CYGACC_CALL_IF_CONSOLE_PROCS_SET(_x_) \ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
521 hal_virtual_vector_table[CYGNUM_CALL_IF_CONSOLE_PROCS]=(CYG_ADDRWORD)(_x_) |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
522 |
|
107
7f461c3a372c
Merge from eCos master repository on 2000-07-04-08:04:30-BST
jlarmour
parents:
105
diff
changeset
|
523 #define CYGACC_CALL_IF_FLUSH_DCACHE(_p_, _n_) \ |
|
156
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
524 ((__call_if_flush_dcache_t*)hal_virtual_vector_table[CYGNUM_CALL_IF_FLUSH_DCACHE])((_p_), (_n_)) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
525 #define CYGACC_CALL_IF_FLUSH_DCACHE_SET(_x_) \ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
526 hal_virtual_vector_table[CYGNUM_CALL_IF_FLUSH_DCACHE]=(CYG_ADDRWORD)(_x_) |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
527 |
|
107
7f461c3a372c
Merge from eCos master repository on 2000-07-04-08:04:30-BST
jlarmour
parents:
105
diff
changeset
|
528 #define CYGACC_CALL_IF_FLUSH_ICACHE(_p_, _n_) \ |
|
156
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
529 ((__call_if_flush_icache_t*)hal_virtual_vector_table[CYGNUM_CALL_IF_FLUSH_ICACHE])((_p_), (_n_)) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
530 #define CYGACC_CALL_IF_FLUSH_ICACHE_SET(_x_) \ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
531 hal_virtual_vector_table[CYGNUM_CALL_IF_FLUSH_ICACHE]=(CYG_ADDRWORD)(_x_) |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
532 |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
533 #define CYGACC_CALL_IF_DEBUG_PROCS() \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
534 CYGACC_DATA_VV(__call_if_debug_procs_t, CYGNUM_CALL_IF_DEBUG_PROCS) |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
535 __data_VV(CYGNUM_CALL_IF_DEBUG_PROCS, __call_if_debug_procs_t) |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
536 #define CYGACC_CALL_IF_DEBUG_PROCS_SET(_x_) \ |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
537 hal_virtual_vector_table[CYGNUM_CALL_IF_DEBUG_PROCS]=(CYG_ADDRWORD)(_x_) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
538 |
|
107
7f461c3a372c
Merge from eCos master repository on 2000-07-04-08:04:30-BST
jlarmour
parents:
105
diff
changeset
|
539 #define CYGACC_CALL_IF_SET_DEBUG_COMM(_i_) \ |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
540 CYGACC_CALL_VV1(__call_if_set_debug_comm_t*, CYGNUM_CALL_IF_SET_DEBUG_COMM, (_i_)) |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
541 __call_VV1(CYGNUM_CALL_IF_SET_DEBUG_COMM, __call_if_set_debug_comm_t, int, int) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
542 #define CYGACC_CALL_IF_SET_DEBUG_COMM_SET(_x_) \ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
543 hal_virtual_vector_table[CYGNUM_CALL_IF_SET_DEBUG_COMM]=(CYG_ADDRWORD)(_x_) |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
544 |
|
107
7f461c3a372c
Merge from eCos master repository on 2000-07-04-08:04:30-BST
jlarmour
parents:
105
diff
changeset
|
545 #define CYGACC_CALL_IF_SET_CONSOLE_COMM(_i_) \ |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
546 CYGACC_CALL_VV1(__call_if_set_console_comm_t*, CYGNUM_CALL_IF_SET_CONSOLE_COMM, (_i_)) |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
547 __call_VV1(CYGNUM_CALL_IF_SET_CONSOLE_COMM, __call_if_set_console_comm_t, int, int) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
548 #define CYGACC_CALL_IF_SET_CONSOLE_COMM_SET(_x_) \ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
549 hal_virtual_vector_table[CYGNUM_CALL_IF_SET_CONSOLE_COMM]=(CYG_ADDRWORD)(_x_) |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
550 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
551 #define CYGACC_CALL_IF_DBG_DATA() \ |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
552 CYGACC_DATA_VV(__call_if_dbg_data_t, CYGNUM_CALL_IF_DBG_DATA) |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
553 __data_VV(CYGNUM_CALL_IF_DBG_DATA, __call_if_dbg_data_t) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
554 #define CYGACC_CALL_IF_DBG_DATA_SET(_x_) \ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
555 hal_virtual_vector_table[CYGNUM_CALL_IF_DBG_DATA]=(CYG_ADDRWORD)(_x_) |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
556 |
|
183
9160a8005d76
Merge from eCos master repository on 2001-09-12-03:52:30-BST
jlarmour
parents:
179
diff
changeset
|
557 #define CYGACC_CALL_IF_DBG_SYSCALL(_id_,_p_) \ |
|
9160a8005d76
Merge from eCos master repository on 2001-09-12-03:52:30-BST
jlarmour
parents:
179
diff
changeset
|
558 CYGACC_CALL_VV2(__call_if_dbg_syscall_t, CYGNUM_CALL_IF_DBG_SYSCALL, _id_, _p_) |
|
9160a8005d76
Merge from eCos master repository on 2001-09-12-03:52:30-BST
jlarmour
parents:
179
diff
changeset
|
559 __call_VV2(CYGNUM_CALL_IF_DBG_SYSCALL, __call_if_dbg_syscall_t, int, enum dbg_syscall_ids , union dbg_thread_syscall_parms *) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
560 #define CYGACC_CALL_IF_DBG_SYSCALL_SET(_x_) \ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
561 hal_virtual_vector_table[CYGNUM_CALL_IF_DBG_SYSCALL]=(CYG_ADDRWORD)(_x_) |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
562 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
563 #define CYGACC_CALL_IF_RESET() \ |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
564 CYGACC_CALL_VV0(__call_if_reset_t*, CYGNUM_CALL_IF_RESET)() |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
565 __call_voidVV0(CYGNUM_CALL_IF_RESET, __call_if_reset_t, void) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
566 #define CYGACC_CALL_IF_RESET_SET(_x_) \ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
567 hal_virtual_vector_table[CYGNUM_CALL_IF_RESET]=(CYG_ADDRWORD)(_x_) |
|
107
7f461c3a372c
Merge from eCos master repository on 2000-07-04-08:04:30-BST
jlarmour
parents:
105
diff
changeset
|
568 #define CYGACC_CALL_IF_RESET_GET() \ |
|
156
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
569 ((__call_if_reset_t*)hal_virtual_vector_table[CYGNUM_CALL_IF_RESET]) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
570 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
571 #define CYGACC_CALL_IF_CONSOLE_INTERRUPT_FLAG() \ |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
572 CYGACC_DATA_VV(__call_if_console_interrupt_flag_t, CYGNUM_CALL_IF_CONSOLE_INTERRUPT_FLAG) |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
573 __data_VV(CYGNUM_CALL_IF_CONSOLE_INTERRUPT_FLAG, __call_if_console_interrupt_flag_t) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
574 #define CYGACC_CALL_IF_CONSOLE_INTERRUPT_FLAG_SET(_x_) \ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
575 hal_virtual_vector_table[CYGNUM_CALL_IF_CONSOLE_INTERRUPT_FLAG]=(CYG_ADDRWORD)(_x_) |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
576 |
|
107
7f461c3a372c
Merge from eCos master repository on 2000-07-04-08:04:30-BST
jlarmour
parents:
105
diff
changeset
|
577 #define CYGACC_CALL_IF_DELAY_US(_u_) \ |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
578 CYGACC_CALL_VV1(__call_if_delay_us_t*, CYGNUM_CALL_IF_DELAY_US, (_u_)) |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
579 __call_voidVV1(CYGNUM_CALL_IF_DELAY_US, __call_if_delay_us_t, void, cyg_int32) |
|
105
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
580 #define CYGACC_CALL_IF_DELAY_US_SET(_x_) \ |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
581 hal_virtual_vector_table[CYGNUM_CALL_IF_DELAY_US]=(CYG_ADDRWORD)(_x_) |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
582 |
|
107
7f461c3a372c
Merge from eCos master repository on 2000-07-04-08:04:30-BST
jlarmour
parents:
105
diff
changeset
|
583 #define CYGACC_CALL_IF_INSTALL_BPT_FN(_e_) \ |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
584 CYGACC_CALL_VV1(__call_if_install_bpt_fn_t*, CYGNUM_CALL_IF_INSTALL_BPT_FN, (_e_)) |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
585 __call_voidVV1(CYGNUM_CALL_IF_INSTALL_BPT_FN, __call_if_install_bpt_fn_t, void, void *) |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
586 #define CYGACC_CALL_IF_INSTALL_BPT_FN_SET(_x_) \ |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
587 hal_virtual_vector_table[CYGNUM_CALL_IF_INSTALL_BPT_FN]=(CYG_ADDRWORD)(_x_) |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
588 |
|
156
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
589 #define CYGACC_CALL_IF_FLASH_CFG_OP(_o_,_k_,_d_,_t_) \ |
|
179
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
590 CYGACC_CALL_VV4(__call_if_flash_cfg_op_fn_t*, CYGNUM_CALL_IF_FLASH_CFG_OP, (_o_),(_k_),(_d_),(_t_)) |
|
391299f9e541
Merge from eCos master repository on 2001-08-17-16:31:54-BST
jlarmour
parents:
156
diff
changeset
|
591 __call_VV4(CYGNUM_CALL_IF_FLASH_CFG_OP, __call_if_flash_cfg_op_fn_t, cyg_bool, int, char *, void *, int) |
|
156
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
592 #define CYGACC_CALL_IF_FLASH_CFG_OP_SET(_x_) \ |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
593 hal_virtual_vector_table[CYGNUM_CALL_IF_FLASH_CFG_OP]=(CYG_ADDRWORD)(_x_) |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
594 #define CYGNUM_CALL_IF_FLASH_CFG_GET (0) |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
595 |
|
151
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
596 #endif // CYGACC_CALL_IF_DEFINED |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
597 |
|
103
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
598 //-------------------------------------------------------------------------- |
|
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
599 // Diag wrappers. |
|
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
600 externC void hal_if_diag_init(void); |
|
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
601 externC void hal_if_diag_write_char(char c); |
|
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
602 externC void hal_if_diag_read_char(char *c); |
|
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
603 |
|
105
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
604 //-------------------------------------------------------------------------- |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
605 // Ctrl-c support. |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
606 externC cyg_uint32 hal_ctrlc_isr(CYG_ADDRWORD vector, CYG_ADDRWORD data); |
|
119
77cec8369160
Merge from eCos master repository on 2000-09-01-07:47:03-BST
jlarmour
parents:
115
diff
changeset
|
607 externC cyg_bool hal_ctrlc_check(CYG_ADDRWORD vector, CYG_ADDRWORD data); |
|
105
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
608 |
|
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
609 #define HAL_CTRLC_ISR hal_ctrlc_isr |
|
119
77cec8369160
Merge from eCos master repository on 2000-09-01-07:47:03-BST
jlarmour
parents:
115
diff
changeset
|
610 #define HAL_CTRLC_CHECK hal_ctrlc_check |
|
105
5a0cc6c243a9
Merge from eCos master repository on 2000-06-30-08:18:49-BST
jlarmour
parents:
103
diff
changeset
|
611 |
|
151
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
612 #else |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
613 |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
614 #if defined(CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT) \ |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
615 || defined(CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT) |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
616 // Then other code might invoke this macro |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
617 #define HAL_CTRLC_CHECK(a1,a2) (0) // Nothing, no CTRLC here |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
618 #endif |
|
25e238959bae
Merge from eCos master repository on 2001-02-12-23:44:24-GMT
jlarmour
parents:
138
diff
changeset
|
619 |
|
103
95f3e12a6327
Merge from eCos master repository on 2000-06-23-16:41:10-BST
jlarmour
parents:
101
diff
changeset
|
620 #endif // CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
621 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
622 //-------------------------------------------------------------------------- |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
623 // Functions provided by the HAL interface. |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
624 externC void hal_if_init(void); |
|
156
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
625 #if 0 != CYGINT_HAL_PLF_IF_INIT |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
626 externC void plf_if_init(void); |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
151
diff
changeset
|
627 #endif |
|
101
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
628 |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
629 //----------------------------------------------------------------------------- |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
630 #endif // CYGONCE_HAL_HAL_IF_H |
|
c37d3a9e1b28
Merge from eCos master repository on 2000-06-16-07:47:03-BST
jlarmour
parents:
diff
changeset
|
631 // End of hal_if.h |
