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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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