blob: 797a830bd4b71b96a5abcb6a50e0413e07ad0137 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001# .gdbinit file
2# $Id: dot.gdbinit.vdec2,v 1.2 2004/11/11 02:03:15 takata Exp $
3
4# setting
5set width 0d70
6set radix 0d16
7use_debug_dma
8
9# Initialize SDRAM controller for Mappi
10define sdram_init
11 # SDIR0
12 set *(unsigned long *)0x00ef6008=0x00000182
13 # SDIR1
14 set *(unsigned long *)0x00ef600c=0x00000001
15 # Initialize wait
16 shell sleep 1
17 # Ch0-MOD
18 set *(unsigned long *)0x00ef602c=0x00000020
19 # Ch0-TR
20 set *(unsigned long *)0x00ef6028=0x00041302
21 # Ch0-ADR
22 set *(unsigned long *)0x00ef6020=0x08000004
23 # AutoRef On
24 set *(unsigned long *)0x00ef6004=0x00010705
25 # Access enable
26 set *(unsigned long *)0x00ef6024=0x00000001
27end
28document sdram_init
29 Mappi SDRAM controller initialization
30 0x08000000 - 0x0bffffff (64MB)
31end
32
33# Initialize SDRAM controller for Mappi
34define sdram_init2
35 # SDIR0
36 set *(unsigned long *)0x00ef6008=0x00000182
37 # Ch0-MOD
38 set *(unsigned long *)0x00ef602c=0x00000020
39 # Ch0-TR
40 set *(unsigned long *)0x00ef6028=0x00010002
41 # Ch0-ADR
42 set *(unsigned long *)0x00ef6020=0x08000004
43 # AutoRef On
44 set *(unsigned long *)0x00ef6004=0x00010107
45 # SDIR1
46 set *(unsigned long *)0x00ef600c=0x00000001
47 # Initialize wait
48 shell sleep 1
49 # Access enable
50 set *(unsigned long *)0x00ef6024=0x00000001
51 shell sleep 1
52end
53document sdram_init
54 Mappi SDRAM controller initialization
55 0x08000000 - 0x0bffffff (64MB)
56end
57
58# Initialize LAN controller for Mappi
59define lanc_init
60 # Set BSEL1 (BSEL3 for the Chaos's bselc)
61 #set *(unsigned long *)0x00ef5004 = 0x0fff330f
62 #set *(unsigned long *)0x00ef5004 = 0x01113301
63
64# set *(unsigned long *)0x00ef5004 = 0x02011101
65# set *(unsigned long *)0x00ef5004 = 0x04441104
66
67 # BSEL5
68# set *(unsigned long *)0x00ef5014 = 0x0ccc310c
69# set *(unsigned long *)0x00ef5014 = 0x0303310f
70# set *(unsigned long *)0x00ef5014 = 0x01011102 -> NG
71# set *(unsigned long *)0x00ef5014 = 0x03033103
72
73 set *(unsigned long *)0x00ef500c = 0x0b0b1304
74 set *(unsigned long *)0x00ef5010 = 0x03033302
75# set *(unsigned long *)0x00ef5018 = 0x02223302
76end
77
78# MMU enable
79define mmu_enable
80 set $evb=0x88000000
81 set *(unsigned long *)0xffff0024=1
82end
83
84# MMU disable
85define mmu_disable
86 set $evb=0
87 set *(unsigned long *)0xffff0024=0
88end
89
90# Show TLB entries
91define show_tlb_entries
92 set $i = 0
93 set $addr = $arg0
94 while ($i < 0d16 )
95 set $tlb_tag = *(unsigned long*)$addr
96 set $tlb_data = *(unsigned long*)($addr + 4)
97 printf " [%2d] 0x%08lx : 0x%08lx - 0x%08lx\n", $i, $addr, $tlb_tag, $tlb_data
98 set $i = $i + 1
99 set $addr = $addr + 8
100 end
101end
102define itlb
103 set $itlb=0xfe000000
104 show_tlb_entries $itlb
105end
106define dtlb
107 set $dtlb=0xfe000800
108 show_tlb_entries $dtlb
109end
110
111# Cache ON
112define set_cache_type
113 set $mctype = (void*)0xfffffff8
114# chaos
115# set *(unsigned long *)($mctype) = 0x0000c000
116# m32102 i-cache only
117 set *(unsigned long *)($mctype) = 0x00008000
118# m32102 d-cache only
119# set *(unsigned long *)($mctype) = 0x00004000
120end
121define cache_on
122 set $param = (void*)0x08001000
123 set *(unsigned long *)($param) = 0x60ff6102
124end
125
126
127# Show current task structure
128define show_current
129 set $current = $spi & 0xffffe000
130 printf "$current=0x%08lX\n",$current
131 print *(struct task_struct *)$current
132end
133
134# Show user assigned task structure
135define show_task
136 set $task = $arg0 & 0xffffe000
137 printf "$task=0x%08lX\n",$task
138 print *(struct task_struct *)$task
139end
140document show_task
141 Show user assigned task structure
142 arg0 : task structure address
143end
144
145# Show M32R registers
146define show_regs
147 printf " R0[0x%08lX] R1[0x%08lX] R2[0x%08lX] R3[0x%08lX]\n",$r0,$r1,$r2,$r3
148 printf " R4[0x%08lX] R5[0x%08lX] R6[0x%08lX] R7[0x%08lX]\n",$r4,$r5,$r6,$r7
149 printf " R8[0x%08lX] R9[0x%08lX] R10[0x%08lX] R11[0x%08lX]\n",$r8,$r9,$r10,$r11
150 printf "R12[0x%08lX] FP[0x%08lX] LR[0x%08lX] SP[0x%08lX]\n",$r12,$fp,$lr,$sp
151 printf "PSW[0x%08lX] CBR[0x%08lX] SPI[0x%08lX] SPU[0x%08lX]\n",$psw,$cbr,$spi,$spu
152 printf "BPC[0x%08lX] PC[0x%08lX] ACCL[0x%08lX] ACCH[0x%08lX]\n",$bpc,$pc,$accl,$acch
153 printf "EVB[0x%08lX]\n",$evb
154
155 set $mests = *(unsigned long *)0xffff000c
156 set $mdeva = *(unsigned long *)0xffff0010
157 printf "MESTS[0x%08lX] MDEVA[0x%08lX]\n",$mests,$mdeva
158end
159
160
161# Setup all
162define setup
163 sdram_init
164# lanc_init
165# dispc_init
166# set $evb=0x08000000
167end
168
169# Load modules
170define load_modules
171 use_debug_dma
172 load
173# load busybox.mot
174end
175
176# Set kernel parameters
177define set_kernel_parameters
178 set $param = (void*)0x08001000
179
180 ## MOUNT_ROOT_RDONLY
181 set {long}($param+0x00)=0
182 ## RAMDISK_FLAGS
183 #set {long}($param+0x04)=0
184 ## ORIG_ROOT_DEV
185 #set {long}($param+0x08)=0x00000100
186 ## LOADER_TYPE
187 #set {long}($param+0x0C)=0
188 ## INITRD_START
189 set {long}($param+0x10)=0x082a0000
190 ## INITRD_SIZE
191 set {long}($param+0x14)=0d6200000
192
193 # M32R_CPUCLK
194 set *(unsigned long *)($param + 0x0018) = 0d25000000
195 # M32R_BUSCLK
196 set *(unsigned long *)($param + 0x001c) = 0d25000000
197 # M32R_TIMER_DIVIDE
198 set *(unsigned long *)($param + 0x0020) = 0d128
199
200
201 set {char[0x200]}($param + 0x100) = "console=ttyS0,115200n8x root=/dev/nfsroot nfsroot=192.168.0.1:/project/m32r-linux/export/root.2.6 nfsaddrs=192.168.0.102:192.168.0.1:192.168.0.1:255.255.255.0:mappi: \0"
202
203
204end
205
206# Boot
207define boot
208 set_kernel_parameters
209 debug_chaos
210 set $pc=0x08002000
211 set $fp=0
212 del b
213 si
214end
215
216# Restart
217define restart
218 sdireset
219 sdireset
220 setup
221 load_modules
222 boot
223end
224
225sdireset
226sdireset
227file vmlinux
228target m32rsdi
229
230restart
231boot
232
233