annotate src/gpf2/inc/nuc/qu_defs.h @ 695:530f71d65c20

uartfax.c: pull from Tourmaline (GTM900 RI output) In addition to the primary intent of bringing in GTM900 RI output support, pulling uartfax.c wholesale from Tourmaline also changes the initial_time argument in the two NU_Create_Timer() calls from 0 to 1. This change is required for the new version of Nucleus used in Tourmaline and Selenite (and apparently also used by TI in LoCosto), and it is harmless (no effect) for the original TCS211 version of Nucleus used in Magnetite. The new philosophical model being adopted is that Tourmaline is our new development head firmware, whereas Magnetite will now be maintained similarly to how Linux maintainers treat stable kernels: changes will be backported from Tourmaline if they are deemed appropriate for stable modem firmware.
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 24 Oct 2020 17:33:10 +0000
parents 864b8cc0cf63
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*************************************************************************/
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 /* Copyright (c) 1993-1996 Accelerated Technology, Inc. */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 /* PROPRIETARY RIGHTS of Accelerated Technology are involved in the */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 /* subject matter of this material. All manufacturing, reproduction, */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 /* use, and sales rights pertaining to this subject matter are governed */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 /* by the license agreement. The recipient of this software implicitly */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 /* accepts the terms of the license. */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 /*************************************************************************/
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 /*************************************************************************/
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 /* FILE NAME VERSION */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 /* qu_defs.h PLUS 1.2 */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 /* COMPONENT */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 /* QU - Queue Management */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 /* DESCRIPTION */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 /* This file contains data structure definitions and constants for */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 /* the message Queue component. */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 /* AUTHOR */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30 /* William E. Lamie, Accelerated Technology, Inc. */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 /* DATA STRUCTURES */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 /* QU_QCB Queue control block */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 /* QU_SUSPEND Queue suspension block */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 /* FUNCTIONS */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 /* None */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 /* DEPENDENCIES */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43 /* cs_defs.h Common service definitions */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 /* tc_defs.h Thread Control definitions */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 /* HISTORY */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 /* NAME DATE REMARKS */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 /* W. Lamie 03-01-1993 Created initial version 1.0 */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 /* D. Lamie 04-19-1993 Verified version 1.0 */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52 /* W. Lamie 03-01-1994 Moved include files outside of */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 /* the file #ifndef to allow the */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 /* use of actual data structures, */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 /* removed protection structure, */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 /* put padding into structure, */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 /* resulting in version 1.1 */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 /* R. Pfaff - */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 /* D. Lamie 03-18-1994 Verified version 1.1 */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 /* M.Q. Qian 04-17-1996 updated to version 1.2 */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61 /* */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 /*************************************************************************/
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 #include "cs_defs.h" /* Common service constants */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 #include "tc_defs.h" /* Thread control constants */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 /* Check to see if the file has been included already. */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 #ifndef QU_DEFS
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 #define QU_DEFS
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 /* Define constants local to this component. */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 #define QU_QUEUE_ID 0x51554555UL
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 /* Define the Queue Control Block data type. */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 typedef struct QU_QCB_STRUCT
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 {
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 CS_NODE qu_created; /* Node for linking to */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 /* created queue list */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 UNSIGNED qu_id; /* Internal QCB ID */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86 CHAR qu_name[NU_MAX_NAME]; /* Queue name */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 DATA_ELEMENT qu_fixed_size; /* Fixed-size messages? */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88 DATA_ELEMENT qu_fifo_suspend; /* Suspension type flag */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 #if PAD_2
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 DATA_ELEMENT qu_padding[PAD_2];
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 #endif
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 UNSIGNED qu_queue_size; /* Total size of queue */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93 UNSIGNED qu_messages; /* Messages in queue */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 UNSIGNED qu_message_size; /* Size of each message */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 UNSIGNED qu_available; /* Available words */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 UNSIGNED_PTR qu_start; /* Start of queue area */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 UNSIGNED_PTR qu_end; /* End of queue area + 1 */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98 UNSIGNED_PTR qu_read; /* Read pointer */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 UNSIGNED_PTR qu_write; /* Write pointer */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 UNSIGNED qu_tasks_waiting; /* Number of waiting tasks*/
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 struct QU_SUSPEND_STRUCT
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102 *qu_urgent_list; /* Urgent message suspend */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 struct QU_SUSPEND_STRUCT
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 *qu_suspension_list; /* Suspension list */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 } QU_QCB;
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108 /* Define the queue suspension structure. This structure is allocated off of
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 the caller's stack. */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 typedef struct QU_SUSPEND_STRUCT
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 {
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 CS_NODE qu_suspend_link; /* Link to suspend blocks */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114 QU_QCB *qu_queue; /* Pointer to the queue */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115 TC_TCB *qu_suspended_task; /* Task suspended */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116 UNSIGNED_PTR qu_message_area; /* Pointer to message area*/
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117 UNSIGNED qu_message_size; /* Message size requested */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 UNSIGNED qu_actual_size; /* Actual size of message */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119 STATUS qu_return_status; /* Return status */
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120 } QU_SUSPEND;
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121
864b8cc0cf63 src/gpf2: preened GPF goo from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122 #endif