annotate packages/hal/mn10300/am31/current/include/var_arch.h @ 76:435cced73e2f ecos-v1_3_1-release

eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
author jlarmour
date Tue, 28 Mar 2000 14:10:45 +0000
parents bf00f99aec69
children e0c0827131d1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
30
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
1 #ifndef CYGONCE_HAL_VAR_ARCH_H
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
2 #define CYGONCE_HAL_VAR_ARCH_H
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
3
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
4 //==========================================================================
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
5 //
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
6 // var_arch.h
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
7 //
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
8 // Architecture specific abstractions
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
9 //
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
10 //==========================================================================
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
11 //####COPYRIGHTBEGIN####
64
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 30
diff changeset
12 //
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 30
diff changeset
13 // -------------------------------------------
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 30
diff changeset
14 // The contents of this file are subject to the Red Hat eCos Public License
66
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
15 // Version 1.1 (the "License"); you may not use this file except in
64
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 30
diff changeset
16 // compliance with the License. You may obtain a copy of the License at
66
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
17 // http://www.redhat.com/
64
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 30
diff changeset
18 //
66
bf00f99aec69 Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents: 64
diff changeset
19 // Software distributed under the License is distributed on an "AS IS"
64
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 30
diff changeset
20 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 30
diff changeset
21 // License for the specific language governing rights and limitations under
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 30
diff changeset
22 // the License.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 30
diff changeset
23 //
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 30
diff changeset
24 // The Original Code is eCos - Embedded Configurable Operating System,
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 30
diff changeset
25 // released September 30, 1998.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 30
diff changeset
26 //
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 30
diff changeset
27 // The Initial Developer of the Original Code is Red Hat.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 30
diff changeset
28 // Portions created by Red Hat are
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 30
diff changeset
29 // Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 30
diff changeset
30 // All Rights Reserved.
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 30
diff changeset
31 // -------------------------------------------
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 30
diff changeset
32 //
30
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
33 //####COPYRIGHTEND####
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
34 //==========================================================================
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
35 //#####DESCRIPTIONBEGIN####
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
36 //
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
37 // Author(s): nickg
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
38 // Contributors: nickg
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
39 // Date: 1999-02-17
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
40 // Purpose: Define architecture abstractions
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
41 // Description: This file contains any extra or modified definitions for
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
42 // this variant of the architecture.
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
43 // Usage: #include <cyg/hal/var_arch.h>
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
44 //
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
45 //####DESCRIPTIONEND####
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
46 //
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
47 //==========================================================================
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
48
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
49 #include <pkgconf/hal.h>
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
50 #include <cyg/infra/cyg_type.h>
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
51
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
52 //--------------------------------------------------------------------------
76
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
53 // Processor saved states:
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
54
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
55 typedef struct HAL_SavedRegisters
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
56 {
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
57 // These are common to all saved states and are in the order
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
58 // stored and loaded by the movm instruction.
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
59 CYG_ADDRWORD vector; /* Vector number/dummy */
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
60 CYG_ADDRWORD lar; /* Loop address register */
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
61 CYG_ADDRWORD lir; /* Loop instruction register */
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
62 CYG_ADDRWORD mdr; /* Multiply/Divide register */
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
63 CYG_ADDRWORD a1;
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
64 CYG_ADDRWORD a0;
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
65 CYG_ADDRWORD d1;
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
66 CYG_ADDRWORD d0;
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
67 CYG_ADDRWORD a3;
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
68 CYG_ADDRWORD a2;
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
69 CYG_ADDRWORD d3;
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
70 CYG_ADDRWORD d2;
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
71
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
72 /* On interrupts the PC and PSW are pushed automatically by the */
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
73 /* CPU and SP is pushed for debugging reasons. On a thread switch */
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
74 /* the saved context is made to look the same. */
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
75
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
76 CYG_ADDRWORD sp; /* Saved copy of SP in some states */
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
77 CYG_ADDRWORD psw; /* Status word */
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
78 CYG_ADDRWORD pc; /* Program Counter */
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
79
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
80 } HAL_SavedRegisters;
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
81
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
82 //--------------------------------------------------------------------------
30
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
83 #endif // CYGONCE_HAL_VAR_ARCH_H
641b639be825 Merge from eCos master repository on 1999-08-16-22:01:37-BST
jlarmour
parents:
diff changeset
84 // End of var_arch.h