summaryrefslogtreecommitdiff
path: root/scripts/linux.cmm
blob: 257dd535f8c925f41910e30e8ac7be39bf110c55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82

sys.down

do setup.cmm

sys.cpu arm1136j
sys.jtagclock rtck

sys.mode attach

if state.run() 
(
  break
)

data.load &KERNEL &KERNEL_ADDR /name kernel
data.load.ELF &KERNEL_ELF /NOCODE /RELPATH /PATH &KERNEL_SRC

if ("&RAMDISK"!="")
(
  data.load &RAMDISK &RAMDISK_ADDR /name ramdisk /noclear
  &RAMDISK_SIZE=y.sizeof("\\ramdisk")
)
else
(
  &RAMDISK_SIZE=0
)

local &tags
&tags=&TAGS_ADDR

d.s &tags+0x00 %long 2
d.s &tags+0x04 %long 0x54410001
&tags=&tags+0x08

if (&RAMDISK_SIZE!=0)
(
  d.s &tags+0x00 %long 4
  d.s &tags+0x04 %long 0x54420005
  d.s &tags+0x08 %long &RAMDISK_ADDR
  d.s &tags+0x0C %long &RAMDISK_SIZE
  &tags=&tags+0x10
)

if ("&CMDLINE"!="")
(
  d.s &tags+0x00 %long 0x42
  d.s &tags+0x04 %long 0x54410009
  &tags=&tags+0x08
  d.s &tags++0x100 %byte 0
  d.s &tags "&CMDLINE"
  &tags=&tags+0x100
)

d.s &tags+0x00 %long 0
d.s &tags+0x04 %long 0


register.set pc &KERNEL_ADDR
register.set r0 0
register.set r1 &MACHINE_ID
register.set r2 &TAGS_ADDR

tronchip.set dabort off
tronchip.set pabort off

term.reset
term.size 50 100
term.scroll.on
term

break.select program onchip
break.delete
;break.set __irq_usr
;break.set __irq_svc
;break.set pte_hack
;break.set cpu_v6_set_pte
;break.set panic
;break.set do_DataAbort\10

go