1 /* -------------------------------- Arctic Core ------------------------------
\r
2 * Arctic Core - the open source AUTOSAR platform http://arccore.com
\r
4 * Copyright (C) 2009 ArcCore AB <contact@arccore.com>
\r
6 * This source code is free software; you can redistribute it and/or modify it
\r
7 * under the terms of the GNU General Public License version 2 as published by the
\r
8 * Free Software Foundation; See <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>.
\r
10 * This program is distributed in the hope that it will be useful, but
\r
11 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
\r
12 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
\r
14 * -------------------------------- Arctic Core ------------------------------*/
\r
19 #define DECLARE(sym,val) \
\r
20 __asm("#define " #sym " %0" : : "i" ((val)))
\r
25 //#include "app_i.h"
\r
27 #include "arch_stack.h"
\r
31 void oil_foo(void) {
\r
34 DECLARE(EXC_FRM_SIZE, sizeof(Os_ExceptionFrameType));
\r
35 DECLARE(EXC_FRM_SP, offsetof(Os_ExceptionFrameType, sp));
\r
36 DECLARE(EXC_FRM_SRR0, offsetof(Os_ExceptionFrameType, srr0));
\r
37 DECLARE(EXC_FRM_SRR1, offsetof(Os_ExceptionFrameType, srr1));
\r
38 DECLARE(EXC_FRM_LR, offsetof(Os_ExceptionFrameType, lr));
\r
39 DECLARE(EXC_FRM_CTR, offsetof(Os_ExceptionFrameType, ctr));
\r
40 DECLARE(EXC_FRM_XER, offsetof(Os_ExceptionFrameType, xer));
\r
41 DECLARE(EXC_FRM_CR, offsetof(Os_ExceptionFrameType, cr));
\r
42 DECLARE(EXC_FRM_R3, offsetof(Os_ExceptionFrameType, r3));
\r
43 DECLARE(EXC_FRM_VECTOR, offsetof(Os_ExceptionFrameType, vector));
\r
46 DECLARE(FUNC_FRM_SIZE, sizeof(Os_FuncFrameType));
\r
47 DECLARE(FUNC_FRM_CR, offsetof(Os_FuncFrameType,cr));
\r
48 DECLARE(FUNC_FRM_LR, offsetof(Os_FuncFrameType,lr));
\r
49 DECLARE(FUNC_FRM_PATTERN, offsetof(Os_FuncFrameType,pattern));
\r
50 DECLARE(FUNC_FRM_R14, offsetof(Os_FuncFrameType,r14));
\r
51 DECLARE(FUNC_FRM_R15, offsetof(Os_FuncFrameType,r15));
\r
52 DECLARE(FUNC_FRM_R16, offsetof(Os_FuncFrameType,r16));
\r
53 DECLARE(FUNC_FRM_R17, offsetof(Os_FuncFrameType,r17));
\r
54 DECLARE(FUNC_FRM_R18, offsetof(Os_FuncFrameType,r18));
\r
55 DECLARE(FUNC_FRM_R19, offsetof(Os_FuncFrameType,r19));
\r
56 DECLARE(FUNC_FRM_R20, offsetof(Os_FuncFrameType,r20));
\r
57 DECLARE(FUNC_FRM_R21, offsetof(Os_FuncFrameType,r21));
\r
58 DECLARE(FUNC_FRM_R22, offsetof(Os_FuncFrameType,r22));
\r
59 DECLARE(FUNC_FRM_R23, offsetof(Os_FuncFrameType,r23));
\r
60 DECLARE(FUNC_FRM_R24, offsetof(Os_FuncFrameType,r24));
\r
61 DECLARE(FUNC_FRM_R25, offsetof(Os_FuncFrameType,r25));
\r
62 DECLARE(FUNC_FRM_R26, offsetof(Os_FuncFrameType,r26));
\r
63 DECLARE(FUNC_FRM_R27, offsetof(Os_FuncFrameType,r27));
\r
64 DECLARE(FUNC_FRM_R28, offsetof(Os_FuncFrameType,r28));
\r
65 DECLARE(FUNC_FRM_R29, offsetof(Os_FuncFrameType,r29));
\r
66 DECLARE(FUNC_FRM_R30, offsetof(Os_FuncFrameType,r30));
\r
67 DECLARE(FUNC_FRM_R31, offsetof(Os_FuncFrameType,r31));
\r
69 #if defined(CFG_SPE)
\r
70 DECLARE(ISR_FRM_SPE_FSCR, offsetof(Os_IsrFrameType,fscr));
\r
71 DECLARE(ISR_FRM_SPE_ACC, offsetof(Os_IsrFrameType,acc));
\r
72 DECLARE(ISR_FRM_R3, offsetof(Os_IsrFrameType,acc));
\r
75 DECLARE(ISR_FRM_SIZE, sizeof(Os_IsrFrameType));
\r
76 DECLARE(ISR_FRM_R0, offsetof(Os_IsrFrameType,r0));
\r
77 DECLARE(ISR_FRM_R4, offsetof(Os_IsrFrameType,r4));
\r
78 DECLARE(ISR_FRM_R5, offsetof(Os_IsrFrameType,r5));
\r
79 DECLARE(ISR_FRM_R6, offsetof(Os_IsrFrameType,r6));
\r
80 DECLARE(ISR_FRM_R7, offsetof(Os_IsrFrameType,r7));
\r
81 DECLARE(ISR_FRM_R8, offsetof(Os_IsrFrameType,r8));
\r
82 DECLARE(ISR_FRM_R9, offsetof(Os_IsrFrameType,r9));
\r
83 DECLARE(ISR_FRM_R10, offsetof(Os_IsrFrameType,r10));
\r
84 DECLARE(ISR_FRM_R11, offsetof(Os_IsrFrameType,r11));
\r
85 DECLARE(ISR_FRM_R12, offsetof(Os_IsrFrameType,r12));
\r
86 DECLARE(ISR_FRM_R14, offsetof(Os_IsrFrameType,r14));
\r
87 DECLARE(ISR_FRM_R15, offsetof(Os_IsrFrameType,r15));
\r
88 DECLARE(ISR_FRM_R16, offsetof(Os_IsrFrameType,r16));
\r
89 DECLARE(ISR_FRM_R17, offsetof(Os_IsrFrameType,r17));
\r
90 DECLARE(ISR_FRM_R18, offsetof(Os_IsrFrameType,r18));
\r
91 DECLARE(ISR_FRM_R19, offsetof(Os_IsrFrameType,r19));
\r
92 DECLARE(ISR_FRM_R20, offsetof(Os_IsrFrameType,r20));
\r
93 DECLARE(ISR_FRM_R21, offsetof(Os_IsrFrameType,r21));
\r
94 DECLARE(ISR_FRM_R22, offsetof(Os_IsrFrameType,r22));
\r
95 DECLARE(ISR_FRM_R23, offsetof(Os_IsrFrameType,r23));
\r
96 DECLARE(ISR_FRM_R24, offsetof(Os_IsrFrameType,r24));
\r
97 DECLARE(ISR_FRM_R25, offsetof(Os_IsrFrameType,r25));
\r
98 DECLARE(ISR_FRM_R26, offsetof(Os_IsrFrameType,r26));
\r
99 DECLARE(ISR_FRM_R27, offsetof(Os_IsrFrameType,r27));
\r
100 DECLARE(ISR_FRM_R28, offsetof(Os_IsrFrameType,r28));
\r
101 DECLARE(ISR_FRM_R29, offsetof(Os_IsrFrameType,r29));
\r
102 DECLARE(ISR_FRM_R30, offsetof(Os_IsrFrameType,r30));
\r
103 DECLARE(ISR_FRM_R31, offsetof(Os_IsrFrameType,r31));
\r
104 DECLARE(ISR_FRM_PATTERN, offsetof(Os_IsrFrameType,pattern));
\r