source: atk2-sc3-1.4.0-ntisr/arch/ghs/tool_svc.h

Last change on this file was 172, checked in by ertl-ishikawa, 8 years ago

ATK2-SC3 1.4.0 RH850依存部 非信頼C2ISR対応を追加

  • Property svn:executable set to *
File size: 16.5 KB
Line 
1/*
2 * TOPPERS ATK2
3 * Toyohashi Open Platform for Embedded Real-Time Systems
4 * Automotive Kernel Version 2
5 *
6 * Copyright (C) 2011-2013 by Center for Embedded Computing Systems
7 * Graduate School of Information Science, Nagoya Univ., JAPAN
8 * Copyright (C) 2011-2013 by FUJISOFT INCORPORATED, JAPAN
9 * Copyright (C) 2011-2013 by FUJITSU VLSI LIMITED, JAPAN
10 * Copyright (C) 2011-2013 by NEC Communication Systems, Ltd., JAPAN
11 * Copyright (C) 2011-2013 by Panasonic Advanced Technology Development Co., Ltd., JAPAN
12 * Copyright (C) 2011-2013 by Renesas Electronics Corporation, JAPAN
13 * Copyright (C) 2011-2013 by Sunny Giken Inc., JAPAN
14 * Copyright (C) 2011-2013 by TOSHIBA CORPORATION, JAPAN
15 * Copyright (C) 2011-2013 by Witz Corporation, JAPAN
16 *
17 * 上記著作権者
18は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
19 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
20 * 変・再é…
21å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
22 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
23 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
24 * スコード中に含まれていること.
25 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
26 * 用できる形で再é…
27å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
28å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
29 * 者
30マニュアルなど)に,上記の著作権表示,この利用条件および下記
31 * の無保証規定を掲載すること.
32 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
33 * 用できない形で再é…
34å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
35 * と.
36 * (a) 再é…
37å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
38マニュアルなど)に,上記の著
39 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
40 * (b) 再é…
41å¸ƒã®å½¢æ…
42‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
43 * 報告すること.
44 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
45 * 害からも,上記著作権者
46およびTOPPERSプロジェクトをå…
47è²¬ã™ã‚‹ã“と.
48 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
49 * 由に基づく請求からも,上記著作権者
50およびTOPPERSプロジェクトを
51 * å…
52è²¬ã™ã‚‹ã“と.
53 *
54 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
55お
56 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
57 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
58 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
59 * の責任を負わない.
60 *
61 * $Id: tool_svc.h 115 2014-12-10 01:33:17Z t_ishikawa $
62 */
63
64/* This file is generated from svc.def by gensvc_atk. */
65
66#ifndef TOPPERS_TOOL_SVC_H
67#define TOPPERS_TOOL_SVC_H
68
69#define SVC_TRAP(system_service) _trap_ ## system_service
70
71#ifndef TOPPERS_SVC_FUNCCALL
72#define StartOS _trap_StartOS
73#define ShutdownOS _trap_ShutdownOS
74#define ActivateTask _trap_ActivateTask
75#define TerminateTask _trap_TerminateTask
76#define ChainTask _trap_ChainTask
77#define Schedule _trap_Schedule
78#define GetTaskID _trap_GetTaskID
79#define GetTaskState _trap_GetTaskState
80#define EnableAllInterrupts _trap_EnableAllInterrupts
81#define DisableAllInterrupts _kernel_DisableAllInterrupts
82#define ResumeAllInterrupts _trap_ResumeAllInterrupts
83#define SuspendAllInterrupts _trap_SuspendAllInterrupts
84#define ResumeOSInterrupts _trap_ResumeOSInterrupts
85#define SuspendOSInterrupts _trap_SuspendOSInterrupts
86#define GetISRID _trap_GetISRID
87#define DisableInterruptSource _trap_DisableInterruptSource
88#define EnableInterruptSource _trap_EnableInterruptSource
89#define GetResource _trap_GetResource
90#define ReleaseResource _trap_ReleaseResource
91#define SetEvent _trap_SetEvent
92#define ClearEvent _trap_ClearEvent
93#define GetEvent _trap_GetEvent
94#define WaitEvent _trap_WaitEvent
95#define GetAlarmBase _trap_GetAlarmBase
96#define GetAlarm _trap_GetAlarm
97#define SetRelAlarm _trap_SetRelAlarm
98#define SetAbsAlarm _trap_SetAbsAlarm
99#define CancelAlarm _trap_CancelAlarm
100#define IncrementCounter _trap_IncrementCounter
101#define GetCounterValue _trap_GetCounterValue
102#define GetElapsedValue _trap_GetElapsedValue
103#define CheckISRMemoryAccess _trap_CheckISRMemoryAccess
104#define CheckTaskMemoryAccess _trap_CheckTaskMemoryAccess
105#define CheckTaskAccess _trap_CheckTaskAccess
106#define CheckISRAccess _trap_CheckISRAccess
107#define CheckAlarmAccess _trap_CheckAlarmAccess
108#define CheckResourceAccess _trap_CheckResourceAccess
109#define CheckCounterAccess _trap_CheckCounterAccess
110#define CheckScheduleTableAccess _trap_CheckScheduleTableAccess
111#define CheckTaskOwnership _trap_CheckTaskOwnership
112#define CheckISROwnership _trap_CheckISROwnership
113#define CheckAlarmOwnership _trap_CheckAlarmOwnership
114#define CheckCounterOwnership _trap_CheckCounterOwnership
115#define CheckScheduleTableOwnership _trap_CheckScheduleTableOwnership
116#define GetApplicationID _trap_GetApplicationID
117#define CallTrustedFunction _trap_CallTrustedFunction
118#define GetApplicationState _trap_GetApplicationState
119#define GetActiveApplicationMode _trap_GetActiveApplicationMode
120#define StartScheduleTableRel _trap_StartScheduleTableRel
121#define StartScheduleTableAbs _trap_StartScheduleTableAbs
122#define StopScheduleTable _trap_StopScheduleTable
123#define NextScheduleTable _trap_NextScheduleTable
124#define GetScheduleTableStatus _trap_GetScheduleTableStatus
125#define GetFaultyContext _trap_GetFaultyContext
126#define ioc_send_generic _trap_ioc_send_generic
127#define ioc_write_generic _trap_ioc_write_generic
128#define ioc_receive_generic _trap_ioc_receive_generic
129#define ioc_read_generic _trap_ioc_read_generic
130#define ioc_empty_queue_generic _trap_ioc_empty_queue_generic
131#define AllowAccess _trap_AllowAccess
132#define TerminateApplication _trap_TerminateApplication
133#endif
134
135#ifndef TOPPERS_MACRO_ONLY
136
137LOCAL_INLINE void
138_trap_StartOS(AppModeType Mode)
139{
140 CAL_SVC_1N(void, TFN_STARTOS, AppModeType, Mode);
141}
142
143LOCAL_INLINE void
144_trap_ShutdownOS(StatusType Error)
145{
146 CAL_SVC_1N(void, TFN_SHUTDOWNOS, StatusType, Error);
147}
148
149LOCAL_INLINE StatusType
150_trap_ActivateTask(TaskType TaskID)
151{
152 return CAL_SVC_1M(StatusType, TFN_ACTIVATETASK, TaskType, TaskID);
153}
154
155LOCAL_INLINE StatusType
156_trap_TerminateTask(void)
157{
158 return CAL_SVC_0M(StatusType, TFN_TERMINATETASK);
159}
160
161LOCAL_INLINE StatusType
162_trap_ChainTask(TaskType TaskID)
163{
164 return CAL_SVC_1M(StatusType, TFN_CHAINTASK, TaskType, TaskID);
165}
166
167LOCAL_INLINE StatusType
168_trap_Schedule(void)
169{
170 return CAL_SVC_0M(StatusType, TFN_SCHEDULE);
171}
172
173LOCAL_INLINE StatusType
174_trap_GetTaskID(TaskRefType TaskID)
175{
176 return CAL_SVC_1M(StatusType, TFN_GETTASKID, TaskRefType, TaskID);
177}
178
179LOCAL_INLINE StatusType
180_trap_GetTaskState(TaskType TaskID, TaskStateRefType State)
181{
182 return CAL_SVC_2M(StatusType, TFN_GETTASKSTATE, TaskType, TaskID, TaskStateRefType, State);
183}
184
185LOCAL_INLINE void
186_trap_EnableAllInterrupts(void)
187{
188 CAL_SVC_0N(void, TFN_ENABLEALLINTERRUPTS);
189}
190
191LOCAL_INLINE void
192_trap_DisableAllInterrupts(void)
193{
194 _kernel_DisableAllInterrupts();
195}
196
197LOCAL_INLINE void
198_trap_ResumeAllInterrupts(void)
199{
200 CAL_SVC_0N(void, TFN_RESUMEALLINTERRUPTS);
201}
202
203LOCAL_INLINE void
204_trap_SuspendAllInterrupts(void)
205{
206 CAL_SVC_0N(void, TFN_SUSPENDALLINTERRUPTS);
207}
208
209LOCAL_INLINE void
210_trap_ResumeOSInterrupts(void)
211{
212 CAL_SVC_0N(void, TFN_RESUMEOSINTERRUPTS);
213}
214
215LOCAL_INLINE void
216_trap_SuspendOSInterrupts(void)
217{
218 CAL_SVC_0N(void, TFN_SUSPENDOSINTERRUPTS);
219}
220
221LOCAL_INLINE ISRType
222_trap_GetISRID(void)
223{
224 return CAL_SVC_0M(ISRType, TFN_GETISRID);
225}
226
227LOCAL_INLINE StatusType
228_trap_DisableInterruptSource(ISRType DisableISR)
229{
230 return CAL_SVC_1M(StatusType, TFN_DISABLEINTERRUPTSOURCE, ISRType, DisableISR);
231}
232
233LOCAL_INLINE StatusType
234_trap_EnableInterruptSource(ISRType EnableISR)
235{
236 return CAL_SVC_1M(StatusType, TFN_ENABLEINTERRUPTSOURCE, ISRType, EnableISR);
237}
238
239LOCAL_INLINE StatusType
240_trap_GetResource(ResourceType ResID)
241{
242 return CAL_SVC_1M(StatusType, TFN_GETRESOURCE, ResourceType, ResID);
243}
244
245LOCAL_INLINE StatusType
246_trap_ReleaseResource(ResourceType ResID)
247{
248 return CAL_SVC_1M(StatusType, TFN_RELEASERESOURCE, ResourceType, ResID);
249}
250
251LOCAL_INLINE StatusType
252_trap_SetEvent(TaskType TaskID, EventMaskType Mask)
253{
254 return CAL_SVC_2M(StatusType, TFN_SETEVENT, TaskType, TaskID, EventMaskType, Mask);
255}
256
257LOCAL_INLINE StatusType
258_trap_ClearEvent(EventMaskType Mask)
259{
260 return CAL_SVC_1M(StatusType, TFN_CLEAREVENT, EventMaskType, Mask);
261}
262
263LOCAL_INLINE StatusType
264_trap_GetEvent(TaskType TaskID, EventMaskRefType Event)
265{
266 return CAL_SVC_2M(StatusType, TFN_GETEVENT, TaskType, TaskID, EventMaskRefType, Event);
267}
268
269LOCAL_INLINE StatusType
270_trap_WaitEvent(EventMaskType Mask)
271{
272 return CAL_SVC_1M(StatusType, TFN_WAITEVENT, EventMaskType, Mask);
273}
274
275LOCAL_INLINE StatusType
276_trap_GetAlarmBase(AlarmType AlarmID, AlarmBaseRefType Info)
277{
278 return CAL_SVC_2M(StatusType, TFN_GETALARMBASE, AlarmType, AlarmID, AlarmBaseRefType, Info);
279}
280
281LOCAL_INLINE StatusType
282_trap_GetAlarm(AlarmType AlarmID, TickRefType Tick)
283{
284 return CAL_SVC_2M(StatusType, TFN_GETALARM, AlarmType, AlarmID, TickRefType, Tick);
285}
286
287LOCAL_INLINE StatusType
288_trap_SetRelAlarm(AlarmType AlarmID, TickType increment, TickType cycle)
289{
290 return CAL_SVC_3M(StatusType, TFN_SETRELALARM, AlarmType, AlarmID, TickType, increment, TickType, cycle);
291}
292
293LOCAL_INLINE StatusType
294_trap_SetAbsAlarm(AlarmType AlarmID, TickType start, TickType cycle)
295{
296 return CAL_SVC_3M(StatusType, TFN_SETABSALARM, AlarmType, AlarmID, TickType, start, TickType, cycle);
297}
298
299LOCAL_INLINE StatusType
300_trap_CancelAlarm(AlarmType AlarmID)
301{
302 return CAL_SVC_1M(StatusType, TFN_CANCELALARM, AlarmType, AlarmID);
303}
304
305LOCAL_INLINE StatusType
306_trap_IncrementCounter(CounterType CounterID)
307{
308 return CAL_SVC_1M(StatusType, TFN_INCREMENTCOUNTER, CounterType, CounterID);
309}
310
311LOCAL_INLINE StatusType
312_trap_GetCounterValue(CounterType CounterID, TickRefType Value)
313{
314 return CAL_SVC_2M(StatusType, TFN_GETCOUNTERVALUE, CounterType, CounterID, TickRefType, Value);
315}
316
317LOCAL_INLINE StatusType
318_trap_GetElapsedValue(CounterType CounterID, TickRefType Value, TickRefType ElapsedValue)
319{
320 return CAL_SVC_3M(StatusType, TFN_GETELAPSEDVALUE, CounterType, CounterID, TickRefType, Value, TickRefType, ElapsedValue);
321}
322
323LOCAL_INLINE AccessType
324_trap_CheckISRMemoryAccess(ISRType ISRID, MemoryStartAddressType Address, MemorySizeType Size)
325{
326 return CAL_SVC_3M(AccessType, TFN_CHECKISRMEMORYACCESS, ISRType, ISRID, MemoryStartAddressType, Address, MemorySizeType, Size);
327}
328
329LOCAL_INLINE AccessType
330_trap_CheckTaskMemoryAccess(TaskType TaskID, MemoryStartAddressType Address, MemorySizeType Size)
331{
332 return CAL_SVC_3M(AccessType, TFN_CHECKTASKMEMORYACCESS, TaskType, TaskID, MemoryStartAddressType, Address, MemorySizeType, Size);
333}
334
335LOCAL_INLINE ObjectAccessType
336_trap_CheckTaskAccess(ApplicationType ApplID, TaskType TaskID)
337{
338 return CAL_SVC_2M(ObjectAccessType, TFN_CHECKTASKACCESS, ApplicationType, ApplID, TaskType, TaskID);
339}
340
341LOCAL_INLINE ObjectAccessType
342_trap_CheckISRAccess(ApplicationType ApplID, ISRType ISRID)
343{
344 return CAL_SVC_2M(ObjectAccessType, TFN_CHECKISRACCESS, ApplicationType, ApplID, ISRType, ISRID);
345}
346
347LOCAL_INLINE ObjectAccessType
348_trap_CheckAlarmAccess(ApplicationType ApplID, AlarmType AlarmID)
349{
350 return CAL_SVC_2M(ObjectAccessType, TFN_CHECKALARMACCESS, ApplicationType, ApplID, AlarmType, AlarmID);
351}
352
353LOCAL_INLINE ObjectAccessType
354_trap_CheckResourceAccess(ApplicationType ApplID, ResourceType ResID)
355{
356 return CAL_SVC_2M(ObjectAccessType, TFN_CHECKRESOURCEACCESS, ApplicationType, ApplID, ResourceType, ResID);
357}
358
359LOCAL_INLINE ObjectAccessType
360_trap_CheckCounterAccess(ApplicationType ApplID, CounterType CounterID)
361{
362 return CAL_SVC_2M(ObjectAccessType, TFN_CHECKCOUNTERACCESS, ApplicationType, ApplID, CounterType, CounterID);
363}
364
365LOCAL_INLINE ObjectAccessType
366_trap_CheckScheduleTableAccess(ApplicationType ApplID, ScheduleTableType ScheduleTableID)
367{
368 return CAL_SVC_2M(ObjectAccessType, TFN_CHECKSCHEDULETABLEACCESS, ApplicationType, ApplID, ScheduleTableType, ScheduleTableID);
369}
370
371LOCAL_INLINE ApplicationType
372_trap_CheckTaskOwnership(TaskType TaskID)
373{
374 return CAL_SVC_1M(ApplicationType, TFN_CHECKTASKOWNERSHIP, TaskType, TaskID);
375}
376
377LOCAL_INLINE ApplicationType
378_trap_CheckISROwnership(ISRType ISRID)
379{
380 return CAL_SVC_1M(ApplicationType, TFN_CHECKISROWNERSHIP, ISRType, ISRID);
381}
382
383LOCAL_INLINE ApplicationType
384_trap_CheckAlarmOwnership(AlarmType AlarmID)
385{
386 return CAL_SVC_1M(ApplicationType, TFN_CHECKALARMOWNERSHIP, AlarmType, AlarmID);
387}
388
389LOCAL_INLINE ApplicationType
390_trap_CheckCounterOwnership(CounterType CounterID)
391{
392 return CAL_SVC_1M(ApplicationType, TFN_CHECKCOUNTEROWNERSHIP, CounterType, CounterID);
393}
394
395LOCAL_INLINE ApplicationType
396_trap_CheckScheduleTableOwnership(ScheduleTableType ScheduleTableID)
397{
398 return CAL_SVC_1M(ApplicationType, TFN_CHECKSCHEDULETABLEOWNERSHIP, ScheduleTableType, ScheduleTableID);
399}
400
401LOCAL_INLINE ApplicationType
402_trap_GetApplicationID(void)
403{
404 return CAL_SVC_0M(ApplicationType, TFN_GETAPPLICATIONID);
405}
406
407LOCAL_INLINE StatusType
408_trap_CallTrustedFunction(TrustedFunctionIndexType FunctionIndex, TrustedFunctionParameterRefType FunctionParams)
409{
410 return CAL_SVC_2M(StatusType, TFN_CALLTRUSTEDFUNCTION, TrustedFunctionIndexType, FunctionIndex, TrustedFunctionParameterRefType, FunctionParams);
411}
412
413LOCAL_INLINE StatusType
414_trap_GetApplicationState(ApplicationType Application, ApplicationStateRefType Value)
415{
416 return CAL_SVC_2M(StatusType, TFN_GETAPPLICATIONSTATE, ApplicationType, Application, ApplicationStateRefType, Value);
417}
418
419LOCAL_INLINE AppModeType
420_trap_GetActiveApplicationMode(void)
421{
422 return CAL_SVC_0M(AppModeType, TFN_GETACTIVEAPPLICATIONMODE);
423}
424
425LOCAL_INLINE StatusType
426_trap_StartScheduleTableRel(ScheduleTableType ScheduleTableID, TickType Offset)
427{
428 return CAL_SVC_2M(StatusType, TFN_STARTSCHEDULETABLEREL, ScheduleTableType, ScheduleTableID, TickType, Offset);
429}
430
431LOCAL_INLINE StatusType
432_trap_StartScheduleTableAbs(ScheduleTableType ScheduleTableID, TickType Start)
433{
434 return CAL_SVC_2M(StatusType, TFN_STARTSCHEDULETABLEABS, ScheduleTableType, ScheduleTableID, TickType, Start);
435}
436
437LOCAL_INLINE StatusType
438_trap_StopScheduleTable(ScheduleTableType ScheduleTableID)
439{
440 return CAL_SVC_1M(StatusType, TFN_STOPSCHEDULETABLE, ScheduleTableType, ScheduleTableID);
441}
442
443LOCAL_INLINE StatusType
444_trap_NextScheduleTable(ScheduleTableType ScheduleTableID_From, ScheduleTableType ScheduleTableID_To)
445{
446 return CAL_SVC_2M(StatusType, TFN_NEXTSCHEDULETABLE, ScheduleTableType, ScheduleTableID_From, ScheduleTableType, ScheduleTableID_To);
447}
448
449LOCAL_INLINE StatusType
450_trap_GetScheduleTableStatus(ScheduleTableType ScheduleTableID, ScheduleTableStatusRefType ScheduleStatus)
451{
452 return CAL_SVC_2M(StatusType, TFN_GETSCHEDULETABLESTATUS, ScheduleTableType, ScheduleTableID, ScheduleTableStatusRefType, ScheduleStatus);
453}
454
455LOCAL_INLINE FaultyContextType
456_trap_GetFaultyContext(void)
457{
458 return CAL_SVC_0M(FaultyContextType, TFN_GETFAULTYCONTEXT);
459}
460
461LOCAL_INLINE Std_ReturnType
462_trap_ioc_send_generic(IocType IocWrapperId, const void *in)
463{
464 return CAL_SVC_2M(Std_ReturnType, TFN_IOC_SEND_GENERIC, IocType, IocWrapperId, const void *, in);
465}
466
467LOCAL_INLINE Std_ReturnType
468_trap_ioc_write_generic(IocType IocWrapperId, const void *in)
469{
470 return CAL_SVC_2M(Std_ReturnType, TFN_IOC_WRITE_GENERIC, IocType, IocWrapperId, const void *, in);
471}
472
473LOCAL_INLINE Std_ReturnType
474_trap_ioc_receive_generic(IocType IocId, void *out)
475{
476 return CAL_SVC_2M(Std_ReturnType, TFN_IOC_RECEIVE_GENERIC, IocType, IocId, void *, out);
477}
478
479LOCAL_INLINE Std_ReturnType
480_trap_ioc_read_generic(IocType IocId, void *out)
481{
482 return CAL_SVC_2M(Std_ReturnType, TFN_IOC_READ_GENERIC, IocType, IocId, void *, out);
483}
484
485LOCAL_INLINE Std_ReturnType
486_trap_ioc_empty_queue_generic(IocType IocId)
487{
488 return CAL_SVC_1M(Std_ReturnType, TFN_IOC_EMPTY_QUEUE_GENERIC, IocType, IocId);
489}
490
491LOCAL_INLINE StatusType
492_trap_AllowAccess(void)
493{
494 return CAL_SVC_0M(StatusType, TFN_ALLOWACCESS);
495}
496
497LOCAL_INLINE StatusType
498_trap_TerminateApplication(ApplicationType Application, RestartType RestartOption)
499{
500 return CAL_SVC_2M(StatusType, TFN_TERMINATEAPPLICATION, ApplicationType, Application, RestartType, RestartOption);
501}
502
503#endif /* TOPPERS_MACRO_ONLY */
504
505#endif /* TOPPERS_TOOL_SVC_H */
Note: See TracBrowser for help on using the repository browser.