Linux Audio

Check our new training course

Linux kernel drivers training

Mar 31-Apr 9, 2025, special US time zones
Register
Loading...
Note: File does not exist in v5.4.
  1# .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