annotate packages/hal/powerpc/sim/current/src/sim.S @ 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 435cced73e2f
children d2c90368aeef
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
1 #==============================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
2 ##
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
3 ## sim.S
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
4 ##
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
5 ## Simulator hardware setup
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
6 ##
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
7 ##=============================================================================
208
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 76
diff changeset
8 #####ECOSGPLCOPYRIGHTBEGIN####
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 76
diff changeset
9 # -------------------------------------------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 76
diff changeset
10 # 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: 76
diff changeset
11 # 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: 76
diff changeset
12 #
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 76
diff changeset
13 # 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: 76
diff changeset
14 # 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: 76
diff changeset
15 # 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: 76
diff changeset
16 #
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 76
diff changeset
17 # 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: 76
diff changeset
18 # 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: 76
diff changeset
19 # 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: 76
diff changeset
20 # for more details.
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 76
diff changeset
21 #
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 76
diff changeset
22 # 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: 76
diff changeset
23 # 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: 76
diff changeset
24 # 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: 76
diff changeset
25 #
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 76
diff changeset
26 # 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: 76
diff changeset
27 # 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: 76
diff changeset
28 # 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: 76
diff changeset
29 # 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: 76
diff changeset
30 # 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: 76
diff changeset
31 # 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: 76
diff changeset
32 #
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 76
diff changeset
33 # 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: 76
diff changeset
34 # 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: 76
diff changeset
35 #
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 76
diff changeset
36 # 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: 76
diff changeset
37 # at http://sources.redhat.com/ecos/ecos-license
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 76
diff changeset
38 # -------------------------------------------
e0c0827131d1 Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents: 76
diff changeset
39 #####ECOSGPLCOPYRIGHTEND####
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
40 ##=============================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
41 #######DESCRIPTIONBEGIN####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
42 ##
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
43 ## Author(s): nickg
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
44 ## Contributors: nickg
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
45 ## Date: 1997-11-11
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
46 ## Purpose: Simulator hardware setup
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
47 ## Description: This file contains any code needed to initialize the
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
48 ## hardware on the PowerPC simulator.
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
49 ##
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
50 ######DESCRIPTIONEND####
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
51 ##
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
52 ##=============================================================================
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
53
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
54 #include <pkgconf/hal.h>
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
55
76
435cced73e2f eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
jlarmour
parents: 66
diff changeset
56 #include <cyg/hal/arch.inc>
0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
57
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
58 #------------------------------------------------------------------------------
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
59
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
60 .globl hal_hardware_init
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
61 hal_hardware_init:
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
62
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
63 #if 0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
64 # Set up the BAT registers to cover same address spaces
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
65
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
66 # ibat0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
67 # base addr 0xfff00000
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
68 # length 1M
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
69 # WIMG = 0000
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
70 # covers ROM
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
71 lwi r4,0xfff0001f
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
72 mtibatu 0,r4
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
73 lwi r4,0xfff00002
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
74 mtibatl 0,r4
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
75
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
76 # ibat1
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
77 # base addr 0x00000000
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
78 # length 256M
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
79 # WIMG = 0000
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
80 # covers DRAM and slots
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
81 lwi r4,0x00001fff
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
82 mtibatu 1,r4
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
83 lwi r4,0x00000002
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
84 mtibatl 1,r4
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
85
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
86 # dbat0
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
87 # base addr 0xfff00000
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
88 # length 256M
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
89 # WIMG = 0101
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
90 # covers ROM for data access
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
91 lwi r4,0xfff01fff
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
92 mtdbatu 0,r4
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
93 lwi r4,0xfff0002a
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
94 mtdbatl 0,r4
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
95
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
96 # dbat1
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
97 # base addr 0x00000000
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
98 # length 256M
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
99 # WIMG = 0000
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
100 # covers DRAM and slots
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
101 lwi r4,0x00001fff
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
102 mtdbatu 1,r4
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
103 lwi r4,0x00000002
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
104 mtdbatl 1,r4
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
105
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
106 # Enable translation in the MSR
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
107 mfmsr r3
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
108 lwi r4,0x00000030
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
109 or r3,r3,r4
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
110 mtmsr r3
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
111 #endif
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
112 blr
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
113
3111d98ba7b3 Initial commit of eCos version 1.1
jlarmour
parents:
diff changeset
114 #------------------------------------------------------------------------------
64
c38311975d4f Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents: 2
diff changeset
115 # end of sim.S