Mercurial > ecos
annotate packages/hal/sh/cq7708/current/include/platform.inc @ 208:e0c0827131d1 ecos
Merge from eCos master repository on 2002-05-20-20:11:54-BST
| author | jlarmour |
|---|---|
| date | Mon, 20 May 2002 22:19:26 +0000 |
| parents | b939e9cada46 |
| children | d2c90368aeef |
| rev | line source |
|---|---|
|
94
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
1 #ifndef CYGONCE_HAL_PLATFORM_INC |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
2 #define CYGONCE_HAL_PLATFORM_INC |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
3 ##============================================================================= |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
4 ## |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
5 ## platform.inc |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
6 ## |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
7 ## SH/CQ7708 board assembler header file |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
8 ## |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
9 ##============================================================================= |
|
208
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
10 #####ECOSGPLCOPYRIGHTBEGIN#### |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
11 # ------------------------------------------- |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
12 # This file is part of eCos, the Embedded Configurable Operating System. |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
13 # Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc. |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
14 # |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
15 # eCos is free software; you can redistribute it and/or modify it under |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
16 # the terms of the GNU General Public License as published by the Free |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
17 # Software Foundation; either version 2 or (at your option) any later version. |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
18 # |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
19 # eCos is distributed in the hope that it will be useful, but WITHOUT ANY |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
20 # WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
21 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
22 # for more details. |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
23 # |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
24 # You should have received a copy of the GNU General Public License along |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
25 # with eCos; if not, write to the Free Software Foundation, Inc., |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
26 # 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
27 # |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
28 # As a special exception, if other files instantiate templates or use macros |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
29 # or inline functions from this file, or you compile this file and link it |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
30 # with other works to produce a work based on this file, this file does not |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
31 # by itself cause the resulting work to be covered by the GNU General Public |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
32 # License. However the source code for this file must still be made available |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
33 # in accordance with section (3) of the GNU General Public License. |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
34 # |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
35 # This exception does not invalidate any other reasons why a work based on |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
36 # this file might be covered by the GNU General Public License. |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
37 # |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
38 # Alternative licenses for eCos may be arranged by contacting Red Hat, Inc. |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
39 # at http://sources.redhat.com/ecos/ecos-license |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
40 # ------------------------------------------- |
|
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
156
diff
changeset
|
41 #####ECOSGPLCOPYRIGHTEND#### |
|
94
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
42 ##============================================================================= |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
43 #######DESCRIPTIONBEGIN#### |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
44 ## |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
45 ## Author(s): jskov |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
46 ## Contributors:jskov |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
47 ## Date: 2000-02-02 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
48 ## Purpose: SH/CQ7708 board definitions. |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
49 ## Description: This file contains various definitions and macros that are |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
50 ## useful for writing assembly code for the SH/CQ7708 board. |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
51 ## Usage: |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
52 ## #include <cyg/hal/platform.inc> |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
53 ## ... |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
54 ## |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
55 ## |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
56 ######DESCRIPTIONEND#### |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
57 ## |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
58 ##============================================================================= |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
59 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
60 #include <pkgconf/hal.h> |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
61 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
62 #include <cyg/hal/sh_offsets.inc> |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
63 #include <cyg/hal/sh_regs.h> |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
64 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
65 #------------------------------------------------------------------------------ |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
66 # Hardware initialization. |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
67 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
68 .macro hal_hardware_init |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
69 // Set up the Bus State Controller |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
70 mova BSC_settings_table,r0 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
71 mov r0,r3 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
72 1: mov.w @r3+,r0 // Address (or zero) |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
73 cmp/eq #0,r0 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
74 bt 2f |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
75 mov.w @r3+,r1 // data |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
76 bra 1b |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
77 mov.w r1,@r0 // delay slot |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
78 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
79 .align 2 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
80 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
81 BSC_settings_table: |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
82 # These are the settings set by the ROM Monitor. |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
83 |
|
128
0c2b7be0d798
Merge from eCos master repository on 2000-10-12-08:46:24-BST
jlarmour
parents:
94
diff
changeset
|
84 .word CYGARC_REG_FRQCR |
|
0c2b7be0d798
Merge from eCos master repository on 2000-10-12-08:46:24-BST
jlarmour
parents:
94
diff
changeset
|
85 .word CYGARC_REG_FRQCR_INIT |
|
0c2b7be0d798
Merge from eCos master repository on 2000-10-12-08:46:24-BST
jlarmour
parents:
94
diff
changeset
|
86 |
|
94
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
87 # BCR1: Areas 3 are SDRAM |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
88 .word CYGARC_REG_BCR1 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
89 .word 0x0010 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
90 # BCR2: Bus size of areas 2,4 are 8 bits |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
91 .word CYGARC_REG_BCR2 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
92 .word 0x3ddc |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
93 # WCR1: 3 wait-state cycles inserted for all areas |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
94 .word CYGARC_REG_WCR1 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
95 .word 0x3fff |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
96 # WCR2: cs0=8wait cs1=0wait cs2=0wait cs3=2wait cs4=4wait */ |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
97 .word CYGARC_REG_WCR2 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
98 .word 0x0246 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
99 # MCR: dram setting 10 bit |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
100 .word CYGARC_REG_MCR |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
101 .word 0x0074 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
102 # RTCSR: refresh timer control |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
103 .word CYGARC_REG_RTCSR |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
104 .word (0xa500 | 0x0010) |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
105 # RTCOR: refresh time constant |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
106 .word CYGARC_REG_RTCOR |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
107 .word (0xa500 | 0x003a) |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
108 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
109 # Table end |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
110 .word 0 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
111 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
112 .align 2 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
113 2: |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
114 .endm |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
115 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
116 #------------------------------------------------------------------------------ |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
117 # Monitor initialization. |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
118 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
119 #ifndef CYGPKG_HAL_SH_MON_DEFINED |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
120 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
121 #if defined(CYG_HAL_STARTUP_ROM) || \ |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
122 ( defined(CYG_HAL_STARTUP_RAM) && \ |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
123 !defined(CYGSEM_HAL_USE_ROM_MONITOR)) |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
124 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
125 # If we are starting up from ROM, or we are starting in |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
126 # RAM and NOT using a ROM monitor, initialize the VSR table. |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
127 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
128 .macro hal_mon_init |
|
138
289bf90c6a9b
Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents:
128
diff
changeset
|
129 mov.l $hal_vsr_table,r3 |
|
94
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
130 # Write exception vectors |
|
138
289bf90c6a9b
Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents:
128
diff
changeset
|
131 mov.l $cyg_hal_default_exception_vsr,r4 |
|
94
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
132 mov #CYGNUM_HAL_VSR_EXCEPTION_COUNT,r5 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
133 1: mov.l r4,@r3 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
134 add #4,r3 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
135 dt r5 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
136 bf 1b |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
137 # Write interrupt vector |
|
138
289bf90c6a9b
Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents:
128
diff
changeset
|
138 mov.l $cyg_hal_default_interrupt_vsr,r4 |
|
156
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
150
diff
changeset
|
139 mov.l $hal_vsr_table,r3 |
|
b939e9cada46
Merge from eCos master repository on 2001-03-29-21:44:39-BST
jlarmour
parents:
150
diff
changeset
|
140 add #CYGNUM_HAL_VECTOR_INTERRUPT*4,r3 |
|
94
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
141 mov.l r4,@r3 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
142 bra 2f |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
143 nop |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
144 .align 2 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
145 |
|
138
289bf90c6a9b
Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents:
128
diff
changeset
|
146 SYM_PTR_REF(cyg_hal_default_exception_vsr) |
|
289bf90c6a9b
Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents:
128
diff
changeset
|
147 SYM_PTR_REF(cyg_hal_default_interrupt_vsr) |
|
289bf90c6a9b
Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents:
128
diff
changeset
|
148 SYM_PTR_REF(hal_vsr_table) |
|
94
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
149 2: |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
150 .endm |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
151 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
152 #elif defined(CYG_HAL_STARTUP_RAM) && defined(CYGSEM_HAL_USE_ROM_MONITOR) |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
153 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
154 # Initialize the VSR table entries |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
155 # We only take control of the interrupt vector, |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
156 # the rest are left to the ROM for now... |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
157 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
158 .macro hal_mon_init |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
159 # Write interrupt vector |
|
138
289bf90c6a9b
Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents:
128
diff
changeset
|
160 mov.l $hal_vsr_table,r3 |
|
289bf90c6a9b
Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents:
128
diff
changeset
|
161 mov.l $cyg_hal_default_interrupt_vsr,r4 |
|
150
f0e3fb000de8
Merge from eCos master repository on 2001-01-26-06:43:02-GMT
jlarmour
parents:
138
diff
changeset
|
162 add #CYGNUM_HAL_VECTOR_INTERRUPT*4,r3 |
|
94
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
163 mov.l r4,@r3 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
164 bra 2f |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
165 nop |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
166 .align 2 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
167 |
|
138
289bf90c6a9b
Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents:
128
diff
changeset
|
168 SYM_PTR_REF(cyg_hal_default_interrupt_vsr) |
|
289bf90c6a9b
Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents:
128
diff
changeset
|
169 SYM_PTR_REF(hal_vsr_table) |
|
94
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
170 2: |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
171 .endm |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
172 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
173 #else |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
174 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
175 .macro hal_mon_init |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
176 .endm |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
177 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
178 #endif |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
179 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
180 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
181 #define CYGPKG_HAL_SH_MON_DEFINED |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
182 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
183 #endif // CYGPKG_HAL_SH_MON_DEFINED |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
184 |
|
4642a6d35749
Merge from eCos master repository on 2000-06-02-07:47:04-BST
jlarmour
parents:
diff
changeset
|
185 #endif // CYGONCE_HAL_PLATFORM_INC |
