annotate packages/hal/sh/edk7708/current/include/platform.inc @ 3292:7f8e529b4d82 default tip

Fix FREESCALE_EDMA_NBYTES_MLOFFYES_MLOFF() so it works with negative offsets.
author vae
date Wed, 29 Apr 2015 23:31:48 +0000
parents 74dbf4c3f2e1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
134
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
1 #ifndef CYGONCE_HAL_PLATFORM_INC
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
2 #define CYGONCE_HAL_PLATFORM_INC
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
3 ##=============================================================================
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
4 ##
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
5 ## platform.inc
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
6 ##
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
7 ## SH/EDK7708 board assembler header file
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
8 ##
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
9 ##=============================================================================
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
10 ## ####ECOSGPLCOPYRIGHTBEGIN####
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
11 ## -------------------------------------------
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
12 ## This file is part of eCos, the Embedded Configurable Operating System.
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
13 ## Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
14 ##
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
15 ## eCos is free software; you can redistribute it and/or modify it under
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
16 ## the terms of the GNU General Public License as published by the Free
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
17 ## Software Foundation; either version 2 or (at your option) any later
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
18 ## version.
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
19 ##
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
20 ## eCos is distributed in the hope that it will be useful, but WITHOUT
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
21 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
22 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
23 ## for more details.
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
24 ##
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
25 ## You should have received a copy of the GNU General Public License
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
26 ## along with eCos; if not, write to the Free Software Foundation, Inc.,
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
27 ## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
28 ##
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
29 ## As a special exception, if other files instantiate templates or use
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
30 ## macros or inline functions from this file, or you compile this file
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
31 ## and link it with other works to produce a work based on this file,
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
32 ## this file does not by itself cause the resulting work to be covered by
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
33 ## the GNU General Public License. However the source code for this file
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
34 ## must still be made available in accordance with section (3) of the GNU
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
35 ## General Public License v2.
210
d2c90368aeef Merge from eCos master repository on 2002-05-23-21:39:14-BST
jlarmour
parents: 208
diff changeset
36 ##
2729
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
37 ## This exception does not invalidate any other reasons why a work based
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
38 ## on this file might be covered by the GNU General Public License.
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
39 ## -------------------------------------------
74dbf4c3f2e1 Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents: 507
diff changeset
40 ## ####ECOSGPLCOPYRIGHTEND####
134
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
41 ##=============================================================================
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
42 #######DESCRIPTIONBEGIN####
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
43 ##
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
44 ## Author(s): jskov
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
45 ## Contributors:jskov
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
46 ## Date: 2000-02-02
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
47 ## Purpose: SH/EDK7708 board definitions.
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
48 ## Description: This file contains various definitions and macros that are
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
49 ## useful for writing assembly code for the SH/EDK7708 board.
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
50 ## Usage:
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
51 ## #include <cyg/hal/platform.inc>
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
52 ## ...
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
53 ##
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
54 ##
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
55 ######DESCRIPTIONEND####
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
56 ##
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
57 ##=============================================================================
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
58
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
59 #include <pkgconf/hal.h>
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
60
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
61 #include <cyg/hal/sh_regs.h>
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
62 #include <cyg/hal/sh_offsets.inc>
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
63
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
64 #------------------------------------------------------------------------------
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
65 # Hardware initialization.
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
66
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
67 .macro hal_hardware_init
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
68 // Set up the Bus State Controller
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
69 mova BSC_settings_table,r0
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
70 mov r0,r3
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
71 1: mov.w @r3+,r0 // Address (or zero)
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
72 cmp/eq #0,r0
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
73 bt 2f
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
74 mov.w @r3+,r1 // data
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
75 bra 1b
507
0baabe6e08e0 Minor clean ups to cope with a more finicky SH assembler
bartv
parents: 210
diff changeset
76 mov.w r1,@r0 // delay slot
134
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
77
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
78 .align 2
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
79 BSC_settings_table:
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
80 # These are the settings set by the Hitachi ROM Monitor.
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
81
507
0baabe6e08e0 Minor clean ups to cope with a more finicky SH assembler
bartv
parents: 210
diff changeset
82 .word (CYGARC_REG_FRQCR & 0x0000FFFF)
134
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
83 .word CYGARC_REG_FRQCR_INIT
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
84
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
85 # BCR2: Bus size of areas 1-6 to 32 bits
507
0baabe6e08e0 Minor clean ups to cope with a more finicky SH assembler
bartv
parents: 210
diff changeset
86 .word (CYGARC_REG_BCR2 & 0x0000FFFF)
134
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
87 .word 0x3ffc
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
88 # BCR1: Areas 2 and 3 are SDRAM
507
0baabe6e08e0 Minor clean ups to cope with a more finicky SH assembler
bartv
parents: 210
diff changeset
89 .word (CYGARC_REG_BCR1 & 0x0000FFFF)
134
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
90 .word 0x080c
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
91 # BCR2: Bus size of areas 1-6 to 32 bits [note: second write!]
507
0baabe6e08e0 Minor clean ups to cope with a more finicky SH assembler
bartv
parents: 210
diff changeset
92 .word (CYGARC_REG_BCR2 & 0x0000FFFF)
134
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
93 .word 0x3ffc
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
94 # WCR1: 3 wait-state cycles inserted for all areas
507
0baabe6e08e0 Minor clean ups to cope with a more finicky SH assembler
bartv
parents: 210
diff changeset
95 .word (CYGARC_REG_WCR1 & 0x0000FFFF)
134
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
96 .word 0x3fff
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
97 # WCR2: extra wait states and full pitch for burst
507
0baabe6e08e0 Minor clean ups to cope with a more finicky SH assembler
bartv
parents: 210
diff changeset
98 .word (CYGARC_REG_WCR2 & 0x0000FFFF)
134
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
99 .word 0xffd7
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
100 # MCR: RAS/CAS & burst timing area 2/3
507
0baabe6e08e0 Minor clean ups to cope with a more finicky SH assembler
bartv
parents: 210
diff changeset
101 .word (CYGARC_REG_MCR & 0x0000FFFF)
134
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
102 .word 0x963c
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
103 # RTCNT: refresh counter (needs a5 in top byte to accept write)
507
0baabe6e08e0 Minor clean ups to cope with a more finicky SH assembler
bartv
parents: 210
diff changeset
104 .word (CYGARC_REG_RTCNT & 0x0000FFFF)
134
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
105 .word (0xa500 | 0x0000)
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
106 # RTCOR: refresh time constant (needs a5 in top byte to accept write)
507
0baabe6e08e0 Minor clean ups to cope with a more finicky SH assembler
bartv
parents: 210
diff changeset
107 .word (CYGARC_REG_RTCOR & 0x0000FFFF)
134
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
108 .word (0xa500 | 0x003b)
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
109 # RFCR: refresh count register (needs a4 in top byte to accept write)
507
0baabe6e08e0 Minor clean ups to cope with a more finicky SH assembler
bartv
parents: 210
diff changeset
110 .word (CYGARC_REG_RFCR & 0x0000FFFF)
134
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
111 .word (0xa400 | 0x0000)
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
112 # RTCSR: refresh timer control (needs a5 in top byte to accept write)
507
0baabe6e08e0 Minor clean ups to cope with a more finicky SH assembler
bartv
parents: 210
diff changeset
113 .word (CYGARC_REG_RTCSR & 0x0000FFFF)
134
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
114 .word (0xa500 | 0x0008)
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
115
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
116 # Set SDMR to 0x220
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
117 .word 0xd880
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
118 .word 0
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
119
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
120 # Table end
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
121 .word 0
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
122
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
123 .align 2
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
124 2:
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
125 .endm
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
126
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
127 #------------------------------------------------------------------------------
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
128 # Monitor initialization.
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
129
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
130 #ifndef CYGPKG_HAL_SH_MON_DEFINED
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
131
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
132 #if !defined(CYG_HAL_STARTUP_RAM) || \
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
133 ( defined(CYG_HAL_STARTUP_RAM) && \
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
134 !defined(CYGSEM_HAL_USE_ROM_MONITOR))
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
135
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
136 # If we are not starting up from RAM, or we are starting in
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
137 # RAM and NOT using a ROM monitor, initialize the VSR table.
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
138
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
139 .macro hal_mon_init
138
289bf90c6a9b Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents: 134
diff changeset
140 mov.l $hal_vsr_table,r3
134
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
141 # Write exception vectors
138
289bf90c6a9b Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents: 134
diff changeset
142 mov.l $cyg_hal_default_exception_vsr,r4
134
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
143 mov #CYGNUM_HAL_VSR_EXCEPTION_COUNT,r5
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
144 1: mov.l r4,@r3
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
145 add #4,r3
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
146 dt r5
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
147 bf 1b
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
148 # Write interrupt vector
138
289bf90c6a9b Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents: 134
diff changeset
149 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
150 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
151 add #CYGNUM_HAL_VECTOR_INTERRUPT*4,r3
134
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
152 mov.l r4,@r3
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
153 bra 2f
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
154 nop
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
155 .align 2
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
156
138
289bf90c6a9b Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents: 134
diff changeset
157 SYM_PTR_REF(cyg_hal_default_exception_vsr)
289bf90c6a9b Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents: 134
diff changeset
158 SYM_PTR_REF(cyg_hal_default_interrupt_vsr)
289bf90c6a9b Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents: 134
diff changeset
159 SYM_PTR_REF(hal_vsr_table)
134
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
160 2:
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
161 .endm
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
162
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
163 #elif defined(CYG_HAL_STARTUP_RAM) && defined(CYGSEM_HAL_USE_ROM_MONITOR)
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
164
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
165 # Initialize the VSR table entries
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
166 # We only take control of the interrupt vector,
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
167 # the rest are left to the ROM for now...
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
168
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
169 .macro hal_mon_init
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
170 # Write interrupt vector
138
289bf90c6a9b Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents: 134
diff changeset
171 mov.l $hal_vsr_table,r3
289bf90c6a9b Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents: 134
diff changeset
172 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
173 add #CYGNUM_HAL_VECTOR_INTERRUPT*4,r3
134
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
174 mov.l r4,@r3
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
175 bra 2f
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
176 nop
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
177 .align 2
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
178
138
289bf90c6a9b Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents: 134
diff changeset
179 SYM_PTR_REF(cyg_hal_default_interrupt_vsr)
289bf90c6a9b Merge from eCos master repository on 2000-11-24-06:43:05-GMT
jlarmour
parents: 134
diff changeset
180 SYM_PTR_REF(hal_vsr_table)
134
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
181 2:
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
182 .endm
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
183
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
184 #else
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
185
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
186 .macro hal_mon_init
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
187 .endm
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
188
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
189 #endif
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
190
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
191
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
192 #define CYGPKG_HAL_SH_MON_DEFINED
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
193
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
194 #endif // CYGPKG_HAL_SH_MON_DEFINED
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
195
d2f49caf9e38 Merge from eCos master repository on 2000-11-03-09:00:49-GMT
jlarmour
parents:
diff changeset
196 #endif // CYGONCE_HAL_PLATFORM_INC