Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
9de92eb5
Commit
9de92eb5
authored
Sep 08, 1998
by
Jeffrey A Law
Committed by
Jeff Law
Sep 08, 1998
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* rts.h: Update with missing code.
From-SVN: r22327
parent
e742fecc
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
103 additions
and
0 deletions
+103
-0
libchill/ChangeLog
+4
-0
libchill/rts.h
+99
-0
No files found.
libchill/ChangeLog
View file @
9de92eb5
Tue Sep 8 10:41:38 1998 Jeffrey A Law (law@cygnus.com)
* rts.h: Update with missing code.
Sun Sep 6 01:30:40 1998 Jeffrey A Law (law@cygnus.com)
* allgmem.c: Do not include config.h anymore.
...
...
libchill/rts.h
View file @
9de92eb5
...
...
@@ -43,10 +43,109 @@ typedef struct
unsigned
char
/*TaskingEnum*/
type
;
}
TaskingStruct
;
/* how an INSTANCE is implemented */
typedef
struct
{
short
ptype
;
short
pcopy
;
}
INSTANCE
;
/* interface to underlaying os */
typedef
enum
{
wait_wait
,
wait_buffer_send
,
wait_buffer_receive
,
wait_buffer_free
,
wait_event_delay
,
wait_event_free
,
}
Delay_Reason
;
extern
INSTANCE
__whoami
();
extern
void
*
__xmalloc_
();
#define THIS __whoami()
/* for easier changing to something different,
i.e. allocate_memory */
#define MALLOC(ADDR,SIZE) ADDR = __xmalloc_(SIZE)
#define FREE(ADDR) free (ADDR)
/* definitions for EVENTS */
typedef
struct
EVENTQUEUE
{
struct
EVENTQUEUE
*
forward
;
/* next in the list */
struct
EVENTQUEUE
**
listhead
;
/* pointer to EVENT location */
int
priority
;
/* prio for DELAY or DELAY CASE */
INSTANCE
this
;
/* specify the instance is delayed */
struct
EVENTQUEUE
*
startlist
;
/* start of the list */
struct
EVENTQUEUE
*
chain
;
/* list of all events in an DELAY CASE */
int
is_continued
;
/* indicates a continue action on that event */
INSTANCE
who_continued
;
/* indicates who continued */
}
Event_Queue
;
typedef
struct
{
Event_Queue
**
ev
;
unsigned
long
maxqueuelength
;
}
Event_Descr
;
/* definitions for BUFFERS */
struct
BUFFERQUEUE
;
typedef
struct
BUFFER_WAIT_QUEUE
{
struct
BUFFER_WAIT_QUEUE
*
forward
;
struct
BUFFERQUEUE
**
bufferaddr
;
INSTANCE
this
;
struct
BUFFER_WAIT_QUEUE
*
startlist
;
struct
BUFFER_WAIT_QUEUE
*
chain
;
int
is_sent
;
INSTANCE
who_sent
;
/* instance which have
send a buffer */
unsigned
long
datalen
;
void
*
dataptr
;
}
Buffer_Wait_Queue
;
typedef
struct
BUFFER_SEND_QUEUE
{
struct
BUFFER_SEND_QUEUE
*
forward
;
int
priority
;
INSTANCE
this
;
int
is_delayed
;
unsigned
long
datalen
;
void
*
dataptr
;
}
Buffer_Send_Queue
;
typedef
struct
BUFFERQUEUE
{
Buffer_Wait_Queue
*
waitqueue
;
unsigned
long
waitqueuelength
;
Buffer_Send_Queue
*
sendqueue
;
unsigned
long
sendqueuelength
;
}
Buffer_Queue
;
typedef
struct
{
Buffer_Queue
**
buf
;
unsigned
long
maxqueuelength
;
}
Buffer_Descr
;
/* descriptor for data */
typedef
struct
{
void
*
ptr
;
int
length
;
}
Data_Descr
;
/* time format runtime delivers */
typedef
struct
{
unsigned
long
secs
;
unsigned
long
nanosecs
;
}
RtsTime
;
extern
void
__rtstime
(
RtsTime
*
t
);
extern
int
__delay_this
(
Delay_Reason
reason
,
RtsTime
*
t
,
char
*
file
,
int
lineno
);
extern
void
__continue_that
(
INSTANCE
ins
,
int
prio
,
char
*
file
,
int
lineno
);
#endif
/* __rts_h_ */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment