Last change
on this file since 284 was
267,
checked in by cfuguet, 11 years ago
|
- Adding new task context information: THREAD INDEX.
This value can be accessed by USER applications to get the
thread index of the current task. This thread index
corresponds to the index in a vspace.
The value of this index can be forced in the vspace part
of the XML description file using the trdid field in the
task description. When this value is missing, for each
task, a value from 0 to N-1 will be assigned, where N is
the number of task in the vspace.
The user application access this value through the
giet_thread_id() function defined in the stdio library
which uses the SYSCALL_THREAD_ID to access the task
context information.
- Supporting mono TTY platforms
When the GIET_MONO_TTY constant defined in the giet_config
file, contains a value different than 0, all tasks will
share the TTY[0]. If this is the case, in the stdio
library, the giet_tty_printf() function will take the TTY
hardware lock before writing
|
-
Property svn:executable set to
*
|
File size:
1.6 KB
|
Line | |
---|
1 | /////////////////////////////////////////////////////////////////////////////////// |
---|
2 | // File : sys_handler.h |
---|
3 | // Date : 01/04/2012 |
---|
4 | // Author : alain greiner and joel porquet |
---|
5 | // Copyright (c) UPMC-LIP6 |
---|
6 | /////////////////////////////////////////////////////////////////////////////////// |
---|
7 | |
---|
8 | #ifndef _SYS_HANDLER_H |
---|
9 | #define _SYS_HANDLER_H |
---|
10 | |
---|
11 | ////////////////////////////////////////////////////////////////////////////////// |
---|
12 | // Syscall Vector Table (indexed by syscall index) |
---|
13 | ////////////////////////////////////////////////////////////////////////////////// |
---|
14 | |
---|
15 | extern const void * _syscall_vector[64]; |
---|
16 | |
---|
17 | ////////////////////////////////////////////////////////////////////////////////// |
---|
18 | // Prototypes os the syscall handlers (other than peripheral drivers) |
---|
19 | ////////////////////////////////////////////////////////////////////////////////// |
---|
20 | |
---|
21 | void _sys_ukn(); |
---|
22 | void _task_exit(); |
---|
23 | void _context_switch(); |
---|
24 | unsigned int _local_task_id(); |
---|
25 | unsigned int _global_task_id(); |
---|
26 | unsigned int _thread_id(); |
---|
27 | |
---|
28 | int _tty_get_release_lock(unsigned int val); |
---|
29 | |
---|
30 | unsigned int _procs_number( unsigned int cluster_id, |
---|
31 | unsigned int* number ); |
---|
32 | |
---|
33 | unsigned int _vobj_get_vbase( char* vspace_name, |
---|
34 | char* vobj_name, |
---|
35 | unsigned vobj_type, |
---|
36 | unsigned int* vobj_buffer); |
---|
37 | |
---|
38 | #endif |
---|
39 | |
---|
40 | // Local Variables: |
---|
41 | // tab-width: 4 |
---|
42 | // c-basic-offset: 4 |
---|
43 | // c-file-offsets:((innamespace . 0)(inline-open . 0)) |
---|
44 | // indent-tabs-mode: nil |
---|
45 | // End: |
---|
46 | // vim: filetype=c:expandtab:shiftwidth=4:tabstop=4:softtabstop=4 |
---|
47 | |
---|
Note: See
TracBrowser
for help on using the repository browser.