OSDN Git Service

2009-09-16 Mike Frysinger <michael.frysinger@analog.com>
[pf3gnuchains/sourceware.git] / libgloss / bfin / include / sysreg.h
1 /*
2  * The authors hereby grant permission to use, copy, modify, distribute,
3  * and license this software and its documentation for any purpose, provided
4  * that existing copyright notices are retained in all copies and that this
5  * notice is included verbatim in any distributions. No written agreement,
6  * license, or royalty fee is required for any of the authorized uses.
7  * Modifications to this software may be copyrighted by their authors
8  * and need not follow the licensing terms described here, provided that
9  * the new terms are clearly indicated on the first page of each file where
10  * they apply.
11  */
12
13 /* This file must be used with compiler version 8.0.6.4 */
14
15 #ifdef __VERSIONNUM__
16 #if __VERSIONNUM__ != 0x08000604
17 #error The compiler version does not match the version of the sysreg.h include
18 #endif
19 #endif
20
21 /************************************************************************
22  *
23  * sysreg.h
24  *
25  * Copyright (C) 2008, 2009 Analog Devices, Inc.
26  *
27  ***********************************************************************/
28
29 #pragma once
30 #ifndef __NO_BUILTIN
31 #pragma system_header /* sysreg.h */
32 #endif
33
34 /* sysreg definitions for use in sysreg_read and sysreg_write calls. */
35
36 #ifndef _SYSREG_H
37 #define _SYSREG_H
38
39 #ifdef _MISRA_RULES
40 #pragma diag(push)
41 #pragma diag(suppress:misra_rule_2_4)
42 #pragma diag(suppress:misra_rule_6_3)
43 #pragma diag(suppress:misra_rule_19_4)
44 #pragma diag(suppress:misra_rule_19_7)
45 #pragma diag(suppress:misra_rule_19_10)
46 #endif /* _MISRA_RULES */
47
48 enum {
49   /* the following can be used in word-sized sysreg reads and writes */
50   reg_I0,
51   reg_I1,
52   reg_I2,
53   reg_I3,
54   reg_M0,
55   reg_M1,
56   reg_M2,
57   reg_M3,
58   reg_B0,
59   reg_B1,
60   reg_B2,
61   reg_B3,
62   reg_L0,
63   reg_L1,
64   reg_L2,
65   reg_L3,
66   reg_LC0,
67   reg_LC1,
68   reg_LT0,
69   reg_LT1,
70   reg_LB0,
71   reg_LB1,
72   reg_RETS,
73   reg_RETI,
74   reg_RETX,
75   reg_RETN,
76   reg_RETE,
77   reg_SEQSTAT,
78   reg_SYSCFG,
79   reg_CYCLES,
80   reg_CYCLES2,
81   reg_A0W,
82   reg_A0X,
83   reg_A1W,
84   reg_A1X,
85   reg_FP,
86   reg_SP,
87   reg_ASTAT,
88
89   /* the following can be used in double-word sysreg reads and writes */
90   reg_A0,
91   reg_A1,
92   __num_SysRegs
93 };
94
95 #define STACKPOINTER reg_SP
96 #define FRAMEPOINTER reg_FP
97
98 #ifdef _MISRA_RULES
99 #pragma diag(pop)
100 #endif /* _MISRA_RULES */
101
102 #endif /* _SYSREG_H */