aboutsummaryrefslogtreecommitdiff
path: root/tcl/target/vd_aarch64.cfg
diff options
context:
space:
mode:
Diffstat (limited to 'tcl/target/vd_aarch64.cfg')
-rw-r--r--tcl/target/vd_aarch64.cfg50
1 files changed, 29 insertions, 21 deletions
diff --git a/tcl/target/vd_aarch64.cfg b/tcl/target/vd_aarch64.cfg
index 619134a..177416b 100644
--- a/tcl/target/vd_aarch64.cfg
+++ b/tcl/target/vd_aarch64.cfg
@@ -2,36 +2,44 @@
# Cadence virtual debug interface
# Arm v8 64b Cortex A
-if {![info exists _CORES]} {
- set _CORES 1
+if {![info exists CORES]} {
+ set CORES 1
}
-if {![info exists _CHIPNAME]} {
- set _CHIPNAME aarch64
+if {![info exists CHIPNAME]} {
+ set CHIPNAME aarch64
+}
+if {[info exists ACCESSPORT]} {
+ set _APNUM "-ap-num $ACCESSPORT"
+ if { $ACCESSPORT > 0xff } {
+ set _DAP6 "-adiv6"
+ } else {
+ set _DAP6 "-adiv5"
+ }
+} else {
+ set _APNUM ""
}
-set _TARGETNAME $_CHIPNAME.cpu
-set _CTINAME $_CHIPNAME.cti
-set DBGBASE {0x80810000 0x80910000}
-set CTIBASE {0x80820000 0x80920000}
+set _TARGETNAME $CHIPNAME.cpu
+set _CTINAME $CHIPNAME.cti
+set _DAPNAME $CHIPNAME.dap
-dap create $_CHIPNAME.dap -chain-position $_TARGETNAME
-$_CHIPNAME.dap apsel 1
+dap create $_DAPNAME $_DAP6 -chain-position $_TARGETNAME
-for { set _core 0 } { $_core < $_CORES } { incr _core } \
+for { set _core 0 } { $_core < $CORES } { incr _core } \
{
- cti create $_CTINAME.$_core -dap $_CHIPNAME.dap -ap-num 1 -baseaddr [lindex $CTIBASE $_core]
- set _command "target create $_TARGETNAME.$_core aarch64 -dap $_CHIPNAME.dap \
- -dbgbase [lindex $DBGBASE $_core] -cti $_CTINAME.$_core -coreid $_core"
+ set _cmd "cti create $_CTINAME.$_core -dap $_DAPNAME $_APNUM -baseaddr [lindex $CTIBASE $_core]"
+ eval $_cmd
+ set _cmd "target create $_TARGETNAME.$_core aarch64 -dap $_DAPNAME $_APNUM -dbgbase [lindex $DBGBASE $_core] -cti $_CTINAME.$_core -coreid $_core"
if { $_core != 0 } {
# non-boot core examination may fail
- set _command "$_command -defer-examine"
- set _smp_command "$_smp_command $_TARGETNAME.$_core"
+ set _cmd "$_cmd -defer-examine"
+ set _smp_cmd "$_smp_cmd $_TARGETNAME.$_core"
} else {
- set _smp_command "target smp $_TARGETNAME.$_core"
+ set _smp_cmd "target smp $_TARGETNAME.$_core"
}
- eval $_command
+ eval $_cmd
}
-eval $_smp_command
+eval $_smp_cmd
-# default target is core 0
-targets $_TARGETNAME.0
+set _TARGETCUR $_TARGETNAME.0
+targets $_TARGETCUR