;============================================================================
;##
;## 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
