summaryrefslogtreecommitdiff
path: root/util/qualcomm/scripts/cmm/debug_cb_845.cmm
blob: c0a9cca74ef40603139902303094041680f7383d (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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
;============================================================================
;##
;## This file is part of the coreboot project.
;##
;## Copyright (C) 2018, The Linux Foundation.  All rights reserved.
;##
;## This program is free software; you can redistribute it and/or modify
;## it under the terms of the GNU General Public License version 2 and
;## only version 2 as published by the Free Software Foundation.
;##
;## This program is distributed in the hope that it will be useful,
;## but WITHOUT ANY WARRANTY; without even the implied warranty of
;## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;## GNU General Public License for more details.
;##
;============================================================================
;  Name:
;    debug_cb_845.cmm
;
;  Description:
;     Debug coreboot 845 front-end
;============================================================================

;============================================================================
;  CMM script variables
;============================================================================

LOCAL &TargetPkg

GLOBAL   &BBEntryAddr		// Bootblock   Entry
GLOBAL   &BBExitAddr		// Bootblock   Exit to Xbl-Sec
GLOBAL  &VEREntryAddr		// Verstage    Entry
GLOBAL  &ROMEntryAddr		// Romstage    Entry
GLOBAL  &QCLEntryAddr		// QCLstage    Entry
GLOBAL  &RAMEntryAddr		// Ramstage    Entry
GLOBAL &BL31EntryAddr		// BL31        Entry
GLOBAL   &DCEntryAddr		// Depthcharge Entry
GLOBAL &KernelEntryAddr         // Kernel      Entry

GLOBAL &PreRamConsoleAddr
GLOBAL &RamConsoleAddr
GLOBAL &PreRamCbfsCache
GLOBAL &VBoot2Work
GLOBAL &Stack
GLOBAL &Ttb
GLOBAL &Timestamp
GLOBAL &CbmemTop
GLOBAL &PostRamCbfsCache

GLOBAL &CBTablePtr

;============================================================================

;---------------------------------------------------
; Entry point
;---------------------------------------------------
ENTRY &ImageName

  // Later these can be parameterized
  &TargetPkg="Sdm845Pkg"

  // These settings come from .../src/soc/qualcomm/sdm845/include/soc/memlayout.ld
      &BBEntryAddr=0x14816000
     &VEREntryAddr=0x14680000
     &ROMEntryAddr=0x14680000
     &QCLEntryAddr=0x1485AC00
     &RAMEntryAddr=0x9F860000
    &BL31EntryAddr=0x06820000
      &DCEntryAddr=0xB0104800
  &KernelEntryAddr=0x90080000

  &PreRamConsoleAddr=0x14836400
  &VBoot2Work=0x1482E000
  &Stack=0x14832000
  &Ttb=0x1481E000
  &Timestamp=0x14836000
  &PreRamCbfsCache=0x1483E400
  &CbmemTop=0x280000000
  &PostRamCbfsCache=0x9F800000
  // End of memlayout.ld settings

  // Common commands irrespective of &Mode
  PATH
  &CwDir=os.pwd()
  PATH + &CwDir

  // position at top of coreboot tree
  // find depth count for source loading
  cd ..\..\..\..
  &srcpath=os.pwd()

  b.sel PROGRAM onchip
  sys.u

  b.d /all

  go &BBEntryAddr
  wait !run()

;---------------------------------------------------
; Setup area and log
;---------------------------------------------------
  area.clear
  area.reset
  area.create CB_Logs 1000. 8192.
  area.select CB_Logs

  winclear
  b.d /all

  if FILE.EXIST("C:\TEMP\WIN.CMM")
    do C:\TEMP\WIN.CMM

  area.view CB_Logs

  PRINT %String "Source Path:     &srcpath"

  symbol.sourcepath.setbasedir &srcpath\src

  // Make parsing simple, upper-case parameters
  &ImageName=STRING.UPR("&ImageName")
  PRINT "&ImageName"

  DO debug_cb_common.cmm &TargetPkg &srcpath &xblsrcpath &ImageName

  enddo