You can subscribe to this list here.
| 2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(75) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2009 |
Jan
(70) |
Feb
(20) |
Mar
(52) |
Apr
(149) |
May
(387) |
Jun
(466) |
Jul
(133) |
Aug
(87) |
Sep
(122) |
Oct
(140) |
Nov
(185) |
Dec
(105) |
| 2010 |
Jan
(85) |
Feb
(45) |
Mar
(75) |
Apr
(17) |
May
(41) |
Jun
(52) |
Jul
(33) |
Aug
(29) |
Sep
(36) |
Oct
(15) |
Nov
(26) |
Dec
(34) |
| 2011 |
Jan
(26) |
Feb
(25) |
Mar
(26) |
Apr
(29) |
May
(20) |
Jun
(27) |
Jul
(15) |
Aug
(32) |
Sep
(13) |
Oct
(64) |
Nov
(60) |
Dec
(10) |
| 2012 |
Jan
(64) |
Feb
(63) |
Mar
(39) |
Apr
(43) |
May
(54) |
Jun
(11) |
Jul
(30) |
Aug
(45) |
Sep
(11) |
Oct
(70) |
Nov
(24) |
Dec
(23) |
| 2013 |
Jan
(17) |
Feb
(8) |
Mar
(35) |
Apr
(40) |
May
(20) |
Jun
(24) |
Jul
(36) |
Aug
(25) |
Sep
(42) |
Oct
(40) |
Nov
(9) |
Dec
(21) |
| 2014 |
Jan
(29) |
Feb
(24) |
Mar
(60) |
Apr
(22) |
May
(22) |
Jun
(46) |
Jul
(11) |
Aug
(23) |
Sep
(26) |
Oct
(10) |
Nov
(14) |
Dec
(2) |
| 2015 |
Jan
(28) |
Feb
(47) |
Mar
(33) |
Apr
(58) |
May
(5) |
Jun
(1) |
Jul
|
Aug
(8) |
Sep
(12) |
Oct
(25) |
Nov
(58) |
Dec
(21) |
| 2016 |
Jan
(12) |
Feb
(40) |
Mar
(2) |
Apr
(1) |
May
(67) |
Jun
(2) |
Jul
(5) |
Aug
(36) |
Sep
|
Oct
(24) |
Nov
(17) |
Dec
(50) |
| 2017 |
Jan
(14) |
Feb
(16) |
Mar
(2) |
Apr
(35) |
May
(14) |
Jun
(16) |
Jul
(3) |
Aug
(3) |
Sep
|
Oct
(19) |
Nov
|
Dec
(16) |
| 2018 |
Jan
(55) |
Feb
(11) |
Mar
(34) |
Apr
(14) |
May
(4) |
Jun
(20) |
Jul
(39) |
Aug
(16) |
Sep
(17) |
Oct
(16) |
Nov
(20) |
Dec
(30) |
| 2019 |
Jan
(29) |
Feb
(24) |
Mar
(37) |
Apr
(26) |
May
(19) |
Jun
(21) |
Jul
(2) |
Aug
(3) |
Sep
(9) |
Oct
(12) |
Nov
(12) |
Dec
(12) |
| 2020 |
Jan
(47) |
Feb
(36) |
Mar
(54) |
Apr
(44) |
May
(37) |
Jun
(19) |
Jul
(32) |
Aug
(13) |
Sep
(16) |
Oct
(24) |
Nov
(32) |
Dec
(11) |
| 2021 |
Jan
(14) |
Feb
(5) |
Mar
(40) |
Apr
(32) |
May
(42) |
Jun
(31) |
Jul
(29) |
Aug
(47) |
Sep
(38) |
Oct
(17) |
Nov
(74) |
Dec
(33) |
| 2022 |
Jan
(11) |
Feb
(15) |
Mar
(40) |
Apr
(21) |
May
(39) |
Jun
(44) |
Jul
(19) |
Aug
(46) |
Sep
(79) |
Oct
(35) |
Nov
(21) |
Dec
(15) |
| 2023 |
Jan
(56) |
Feb
(13) |
Mar
(43) |
Apr
(28) |
May
(60) |
Jun
(15) |
Jul
(29) |
Aug
(28) |
Sep
(32) |
Oct
(21) |
Nov
(42) |
Dec
(39) |
| 2024 |
Jan
(35) |
Feb
(17) |
Mar
(28) |
Apr
(7) |
May
(14) |
Jun
(35) |
Jul
(30) |
Aug
(35) |
Sep
(30) |
Oct
(28) |
Nov
(38) |
Dec
(18) |
| 2025 |
Jan
(21) |
Feb
(28) |
Mar
(36) |
Apr
(35) |
May
(34) |
Jun
(58) |
Jul
(9) |
Aug
(54) |
Sep
(47) |
Oct
(15) |
Nov
(47) |
Dec
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-29 18:27:53
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via f885a8d76c96ec94e2f7a4c4fadd57dfe384a8ac (commit)
from a9fa3392670659dfd558d8733911ffce9538e2d2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit f885a8d76c96ec94e2f7a4c4fadd57dfe384a8ac
Author: Adrien Grassein <agr...@na...>
Date: Thu Jan 18 11:54:15 2024 +0100
target/aarch64: Cleanup on exit
Restore target configuration on exit so that OpenOCD get correct values
when restarting.
Change-Id: I8cbba1fdae1d3c4a580197b7a97691443780ed06
Signed-off-by: Adrien Grassein <agr...@na...>
Signed-off-by: Adrien Charruel <ach...@na...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8654
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/src/target/aarch64.c b/src/target/aarch64.c
index 609965ba5..ce7808e3a 100644
--- a/src/target/aarch64.c
+++ b/src/target/aarch64.c
@@ -2857,6 +2857,14 @@ static void aarch64_deinit_target(struct target *target)
struct aarch64_common *aarch64 = target_to_aarch64(target);
struct armv8_common *armv8 = &aarch64->armv8_common;
struct arm_dpm *dpm = &armv8->dpm;
+ uint64_t address;
+
+ if (target->state == TARGET_HALTED) {
+ // Restore the previous state of the target (gp registers, MMU, caches, etc)
+ int retval = aarch64_restore_one(target, true, &address, false, false);
+ if (retval != ERROR_OK)
+ LOG_TARGET_ERROR(target, "Failed to restore target state");
+ }
if (armv8->debug_ap)
dap_put_ap(armv8->debug_ap);
-----------------------------------------------------------------------
Summary of changes:
src/target/aarch64.c | 8 ++++++++
1 file changed, 8 insertions(+)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-29 18:27:26
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via a9fa3392670659dfd558d8733911ffce9538e2d2 (commit)
from a86fdfc73548a2b317ed8e61a618ebff2ee4f5e2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit a9fa3392670659dfd558d8733911ffce9538e2d2
Author: Marek Vasut <mar...@gm...>
Date: Fri Aug 23 01:29:12 2024 +0200
tcl/target: Add Renesas R-Car Gen4 R8A779G0 V4H and R8A779H0 V4M targets
Add support for Renesas R-Car Gen4 R8A779G0 V4H and R8A779H0 V4M SoCs.
Those contain 4x CA76 and 3x CR52 cores.
Change-Id: I4a701f0fec4dd574fc099a221d464ccc55db6252
Signed-off-by: Marek Vasut <mar...@gm...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8807
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/tcl/target/renesas_rcar_gen3.cfg b/tcl/target/renesas_rcar_gen3.cfg
index 73b3003a9..f6bc5e4c8 100644
--- a/tcl/target/renesas_rcar_gen3.cfg
+++ b/tcl/target/renesas_rcar_gen3.cfg
@@ -90,6 +90,18 @@ switch $_soc {
set _num_cr52 1
set _boot_core CA76
}
+ V4H {
+ set _CHIPNAME r8a779g0
+ set _num_ca76 4
+ set _num_cr52 3
+ set _boot_core CR52
+ }
+ V4M {
+ set _CHIPNAME r8a779h0
+ set _num_ca76 4
+ set _num_cr52 3
+ set _boot_core CR52
+ }
default {
error "'$_soc' is invalid!"
}
@@ -126,8 +138,8 @@ set CA57_DBGBASE {0x80410000 0x80510000 0x80610000 0x80710000}
set CA57_CTIBASE {0x80420000 0x80520000 0x80620000 0x80720000}
set CA53_DBGBASE {0x80C10000 0x80D10000 0x80E10000 0x80F10000}
set CA53_CTIBASE {0x80C20000 0x80D20000 0x80E20000 0x80F20000}
-set CR52_DBGBASE 0x80c10000
-set CR52_CTIBASE 0x80c20000
+set CR52_DBGBASE {0x80C10000 0x80D10000 0x80E10000}
+set CR52_CTIBASE {0x80C20000 0x80D20000 0x80E20000}
set CR7_DBGBASE 0x80910000
set CR7_CTIBASE 0x80918000
@@ -159,24 +171,27 @@ proc setup_a5x {core_name dbgbase ctibase num boot} {
proc setup_crx {core_name dbgbase ctibase num boot} {
global _CHIPNAME
global _DAPNAME
+ global smp_targets
global _targets
for { set _core 0 } { $_core < $num } { incr _core } {
- set _TARGETNAME $_CHIPNAME.$core_name
+ set _TARGETNAME $_CHIPNAME.$core_name.$_core
set _CTINAME $_TARGETNAME.cti
- cti create $_CTINAME -dap $_DAPNAME -ap-num 1 -baseaddr $ctibase
+ cti create $_CTINAME -dap $_DAPNAME -ap-num 1 -baseaddr [lindex $ctibase $_core]
if { $core_name == "r52" } {
set _command "target create $_TARGETNAME armv8r -dap $_DAPNAME \
- -ap-num 1 -dbgbase $dbgbase -cti $_CTINAME"
+ -ap-num 1 -dbgbase [lindex $dbgbase $_core] -cti $_CTINAME"
} else {
set _command "target create $_TARGETNAME cortex_r4 -dap $_DAPNAME \
- -ap-num 1 -dbgbase $dbgbase"
+ -ap-num 1 -dbgbase [lindex $dbgbase $_core]"
}
- if { $boot == 1 } {
+ if { $_core == 0 && $boot == 1 } {
set _targets "$_TARGETNAME"
} else {
set _command "$_command -defer-examine"
}
+ set smp_targets "$smp_targets $_TARGETNAME"
eval $_command
+ $_TARGETNAME configure -event examine-end { halt }
}
}
-----------------------------------------------------------------------
Summary of changes:
tcl/target/renesas_rcar_gen3.cfg | 29 ++++++++++++++++++++++-------
1 file changed, 22 insertions(+), 7 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-29 18:27:06
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via a86fdfc73548a2b317ed8e61a618ebff2ee4f5e2 (commit)
from 5773ff9d82a06e7e270dd71fc3d4352815384292 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit a86fdfc73548a2b317ed8e61a618ebff2ee4f5e2
Author: Antonio Borneo <bor...@gm...>
Date: Sun Mar 16 11:50:04 2025 +0100
target: drop last instances of 'target->cmd_name'
The helper function 'target_name()' or, better, the log functions
'LOG_TARGET_xxx(target, ...)' should be used in place of taking
the target name directly from 'target->cmd_name'.
Replace the remaining instances in the code.
While there:
- address some indentation,
- drop trailing punctuation in log message,
- replace one LOG WARNING with LOG_TARGET_WARNING.
Change-Id: Ie6cf4c174ffe91b975c983e4697c735766267041
Signed-off-by: Antonio Borneo <bor...@gm...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8806
Tested-by: jenkins
Reviewed-by: zapb <de...@za...>
diff --git a/src/target/armv7a.c b/src/target/armv7a.c
index e22d309a0..c14155e01 100644
--- a/src/target/armv7a.c
+++ b/src/target/armv7a.c
@@ -101,14 +101,14 @@ static int armv7a_read_midr(struct target *target)
armv7a->arch = (midr >> 16) & 0xf;
armv7a->variant = (midr >> 20) & 0xf;
armv7a->implementor = (midr >> 24) & 0xff;
- LOG_DEBUG("%s rev %" PRIx32 ", partnum %" PRIx32 ", arch %" PRIx32
- ", variant %" PRIx32 ", implementor %" PRIx32,
- target->cmd_name,
- armv7a->rev,
- armv7a->partnum,
- armv7a->arch,
- armv7a->variant,
- armv7a->implementor);
+ LOG_TARGET_DEBUG(target,
+ "rev %" PRIx32 ", partnum %" PRIx32 ", arch %" PRIx32
+ ", variant %" PRIx32 ", implementor %" PRIx32,
+ armv7a->rev,
+ armv7a->partnum,
+ armv7a->arch,
+ armv7a->variant,
+ armv7a->implementor);
done:
dpm->finish(dpm);
diff --git a/src/target/cortex_a.c b/src/target/cortex_a.c
index b32fec270..9c6064558 100644
--- a/src/target/cortex_a.c
+++ b/src/target/cortex_a.c
@@ -2923,14 +2923,12 @@ static int cortex_a_examine_first(struct target *target)
armv7a->debug_ap->memaccess_tck = 80;
if (!target->dbgbase_set) {
- LOG_DEBUG("%s's dbgbase is not set, trying to detect using the ROM table",
- target->cmd_name);
+ LOG_TARGET_DEBUG(target, "dbgbase is not set, trying to detect using the ROM table");
/* Lookup Processor DAP */
retval = dap_lookup_cs_component(armv7a->debug_ap, ARM_CS_C9_DEVTYPE_CORE_DEBUG,
&armv7a->debug_base, target->coreid);
if (retval != ERROR_OK) {
- LOG_ERROR("Can't detect %s's dbgbase from the ROM table; you need to specify it explicitly.",
- target->cmd_name);
+ LOG_TARGET_ERROR(target, "Can't detect dbgbase from the ROM table; you need to specify it explicitly");
return retval;
}
LOG_DEBUG("Detected core %" PRId32 " dbgbase: " TARGET_ADDR_FMT,
@@ -2939,8 +2937,9 @@ static int cortex_a_examine_first(struct target *target)
armv7a->debug_base = target->dbgbase;
if ((armv7a->debug_base & (1UL<<31)) == 0)
- LOG_WARNING("Debug base address for target %s has bit 31 set to 0. Access to debug registers will likely fail!\n"
- "Please fix the target configuration.", target_name(target));
+ LOG_TARGET_WARNING(target,
+ "Debug base address has bit 31 set to 0. Access to debug registers will likely fail!\n"
+ "Please fix the target configuration");
retval = mem_ap_read_atomic_u32(armv7a->debug_ap,
armv7a->debug_base + CPUDBG_DIDR, &didr);
diff --git a/src/target/espressif/esp32_apptrace.c b/src/target/espressif/esp32_apptrace.c
index 3202fd3d6..307096019 100644
--- a/src/target/espressif/esp32_apptrace.c
+++ b/src/target/espressif/esp32_apptrace.c
@@ -649,7 +649,7 @@ static int esp32_apptrace_wait4halt(struct esp32_apptrace_cmd_ctx *ctx, struct t
if (res != ERROR_OK)
return res;
if (target->state == TARGET_HALTED) {
- LOG_USER("%s: HALTED", target->cmd_name);
+ LOG_TARGET_USER(target, "HALTED");
break;
}
alive_sleep(500);
diff --git a/src/target/espressif/esp_xtensa_apptrace.c b/src/target/espressif/esp_xtensa_apptrace.c
index 5741ab030..313f6ce77 100644
--- a/src/target/espressif/esp_xtensa_apptrace.c
+++ b/src/target/espressif/esp_xtensa_apptrace.c
@@ -277,7 +277,7 @@ static int esp_xtensa_swdbg_activate(struct target *target, int enab)
xtensa_dm_queue_tdi_idle(&xtensa->dbg_mod);
int res = xtensa_dm_queue_execute(&xtensa->dbg_mod);
if (res != ERROR_OK) {
- LOG_ERROR("%s: writing DCR failed!", target->cmd_name);
+ LOG_TARGET_ERROR(target, "writing DCR failed");
return res;
}
-----------------------------------------------------------------------
Summary of changes:
src/target/armv7a.c | 16 ++++++++--------
src/target/cortex_a.c | 11 +++++------
src/target/espressif/esp32_apptrace.c | 2 +-
src/target/espressif/esp_xtensa_apptrace.c | 2 +-
4 files changed, 15 insertions(+), 16 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-29 18:26:20
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 5773ff9d82a06e7e270dd71fc3d4352815384292 (commit)
from 98e34fd1f17207ce30fd5c80ab9aefb28fbdc688 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 5773ff9d82a06e7e270dd71fc3d4352815384292
Author: Adrien Grassein <agr...@na...>
Date: Thu Jan 18 11:58:38 2024 +0100
target/armv8: Handle instruction cache invalidate
Some armv8 target have separate i-cache and d-cache.
The actual code only handles the flush of the d-cache.
Change-Id: I61a223b43c71646bbbed8fa63825360c67700988
Signed-off-by: Adrien Grassein <agr...@na...>
Signed-off-by: Adrien Charruel <ach...@na...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8655
Reviewed-by: Antonio Borneo <bor...@gm...>
Tested-by: jenkins
diff --git a/src/target/armv8.h b/src/target/armv8.h
index 49ab3e5cb..dba12f966 100644
--- a/src/target/armv8.h
+++ b/src/target/armv8.h
@@ -162,6 +162,7 @@ struct armv8_cache_common {
/* l2 external unified cache if some */
void *l2_cache;
int (*flush_all_data_cache)(struct target *target);
+ int (*invalidate_all_instruction_cache)(struct target *target);
int (*display_cache_info)(struct command_invocation *cmd,
struct armv8_cache_common *armv8_cache);
};
diff --git a/src/target/armv8_cache.c b/src/target/armv8_cache.c
index 74d063b0e..1c251beb9 100644
--- a/src/target/armv8_cache.c
+++ b/src/target/armv8_cache.c
@@ -141,6 +141,36 @@ done:
return retval;
}
+static int armv8_cache_i_inner_clean_inval_all(struct armv8_common *armv8)
+{
+ struct arm_dpm *dpm = armv8->arm.dpm;
+ int retval;
+
+ retval = armv8_i_cache_sanity_check(armv8);
+ if (retval != ERROR_OK)
+ return retval;
+
+ LOG_DEBUG("flushing cache");
+
+ retval = dpm->prepare(dpm);
+ if (retval != ERROR_OK)
+ goto done;
+
+ retval = dpm->instr_execute(dpm, armv8_opcode(armv8, ARMV8_OPC_ICIALLU));
+ if (retval != ERROR_OK)
+ goto done;
+
+ dpm->finish(dpm);
+ LOG_DEBUG("flushing cache done");
+ return retval;
+
+done:
+ LOG_ERROR("i-cache invalidate failed");
+ dpm->finish(dpm);
+
+ return retval;
+}
+
int armv8_cache_i_inner_inval_virt(struct armv8_common *armv8, target_addr_t va, size_t size)
{
struct arm_dpm *dpm = armv8->arm.dpm;
@@ -253,6 +283,32 @@ static int armv8_flush_all_data(struct target *target)
return retval;
}
+static int armv8_flush_all_instruction(struct target *target)
+{
+ int retval = ERROR_FAIL;
+ /* check that armv8_cache is correctly identify */
+ struct armv8_common *armv8 = target_to_armv8(target);
+ if (armv8->armv8_mmu.armv8_cache.info == -1) {
+ LOG_ERROR("trying to flush un-identified cache");
+ return retval;
+ }
+
+ if (target->smp) {
+ /* look if all the other target have been flushed in order to flush icache */
+ struct target_list *head;
+ foreach_smp_target(head, target->smp_targets) {
+ struct target *curr = head->target;
+ if (curr->state == TARGET_HALTED) {
+ LOG_TARGET_INFO(curr, "Wait flushing instruction l1.");
+ retval = armv8_cache_i_inner_clean_inval_all(target_to_armv8(curr));
+ }
+ }
+ } else {
+ retval = armv8_cache_i_inner_clean_inval_all(armv8);
+ }
+ return retval;
+}
+
static int get_cache_info(struct arm_dpm *dpm, int cl, int ct, uint32_t *cache_reg)
{
struct armv8_common *armv8 = dpm->arm->arch_info;
@@ -412,6 +468,12 @@ int armv8_identify_cache(struct armv8_common *armv8)
armv8->armv8_mmu.armv8_cache.flush_all_data_cache =
armv8_flush_all_data;
}
+ if (!armv8->armv8_mmu.armv8_cache.invalidate_all_instruction_cache) {
+ armv8->armv8_mmu.armv8_cache.display_cache_info =
+ armv8_handle_inner_cache_info_command;
+ armv8->armv8_mmu.armv8_cache.invalidate_all_instruction_cache =
+ armv8_flush_all_instruction;
+ }
done:
armv8_dpm_modeswitch(dpm, ARM_MODE_ANY);
diff --git a/src/target/armv8_opcodes.c b/src/target/armv8_opcodes.c
index 2635b3ec5..0f6c8108e 100644
--- a/src/target/armv8_opcodes.c
+++ b/src/target/armv8_opcodes.c
@@ -41,6 +41,7 @@ static const uint32_t a64_opcodes[ARMV8_OPC_NUM] = {
[ARMV8_OPC_STRH_IP] = ARMV8_STRH_IP(1, 0),
[ARMV8_OPC_STRW_IP] = ARMV8_STRW_IP(1, 0),
[ARMV8_OPC_STRD_IP] = ARMV8_STRD_IP(1, 0),
+ [ARMV8_OPC_ICIALLU] = ARMV8_SYS(SYSTEM_ICIALLU, 0x1F),
};
static const uint32_t t32_opcodes[ARMV8_OPC_NUM] = {
@@ -68,6 +69,7 @@ static const uint32_t t32_opcodes[ARMV8_OPC_NUM] = {
[ARMV8_OPC_STRB_IP] = ARMV8_STRB_IP_T3(1, 0),
[ARMV8_OPC_STRH_IP] = ARMV8_STRH_IP_T3(1, 0),
[ARMV8_OPC_STRW_IP] = ARMV8_STRW_IP_T3(1, 0),
+ [ARMV8_OPC_ICIALLU] = ARMV4_5_MCR(15, 0, 0, 7, 5, 0),
};
void armv8_select_opcodes(struct armv8_common *armv8, bool state_is_aarch64)
diff --git a/src/target/armv8_opcodes.h b/src/target/armv8_opcodes.h
index 9200dac72..9f18e94d2 100644
--- a/src/target/armv8_opcodes.h
+++ b/src/target/armv8_opcodes.h
@@ -72,6 +72,8 @@
#define SYSTEM_DCCISW 0x43F2
#define SYSTEM_DCCSW 0x43D2
#define SYSTEM_ICIVAU 0x5BA9
+/* Attention, SYSTEM_ICIALLU requires rt=0x1f */
+#define SYSTEM_ICIALLU 0x03A8
#define SYSTEM_DCCVAU 0x5BD9
#define SYSTEM_DCCIVAC 0x5BF1
@@ -207,6 +209,7 @@ enum armv8_opcode {
ARMV8_OPC_LDRH_IP,
ARMV8_OPC_LDRW_IP,
ARMV8_OPC_LDRD_IP,
+ ARMV8_OPC_ICIALLU,
ARMV8_OPC_NUM,
};
-----------------------------------------------------------------------
Summary of changes:
src/target/armv8.h | 1 +
src/target/armv8_cache.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++
src/target/armv8_opcodes.c | 2 ++
src/target/armv8_opcodes.h | 3 +++
4 files changed, 68 insertions(+)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-29 18:25:35
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 98e34fd1f17207ce30fd5c80ab9aefb28fbdc688 (commit)
from 50c1a156aeb7a96f2f8bacc8bfcfc93f1bbabb04 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 98e34fd1f17207ce30fd5c80ab9aefb28fbdc688
Author: HAOUES Ahmed <ahm...@st...>
Date: Wed Mar 12 14:37:46 2025 +0100
flash/stm32l4x: support STM32U5F/U5Gx devices
STM32U5F/U5Gx devices are similar to STM32U59/U5Ax devices
while at there update STM32U5xx revisions
Change-Id: I4f1c302cc91739a89cf4869401e9f5015dbc72b9
Signed-off-by: HAOUES Ahmed <ahm...@st...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8616
Reviewed-by: Antonio Borneo <bor...@gm...>
Reviewed-by: Tarek BOCHKATI <tar...@gm...>
Tested-by: jenkins
Reviewed-by: Tomas Vanek <va...@fb...>
diff --git a/src/flash/nor/stm32l4x.c b/src/flash/nor/stm32l4x.c
index 3062fca72..fa57db8bb 100644
--- a/src/flash/nor/stm32l4x.c
+++ b/src/flash/nor/stm32l4x.c
@@ -370,11 +370,15 @@ static const struct stm32l4_rev stm32u53_u54xx_revs[] = {
static const struct stm32l4_rev stm32u57_u58xx_revs[] = {
{ 0x1000, "A" }, { 0x1001, "Z" }, { 0x1003, "Y" }, { 0x2000, "B" },
- { 0x2001, "X" }, { 0x3000, "C" }, { 0x3001, "W" },
+ { 0x2001, "X" }, { 0x3000, "C" }, { 0x3001, "W" }, { 0x3007, "U" },
};
static const struct stm32l4_rev stm32u59_u5axx_revs[] = {
- { 0x3001, "X" },
+ { 0x3001, "X" }, { 0x3002, "W" },
+};
+
+static const struct stm32l4_rev stm32u5f_u5gxx_revs[] = {
+ { 0x1000, "A" }, { 0x1001, "Z" },
};
static const struct stm32l4_rev stm32wba5x_revs[] = {
@@ -674,6 +678,18 @@ static const struct stm32l4_part_info stm32l4_parts[] = {
.otp_base = 0x0BFA0000,
.otp_size = 512,
},
+ {
+ .id = DEVID_STM32U5F_U5GXX,
+ .revs = stm32u5f_u5gxx_revs,
+ .num_revs = ARRAY_SIZE(stm32u5f_u5gxx_revs),
+ .device_str = "STM32U5F/U5Gxx",
+ .max_flash_size_kb = 4096,
+ .flags = F_HAS_DUAL_BANK | F_QUAD_WORD_PROG | F_HAS_TZ | F_HAS_L5_FLASH_REGS,
+ .flash_regs_base = 0x40022000,
+ .fsize_addr = 0x0BFA07A0,
+ .otp_base = 0x0BFA0000,
+ .otp_size = 512,
+ },
{
.id = DEVID_STM32WBA5X,
.revs = stm32wba5x_revs,
@@ -2095,6 +2111,7 @@ static int stm32l4_probe(struct flash_bank *bank)
case DEVID_STM32U53_U54XX:
case DEVID_STM32U57_U58XX:
case DEVID_STM32U59_U5AXX:
+ case DEVID_STM32U5F_U5GXX:
/* according to RM0456 Rev 4, Chapter 7.3.1 and 7.9.13
* U53x/U54x have 512K max flash size:
* 512K variants are always in DUAL BANK mode
@@ -2102,7 +2119,7 @@ static int stm32l4_probe(struct flash_bank *bank)
* U57x/U58x have 2M max flash size:
* 2M variants are always in DUAL BANK mode
* 1M variants can be in DUAL BANK mode if FLASH_OPTR:DUALBANK is set
- * U59x/U5Ax have 4M max flash size:
+ * U59x/U5Ax/U5Fx/U5Gx have 4M max flash size:
* 4M variants are always in DUAL BANK mode
* 2M variants can be in DUAL BANK mode if FLASH_OPTR:DUALBANK is set
* Note: flash banks are always contiguous
diff --git a/src/flash/nor/stm32l4x.h b/src/flash/nor/stm32l4x.h
index f152c9f30..3199d4f6d 100644
--- a/src/flash/nor/stm32l4x.h
+++ b/src/flash/nor/stm32l4x.h
@@ -103,6 +103,7 @@
#define DEVID_STM32L4R_L4SXX 0x470
#define DEVID_STM32L4P_L4QXX 0x471
#define DEVID_STM32L55_L56XX 0x472
+#define DEVID_STM32U5F_U5GXX 0x476
#define DEVID_STM32G49_G4AXX 0x479
#define DEVID_STM32U59_U5AXX 0x481
#define DEVID_STM32U57_U58XX 0x482
-----------------------------------------------------------------------
Summary of changes:
src/flash/nor/stm32l4x.c | 23 ++++++++++++++++++++---
src/flash/nor/stm32l4x.h | 1 +
2 files changed, 21 insertions(+), 3 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-29 18:24:31
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 50c1a156aeb7a96f2f8bacc8bfcfc93f1bbabb04 (commit)
from f55ec6d4492251a453eb441dfd427b5f4ca4e452 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 50c1a156aeb7a96f2f8bacc8bfcfc93f1bbabb04
Author: Antonio Borneo <bor...@gm...>
Date: Sat Dec 2 16:50:14 2023 +0100
command: factorize jim_command_mode()
During 'help' dump, to determine the mode (e.g. COMMAND_CONFIG) of
a command, the current code executes the OpenOCD TCL command
"command mode", while it could directly call the implementation of
the TCL command above.
Factorize jim_command_mode() and call the inner implementation
instead of executing "command mode".
Change-Id: Id8c33d0ed1373b5744dcc3ac354c3e0a88576f75
Signed-off-by: Antonio Borneo <bor...@gm...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8585
Reviewed-by: Evgeniy Naydanov <evg...@sy...>
Tested-by: jenkins
diff --git a/src/helper/command.c b/src/helper/command.c
index 38fb4f83b..3d4379d06 100644
--- a/src/helper/command.c
+++ b/src/helper/command.c
@@ -41,6 +41,7 @@ static int jim_command_dispatch(Jim_Interp *interp, int argc, Jim_Obj * const *a
static int help_add_command(struct command_context *cmd_ctx,
const char *cmd_name, const char *help_text, const char *usage_text);
static int help_del_command(struct command_context *cmd_ctx, const char *cmd_name);
+static enum command_mode get_command_mode(Jim_Interp *interp, const char *cmd_name);
/* set of functions to wrap jimtcl internal data */
static inline bool jimcmd_is_proc(Jim_Cmd *cmd)
@@ -779,24 +780,7 @@ static COMMAND_HELPER(command_help_show, struct help_entry *c,
if (is_match && show_help) {
char *msg;
- /* TODO: factorize jim_command_mode() to avoid running jim command here */
- char *request = alloc_printf("command mode %s", c->cmd_name);
- if (!request) {
- LOG_ERROR("Out of memory");
- return ERROR_FAIL;
- }
- int retval = Jim_Eval(CMD_CTX->interp, request);
- free(request);
- enum command_mode mode = COMMAND_UNKNOWN;
- if (retval != JIM_ERR) {
- const char *result = Jim_GetString(Jim_GetResult(CMD_CTX->interp), NULL);
- if (!strcmp(result, "any"))
- mode = COMMAND_ANY;
- else if (!strcmp(result, "config"))
- mode = COMMAND_CONFIG;
- else if (!strcmp(result, "exec"))
- mode = COMMAND_EXEC;
- }
+ enum command_mode mode = get_command_mode(CMD_CTX->interp, c->cmd_name);
/* Normal commands are runtime-only; highlight exceptions */
if (mode != COMMAND_EXEC) {
@@ -809,6 +793,7 @@ static COMMAND_HELPER(command_help_show, struct help_entry *c,
case COMMAND_ANY:
stage_msg = " (command valid any time)";
break;
+ case COMMAND_UNKNOWN:
default:
stage_msg = " (?mode error?)";
break;
@@ -817,11 +802,13 @@ static COMMAND_HELPER(command_help_show, struct help_entry *c,
} else
msg = alloc_printf("%s", c->help ? c->help : "");
- if (msg) {
- command_help_show_wrap(msg, n + 3, n + 3);
- free(msg);
- } else
- return -ENOMEM;
+ if (!msg) {
+ LOG_ERROR("Out of memory");
+ return ERROR_FAIL;
+ }
+
+ command_help_show_wrap(msg, n + 3, n + 3);
+ free(msg);
}
return ERROR_OK;
@@ -936,35 +923,41 @@ static int jim_command_dispatch(Jim_Interp *interp, int argc, Jim_Obj * const *a
return retval;
}
+static enum command_mode get_command_mode(Jim_Interp *interp, const char *cmd_name)
+{
+ if (!cmd_name)
+ return COMMAND_UNKNOWN;
+
+ Jim_Obj *s = Jim_NewStringObj(interp, cmd_name, -1);
+ Jim_IncrRefCount(s);
+ Jim_Cmd *cmd = Jim_GetCommand(interp, s, JIM_NONE);
+ Jim_DecrRefCount(interp, s);
+
+ if (!cmd || !(jimcmd_is_proc(cmd) || jimcmd_is_oocd_command(cmd)))
+ return COMMAND_UNKNOWN;
+
+ /* tcl proc */
+ if (jimcmd_is_proc(cmd))
+ return COMMAND_ANY;
+
+ struct command *c = jimcmd_privdata(cmd);
+ return c->mode;
+}
+
static int jim_command_mode(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
{
struct command_context *cmd_ctx = current_command_context(interp);
- enum command_mode mode;
+ enum command_mode mode = cmd_ctx->mode;
if (argc > 1) {
char *full_name = alloc_concatenate_strings(argc - 1, argv + 1);
if (!full_name)
return JIM_ERR;
- Jim_Obj *s = Jim_NewStringObj(interp, full_name, -1);
- Jim_IncrRefCount(s);
- Jim_Cmd *cmd = Jim_GetCommand(interp, s, JIM_NONE);
- Jim_DecrRefCount(interp, s);
- free(full_name);
- if (!cmd || !(jimcmd_is_proc(cmd) || jimcmd_is_oocd_command(cmd))) {
- Jim_SetResultString(interp, "unknown", -1);
- return JIM_OK;
- }
- if (jimcmd_is_proc(cmd)) {
- /* tcl proc */
- mode = COMMAND_ANY;
- } else {
- struct command *c = jimcmd_privdata(cmd);
+ mode = get_command_mode(interp, full_name);
- mode = c->mode;
- }
- } else
- mode = cmd_ctx->mode;
+ free(full_name);
+ }
const char *mode_str;
switch (mode) {
@@ -977,6 +970,7 @@ static int jim_command_mode(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
case COMMAND_EXEC:
mode_str = "exec";
break;
+ case COMMAND_UNKNOWN:
default:
mode_str = "unknown";
break;
-----------------------------------------------------------------------
Summary of changes:
src/helper/command.c | 78 ++++++++++++++++++++++++----------------------------
1 file changed, 36 insertions(+), 42 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-29 18:23:50
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via f55ec6d4492251a453eb441dfd427b5f4ca4e452 (commit)
from 864e1341ada378db6a553b2f13ef7741ffcede51 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit f55ec6d4492251a453eb441dfd427b5f4ca4e452
Author: Antonio Borneo <bor...@gm...>
Date: Sat Dec 2 14:21:42 2023 +0100
target: rewrite command 'write_memory' as COMMAND_HANDLER
While there:
- drop the command name from the error messages;
- check the returned value from Jim_GetWide() to detect incorrect
numeric values.
Change-Id: I399402ac11b6d459f1771e59e44210aef3e2a637
Signed-off-by: Antonio Borneo <bor...@gm...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8582
Tested-by: jenkins
Reviewed-by: Evgeniy Naydanov <evg...@sy...>
diff --git a/src/target/target.c b/src/target/target.c
index cfb9cf3f3..2f736f0e8 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -4526,50 +4526,36 @@ COMMAND_HANDLER(handle_target_read_memory)
return ERROR_OK;
}
-static int target_jim_write_memory(Jim_Interp *interp, int argc,
- Jim_Obj * const *argv)
+COMMAND_HANDLER(handle_target_write_memory)
{
/*
- * argv[1] = memory address
- * argv[2] = desired element width in bits
- * argv[3] = list of data to write
- * argv[4] = optional "phys"
+ * CMD_ARGV[0] = memory address
+ * CMD_ARGV[1] = desired element width in bits
+ * CMD_ARGV[2] = list of data to write
+ * CMD_ARGV[3] = optional "phys"
*/
- if (argc < 4 || argc > 5) {
- Jim_WrongNumArgs(interp, 1, argv, "address width data ['phys']");
- return JIM_ERR;
- }
+ if (CMD_ARGC < 3 || CMD_ARGC > 4)
+ return ERROR_COMMAND_SYNTAX_ERROR;
/* Arg 1: Memory address. */
- int e;
- jim_wide wide_addr;
- e = Jim_GetWide(interp, argv[1], &wide_addr);
-
- if (e != JIM_OK)
- return e;
-
- target_addr_t addr = (target_addr_t)wide_addr;
+ target_addr_t addr;
+ COMMAND_PARSE_NUMBER(u64, CMD_ARGV[0], addr);
/* Arg 2: Bit width of one element. */
- long l;
- e = Jim_GetLong(interp, argv[2], &l);
-
- if (e != JIM_OK)
- return e;
+ unsigned int width_bits;
+ COMMAND_PARSE_NUMBER(uint, CMD_ARGV[1], width_bits);
- const unsigned int width_bits = l;
- size_t count = Jim_ListLength(interp, argv[3]);
+ /* Arg 3: Elements to write. */
+ size_t count = Jim_ListLength(CMD_CTX->interp, CMD_JIMTCL_ARGV[2]);
/* Arg 4: Optional 'phys'. */
bool is_phys = false;
- if (argc > 4) {
- const char *phys = Jim_GetString(argv[4], NULL);
-
- if (strcmp(phys, "phys")) {
- Jim_SetResultFormatted(interp, "invalid argument '%s', must be 'phys'", phys);
- return JIM_ERR;
+ if (CMD_ARGC == 4) {
+ if (strcmp(CMD_ARGV[3], "phys")) {
+ command_print(CMD, "invalid argument '%s', must be 'phys'", CMD_ARGV[3]);
+ return ERROR_COMMAND_ARGUMENT_INVALID;
}
is_phys = true;
@@ -4582,14 +4568,13 @@ static int target_jim_write_memory(Jim_Interp *interp, int argc,
case 64:
break;
default:
- Jim_SetResultString(interp, "invalid width, must be 8, 16, 32 or 64", -1);
- return JIM_ERR;
+ command_print(CMD, "invalid width, must be 8, 16, 32 or 64");
+ return ERROR_COMMAND_ARGUMENT_INVALID;
}
if (count > 65536) {
- Jim_SetResultString(interp,
- "write_memory: too large memory write request, exceeds 64K elements", -1);
- return JIM_ERR;
+ command_print(CMD, "too large memory write request, exceeds 64K elements");
+ return ERROR_COMMAND_ARGUMENT_INVALID;
}
const unsigned int width = width_bits / 8;
@@ -4597,21 +4582,18 @@ static int target_jim_write_memory(Jim_Interp *interp, int argc,
* due to overflow.
*/
if ((addr + count * width - 1) < addr) {
- Jim_SetResultFormatted(interp,
- "write_memory: memory region wraps over address zero");
- return JIM_ERR;
+ command_print(CMD, "memory region wraps over address zero");
+ return ERROR_COMMAND_ARGUMENT_INVALID;
}
- struct command_context *cmd_ctx = current_command_context(interp);
- assert(cmd_ctx);
- struct target *target = get_current_target(cmd_ctx);
+ struct target *target = get_current_target(CMD_CTX);
const size_t buffersize = 4096;
uint8_t *buffer = malloc(buffersize);
if (!buffer) {
LOG_ERROR("Failed to allocate memory");
- return JIM_ERR;
+ return ERROR_FAIL;
}
size_t j = 0;
@@ -4621,9 +4603,13 @@ static int target_jim_write_memory(Jim_Interp *interp, int argc,
const size_t chunk_len = MIN(count, max_chunk_len);
for (size_t i = 0; i < chunk_len; i++, j++) {
- Jim_Obj *tmp = Jim_ListGetIndex(interp, argv[3], j);
+ Jim_Obj *tmp = Jim_ListGetIndex(CMD_CTX->interp, CMD_JIMTCL_ARGV[2], j);
jim_wide element_wide;
- Jim_GetWide(interp, tmp, &element_wide);
+ int jimretval = Jim_GetWide(CMD_CTX->interp, tmp, &element_wide);
+ if (jimretval != JIM_OK) {
+ command_print(CMD, "invalid value \"%s\"", Jim_GetString(tmp, NULL));
+ return ERROR_COMMAND_ARGUMENT_INVALID;
+ }
const uint64_t v = element_wide;
@@ -4653,11 +4639,11 @@ static int target_jim_write_memory(Jim_Interp *interp, int argc,
retval = target_write_memory(target, addr, width, chunk_len, buffer);
if (retval != ERROR_OK) {
- LOG_ERROR("write_memory: write at " TARGET_ADDR_FMT " with width=%u and count=%zu failed",
+ LOG_DEBUG("write at " TARGET_ADDR_FMT " with width=%u and count=%zu failed",
addr, width_bits, chunk_len);
- Jim_SetResultString(interp, "write_memory: failed to write memory", -1);
- e = JIM_ERR;
- break;
+ command_print(CMD, "failed to write memory");
+ free(buffer);
+ return retval;
}
addr += chunk_len * width;
@@ -4665,7 +4651,7 @@ static int target_jim_write_memory(Jim_Interp *interp, int argc,
free(buffer);
- return e;
+ return ERROR_OK;
}
/* FIX? should we propagate errors here rather than printing them
@@ -5612,7 +5598,7 @@ static const struct command_registration target_instance_command_handlers[] = {
{
.name = "write_memory",
.mode = COMMAND_EXEC,
- .jim_handler = target_jim_write_memory,
+ .handler = handle_target_write_memory,
.help = "Write Tcl list of 8/16/32/64 bit numbers to target memory",
.usage = "address width data ['phys']",
},
@@ -6747,7 +6733,7 @@ static const struct command_registration target_exec_command_handlers[] = {
{
.name = "write_memory",
.mode = COMMAND_EXEC,
- .jim_handler = target_jim_write_memory,
+ .handler = handle_target_write_memory,
.help = "Write Tcl list of 8/16/32/64 bit numbers to target memory",
.usage = "address width data ['phys']",
},
-----------------------------------------------------------------------
Summary of changes:
src/target/target.c | 90 ++++++++++++++++++++++-------------------------------
1 file changed, 38 insertions(+), 52 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-29 18:23:35
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 864e1341ada378db6a553b2f13ef7741ffcede51 (commit)
from 6d139422cb22ab3fc78f903038a7288acde4e4d4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 864e1341ada378db6a553b2f13ef7741ffcede51
Author: Antonio Borneo <bor...@gm...>
Date: Sat Nov 23 18:35:51 2024 +0100
target: read_memory: drop command name from error messages
The error message should not report the command name as it
should be already clear from the context.
Change-Id: I219e31be808bf6ff1924ce60f3025fb48ed7b125
Signed-off-by: Antonio Borneo <bor...@gm...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8803
Tested-by: jenkins
diff --git a/src/target/target.c b/src/target/target.c
index ce468cc90..cfb9cf3f3 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -4448,7 +4448,7 @@ COMMAND_HANDLER(handle_target_read_memory)
}
if (count > 65536) {
- command_print(CMD, "read_memory: too large read request, exceeds 64K elements");
+ command_print(CMD, "too large read request, exceeds 64K elements");
return ERROR_COMMAND_ARGUMENT_INVALID;
}
@@ -4457,7 +4457,7 @@ COMMAND_HANDLER(handle_target_read_memory)
* due to overflow.
*/
if ((addr + count * width - 1) < addr) {
- command_print(CMD, "read_memory: memory region wraps over address zero");
+ command_print(CMD, "memory region wraps over address zero");
return ERROR_COMMAND_ARGUMENT_INVALID;
}
@@ -4484,13 +4484,13 @@ COMMAND_HANDLER(handle_target_read_memory)
retval = target_read_memory(target, addr, width, chunk_len, buffer);
if (retval != ERROR_OK) {
- LOG_DEBUG("read_memory: read at " TARGET_ADDR_FMT " with width=%u and count=%zu failed",
+ LOG_DEBUG("read at " TARGET_ADDR_FMT " with width=%u and count=%zu failed",
addr, width_bits, chunk_len);
/*
* FIXME: we append the errmsg to the list of value already read.
* Add a way to flush and replace old output, but LOG_DEBUG() it
*/
- command_print(CMD, "read_memory: failed to read memory");
+ command_print(CMD, "failed to read memory");
free(buffer);
return retval;
}
-----------------------------------------------------------------------
Summary of changes:
src/target/target.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-29 18:23:11
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 6d139422cb22ab3fc78f903038a7288acde4e4d4 (commit)
from 72ff2e2d9f869cd19951ce101e5ac61209ec434d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 6d139422cb22ab3fc78f903038a7288acde4e4d4
Author: Antonio Borneo <bor...@gm...>
Date: Sat Nov 23 18:15:40 2024 +0100
helper: command: return correct error on command 'echo'
In case of incorrect syntax, return ERROR_COMMAND_SYNTAX_ERROR so
the command framework will print the usage string.
Change-Id: I348debc77f470551d54fa77b4da780a48ff539c0
Signed-off-by: Antonio Borneo <bor...@gm...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8802
Tested-by: jenkins
diff --git a/src/helper/command.c b/src/helper/command.c
index d90d34141..38fb4f83b 100644
--- a/src/helper/command.c
+++ b/src/helper/command.c
@@ -673,7 +673,7 @@ COMMAND_HANDLER(handle_echo)
}
if (CMD_ARGC != 1)
- return ERROR_FAIL;
+ return ERROR_COMMAND_SYNTAX_ERROR;
LOG_USER("%s", CMD_ARGV[0]);
return ERROR_OK;
-----------------------------------------------------------------------
Summary of changes:
src/helper/command.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-15 10:35:31
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 72ff2e2d9f869cd19951ce101e5ac61209ec434d (commit)
from bb4c7e323393c74be1cba3836a32f0aa4a9b0dc7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 72ff2e2d9f869cd19951ce101e5ac61209ec434d
Author: Adrien Grassein <agr...@na...>
Date: Thu Jan 18 15:12:12 2024 +0100
target/armv8: regularly send keep_alive packet.
Flushing all d-cache may be a long operation.
We need to send keep_alive regularly to keep the connection alive.
If not done a warning is emitted.
Change-Id: I52c3ee9a9f9b8a1dc0b8d5439e8b71212f56165a
Signed-off-by: Adrien Grassein <agr...@na...>
Signed-off-by: Adrien Charruel <ach...@na...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8659
Reviewed-by: Antonio Borneo <bor...@gm...>
Tested-by: jenkins
diff --git a/src/target/armv8_cache.c b/src/target/armv8_cache.c
index 66d4e0080..74d063b0e 100644
--- a/src/target/armv8_cache.c
+++ b/src/target/armv8_cache.c
@@ -61,6 +61,7 @@ static int armv8_cache_d_inner_flush_level(struct armv8_common *armv8, struct ar
goto done;
c_way -= 1;
} while (c_way >= 0);
+ keep_alive();
c_index -= 1;
} while (c_index >= 0);
-----------------------------------------------------------------------
Summary of changes:
src/target/armv8_cache.c | 1 +
1 file changed, 1 insertion(+)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-15 10:34:55
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via bb4c7e323393c74be1cba3836a32f0aa4a9b0dc7 (commit)
from 427528069806b20c05c78f935529bd62308351a9 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit bb4c7e323393c74be1cba3836a32f0aa4a9b0dc7
Author: Adrien Grassein <agr...@na...>
Date: Thu Jan 18 12:04:02 2024 +0100
tcl/ngultra: Use newly created armv8r target
ngultra cores are cortex-r52, so use armv8r target now its created.
Change-Id: If2d22593ab1e200ac15e7b883c70937acf1d2a59
Signed-off-by: Adrien Grassein <agr...@na...>
Signed-off-by: Adrien Charruel <ach...@na...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8658
Reviewed-by: Antonio Borneo <bor...@gm...>
Tested-by: jenkins
diff --git a/tcl/target/ngultra.cfg b/tcl/target/ngultra.cfg
index 956fdbb5c..9f9814fd7 100644
--- a/tcl/target/ngultra.cfg
+++ b/tcl/target/ngultra.cfg
@@ -36,12 +36,11 @@ dap create $_CHIPNAME.coresight.dap -chain-position $_CHIPNAME.coresight.cpu
for { set _core 0 } { $_core < $_cores } { incr _core } {
cti create cti.$_core -dap $_CHIPNAME.coresight.dap -ap-num 0 \
-baseaddr [lindex $CTIBASE $_core]
-# Cores are armv8-r but works with aarch64 (since armv8-r not directly supported by openocd yet).
if { $_core == 0} {
- target create core.$_core aarch64 -dap $_CHIPNAME.coresight.dap \
+ target create core.$_core armv8r -dap $_CHIPNAME.coresight.dap \
-ap-num 0 -dbgbase [lindex $DBGBASE $_core] -cti cti.$_core
} else {
- target create core.$_core aarch64 -dap $_CHIPNAME.coresight.dap \
+ target create core.$_core armv8r -dap $_CHIPNAME.coresight.dap \
-ap-num 0 -dbgbase [lindex $DBGBASE $_core] -cti cti.$_core -defer-examine
}
}
-----------------------------------------------------------------------
Summary of changes:
tcl/target/ngultra.cfg | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-15 10:21:13
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 427528069806b20c05c78f935529bd62308351a9 (commit)
via 6beb6280af985e79094501af5cb66d1a33019544 (commit)
from e4a51b3235167ea2fccf399d55dc3fe87364dbb8 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 427528069806b20c05c78f935529bd62308351a9
Author: Antonio Borneo <bor...@gm...>
Date: Sun Dec 1 00:01:00 2024 +0100
adapter: simplify command 'adapter list'
The code of command 'adapter list' is called by command 'adapter
driver' to list the available drivers in case of error.
This dual possible entry points require a conditional check on the
number of command line arguments, reducing the code readability.
Split the command in a simpler code for the command 'adapter list'
that only checks the command line, and move in a common helper the
code that list the drivers.
While there, fix the output and the comments to report 'adapter
driver' instead of 'debug adapters'; we are not parsing the HW to
know which adapter is present.
Change-Id: I17538e86dc4a31a9589d404e49dcc65a29393390
Signed-off-by: Antonio Borneo <bor...@gm...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8672
Tested-by: jenkins
Reviewed-by: Tomas Vanek <va...@fb...>
diff --git a/src/jtag/adapter.c b/src/jtag/adapter.c
index db3d3b0fe..2fcbd609e 100644
--- a/src/jtag/adapter.c
+++ b/src/jtag/adapter.c
@@ -392,12 +392,8 @@ COMMAND_HANDLER(handle_adapter_name)
return ERROR_OK;
}
-COMMAND_HANDLER(handle_adapter_list_command)
+COMMAND_HANDLER(dump_adapter_driver_list)
{
- if (strcmp(CMD_NAME, "list") == 0 && CMD_ARGC > 0)
- return ERROR_COMMAND_SYNTAX_ERROR;
-
- command_print(CMD, "The following debug adapters are available:");
for (unsigned int i = 0; adapter_drivers[i]; i++) {
const char *name = adapter_drivers[i]->name;
command_print(CMD, "%u: %s", i + 1, name);
@@ -406,6 +402,14 @@ COMMAND_HANDLER(handle_adapter_list_command)
return ERROR_OK;
}
+COMMAND_HANDLER(handle_adapter_list_command)
+{
+ if (CMD_ARGC)
+ return ERROR_COMMAND_SYNTAX_ERROR;
+
+ return CALL_COMMAND_HANDLER(dump_adapter_driver_list);
+}
+
COMMAND_HANDLER(handle_adapter_driver_command)
{
int retval;
@@ -440,7 +444,8 @@ COMMAND_HANDLER(handle_adapter_driver_command)
*/
LOG_ERROR("The specified debug interface was not found (%s)",
CMD_ARGV[0]);
- CALL_COMMAND_HANDLER(handle_adapter_list_command);
+ command_print(CMD, "The following adapter drivers are available:");
+ CALL_COMMAND_HANDLER(dump_adapter_driver_list);
return ERROR_JTAG_INVALID_INTERFACE;
}
commit 6beb6280af985e79094501af5cb66d1a33019544
Author: Antonio Borneo <bor...@gm...>
Date: Sun Dec 22 17:13:59 2024 +0100
adapter: drop command 'adapter transports'
The commit 93f2afa45f4c ("initial "transport" framework") that
added the transport framework in 2010 was overly optimistic on the
possibility to dynamically add, at runtime, a new adapter and to
specify with the command 'adapter transports' the list of the
transports supported by the new adapter.
Such feature has never become part of OpenOCD, and the command
above has never become useful nor ever been used.
Drop the command 'adapter transports' and its documentation.
Drop the helper 'transport_list_parse', now unused.
Change-Id: Ie3d71c74d068fba802839b116bb9bc9af77cc83d
Signed-off-by: Antonio Borneo <bor...@gm...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8671
Reviewed-by: Tomas Vanek <va...@fb...>
Tested-by: jenkins
diff --git a/doc/openocd.texi b/doc/openocd.texi
index 140d0f8c7..9ff524b74 100644
--- a/doc/openocd.texi
+++ b/doc/openocd.texi
@@ -2415,12 +2415,6 @@ target.
List the debug adapter drivers that have been built into
the running copy of OpenOCD.
@end deffn
-@deffn {Config Command} {adapter transports} transport_name+
-Specifies the transports supported by this debug adapter.
-The adapter driver builds-in similar knowledge; use this only
-when external configuration (such as jumpering) changes what
-the hardware can support.
-@end deffn
@anchor{adapter gpio}
@deffn {Config Command} {adapter gpio [ @
diff --git a/src/jtag/adapter.c b/src/jtag/adapter.c
index 04942f753..db3d3b0fe 100644
--- a/src/jtag/adapter.c
+++ b/src/jtag/adapter.c
@@ -392,25 +392,6 @@ COMMAND_HANDLER(handle_adapter_name)
return ERROR_OK;
}
-COMMAND_HANDLER(adapter_transports_command)
-{
- char **transports;
- int retval;
-
- retval = CALL_COMMAND_HANDLER(transport_list_parse, &transports);
- if (retval != ERROR_OK)
- return retval;
-
- retval = allow_transports(CMD_CTX, (const char **)transports);
-
- if (retval != ERROR_OK) {
- for (unsigned int i = 0; transports[i]; i++)
- free(transports[i]);
- free(transports);
- }
- return retval;
-}
-
COMMAND_HANDLER(handle_adapter_list_command)
{
if (strcmp(CMD_NAME, "list") == 0 && CMD_ARGC > 0)
@@ -1137,13 +1118,6 @@ static const struct command_registration adapter_command_handlers[] = {
.usage = "",
.chain = adapter_srst_command_handlers,
},
- {
- .name = "transports",
- .handler = adapter_transports_command,
- .mode = COMMAND_CONFIG,
- .help = "Declare transports the adapter supports.",
- .usage = "transport ...",
- },
{
.name = "usb",
.mode = COMMAND_ANY,
diff --git a/src/transport/transport.c b/src/transport/transport.c
index c7293e7fd..0af136036 100644
--- a/src/transport/transport.c
+++ b/src/transport/transport.c
@@ -166,54 +166,6 @@ struct transport *get_current_transport(void)
* Infrastructure for Tcl interface to transports.
*/
-/**
- * Makes and stores a copy of a set of transports passed as
- * parameters to a command.
- *
- * @param vector where the resulting copy is stored, as an argv-style
- * NULL-terminated vector.
- */
-COMMAND_HELPER(transport_list_parse, char ***vector)
-{
- char **argv;
- unsigned int n = CMD_ARGC;
- unsigned int j = 0;
-
- *vector = NULL;
-
- if (n < 1)
- return ERROR_COMMAND_SYNTAX_ERROR;
-
- /* our return vector must be NULL terminated */
- argv = calloc(n + 1, sizeof(char *));
- if (!argv)
- return ERROR_FAIL;
-
- for (unsigned int i = 0; i < n; i++) {
- struct transport *t;
-
- for (t = transport_list; t; t = t->next) {
- if (strcmp(t->name, CMD_ARGV[i]) != 0)
- continue;
- argv[j++] = strdup(CMD_ARGV[i]);
- break;
- }
- if (!t) {
- LOG_ERROR("no such transport '%s'", CMD_ARGV[i]);
- goto fail;
- }
- }
-
- *vector = argv;
- return ERROR_OK;
-
-fail:
- for (unsigned int i = 0; i < n; i++)
- free(argv[i]);
- free(argv);
- return ERROR_FAIL;
-}
-
COMMAND_HANDLER(handle_transport_init)
{
LOG_DEBUG("%s", __func__);
diff --git a/src/transport/transport.h b/src/transport/transport.h
index 00d8b07e1..2e3dcc61a 100644
--- a/src/transport/transport.h
+++ b/src/transport/transport.h
@@ -77,8 +77,6 @@ struct transport *get_current_transport(void);
int transport_register_commands(struct command_context *ctx);
-COMMAND_HELPER(transport_list_parse, char ***vector);
-
int allow_transports(struct command_context *ctx, const char * const *vector);
bool transport_is_jtag(void);
-----------------------------------------------------------------------
Summary of changes:
doc/openocd.texi | 6 ------
src/jtag/adapter.c | 41 ++++++++++------------------------------
src/transport/transport.c | 48 -----------------------------------------------
src/transport/transport.h | 2 --
4 files changed, 10 insertions(+), 87 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-15 10:20:56
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via e4a51b3235167ea2fccf399d55dc3fe87364dbb8 (commit)
from e12ceddd5ee4d946107e3764d05ce2810befb293 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit e4a51b3235167ea2fccf399d55dc3fe87364dbb8
Author: Antonio Borneo <bor...@gm...>
Date: Mon Dec 23 20:59:28 2024 +0100
doc: drop mention of not implemented SPI transport
The commit 93f2afa45f4c ("initial "transport" framework") adds a
dedicated chapter in the documentation about a possible SPI
transport for flashing.
This transport has never been part of OpenOCD and should not be
listed in the documentation.
Drop the chapter.
Change-Id: I9b406754399abda4dc7c2f8cf09dd47730a7e1d9
Signed-off-by: Antonio Borneo <bor...@gm...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8670
Reviewed-by: Tomas Vanek <va...@fb...>
Tested-by: jenkins
diff --git a/doc/openocd.texi b/doc/openocd.texi
index 386528a9d..140d0f8c7 100644
--- a/doc/openocd.texi
+++ b/doc/openocd.texi
@@ -3816,13 +3816,6 @@ Not all adapters and adapter drivers support SWD multi-drop. Only the following
adapter drivers are SWD multi-drop capable:
cmsis_dap (use an adapter with CMSIS-DAP version 2.0), ftdi, all bitbang based.
-@subsection SPI Transport
-@cindex SPI
-@cindex Serial Peripheral Interface
-The Serial Peripheral Interface (SPI) is a general purpose transport
-which uses four wire signaling. Some processors use it as part of a
-solution for flash programming.
-
@anchor{swimtransport}
@subsection SWIM Transport
@cindex SWIM
-----------------------------------------------------------------------
Summary of changes:
doc/openocd.texi | 7 -------
1 file changed, 7 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-15 10:20:15
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via e12ceddd5ee4d946107e3764d05ce2810befb293 (commit)
from a2d4b9b718552a4bbb88e0f210444b4f5047bc0c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit e12ceddd5ee4d946107e3764d05ce2810befb293
Author: Evgeniy Naydanov <evg...@sy...>
Date: Fri Feb 14 19:20:58 2025 +0300
helper/log: mark `fmt` argument of `alloc_vprintf()` as format string
Building on Ubuntu 22.04 with `-fsanitize=undefined` (GCC 12.3.0)
results in an error:
Checkpatch-ignore: COMMIT_LOG_LONG_LINE
```
In file included from /usr/include/stdio.h:894,
from <openocd>/src/helper/system.h:23,
from <openocd>/src/helper/replacements.h:18,
from <openocd>/src/helper/log.c:20:
In function âvsnprintfâ,
inlined from âalloc_vprintfâ at <openocd>/src/helper/log.c:347:8:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:85:10: error: null format string [-Werror=format-truncation=]
85 | return __builtin___vsnprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86 | __glibc_objsize (__s), __fmt, __ap);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
```
The error mentiones the call site `src/helper/log.c:347`. There
`vsnprintf()` is called passing `fmt` as format string.
To mitigate this, mark the format string with the corresponding
attribute in `alloc_vprintf()`
Change-Id: I91011490715998ef5a931c19c3c9d74a1a304e5d
Signed-off-by: Evgeniy Naydanov <evg...@sy...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8764
Reviewed-by: Antonio Borneo <bor...@gm...>
Tested-by: jenkins
diff --git a/src/helper/log.h b/src/helper/log.h
index e2bb131ed..ac24f8e83 100644
--- a/src/helper/log.h
+++ b/src/helper/log.h
@@ -85,7 +85,8 @@ struct log_callback {
int log_add_callback(log_callback_fn fn, void *priv);
int log_remove_callback(log_callback_fn fn, void *priv);
-char *alloc_vprintf(const char *fmt, va_list ap);
+char *alloc_vprintf(const char *fmt, va_list ap)
+ __attribute__ ((format (PRINTF_ATTRIBUTE_FORMAT, 1, 0)));
char *alloc_printf(const char *fmt, ...)
__attribute__ ((format (PRINTF_ATTRIBUTE_FORMAT, 1, 2)));
-----------------------------------------------------------------------
Summary of changes:
src/helper/log.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-15 10:19:46
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via a2d4b9b718552a4bbb88e0f210444b4f5047bc0c (commit)
from fdd0c2b1d370e48186329cf7b81b42fa60b0e4bc (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit a2d4b9b718552a4bbb88e0f210444b4f5047bc0c
Author: R. Diez <rdi...@ya...>
Date: Sun Nov 3 12:24:20 2024 +0100
bcm2835gpio.c: change adapter init order
Make also sure that the struct bitbang_interface with callbacks
that we pass to the bitbang driver is const.
Change-Id: I954014f062d6d9185db45f5fbd2ad0b0955aab82
Signed-off-by: R. Diez <rdi...@ya...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8536
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/src/jtag/drivers/bcm2835gpio.c b/src/jtag/drivers/bcm2835gpio.c
index 095601fa6..e8689aa03 100644
--- a/src/jtag/drivers/bcm2835gpio.c
+++ b/src/jtag/drivers/bcm2835gpio.c
@@ -427,7 +427,7 @@ static int bcm2835gpio_blink(bool on)
return ERROR_OK;
}
-static struct bitbang_interface bcm2835gpio_bitbang = {
+static const struct bitbang_interface bcm2835gpio_bitbang_swd_write_generic = {
.read = bcm2835gpio_read,
.write = bcm2835gpio_write,
.swdio_read = bcm2835_swdio_read,
@@ -436,11 +436,19 @@ static struct bitbang_interface bcm2835gpio_bitbang = {
.blink = bcm2835gpio_blink,
};
+static const struct bitbang_interface bcm2835gpio_bitbang_swd_write_fast = {
+ .read = bcm2835gpio_read,
+ .write = bcm2835gpio_write,
+ .swdio_read = bcm2835_swdio_read,
+ .swdio_drive = bcm2835_swdio_drive,
+ .swd_write = bcm2835gpio_swd_write_fast,
+ .blink = bcm2835gpio_blink,
+};
+
static int bcm2835gpio_init(void)
{
LOG_INFO("BCM2835 GPIO JTAG/SWD bitbang driver");
- bitbang_interface = &bcm2835gpio_bitbang;
adapter_gpio_config = adapter_gpio_get_config();
if (transport_is_jtag() && !bcm2835gpio_jtag_mode_possible()) {
@@ -509,6 +517,8 @@ LOG_INFO("pads conf set to %08x", pads_base[BCM2835_PADS_GPIO_0_27_OFFSET]);
initialize_gpio(ADAPTER_GPIO_IDX_TRST);
}
+ const struct bitbang_interface *bcm2835gpio_bitbang = &bcm2835gpio_bitbang_swd_write_generic;
+
if (transport_is_swd()) {
/* swdio and its buffer should be initialized in the order that prevents
* two outputs from being connected together. This will occur if the
@@ -529,16 +539,18 @@ LOG_INFO("pads conf set to %08x", pads_base[BCM2835_PADS_GPIO_0_27_OFFSET]);
if (adapter_gpio_config[ADAPTER_GPIO_IDX_SWCLK].drive == ADAPTER_GPIO_DRIVE_MODE_PUSH_PULL &&
adapter_gpio_config[ADAPTER_GPIO_IDX_SWDIO].drive == ADAPTER_GPIO_DRIVE_MODE_PUSH_PULL) {
LOG_DEBUG("BCM2835 GPIO using fast mode for SWD write");
- bcm2835gpio_bitbang.swd_write = bcm2835gpio_swd_write_fast;
+ bcm2835gpio_bitbang = &bcm2835gpio_bitbang_swd_write_fast;
} else {
LOG_DEBUG("BCM2835 GPIO using generic mode for SWD write");
- bcm2835gpio_bitbang.swd_write = bcm2835gpio_swd_write_generic;
+ assert(bcm2835gpio_bitbang == &bcm2835gpio_bitbang_swd_write_generic);
}
}
initialize_gpio(ADAPTER_GPIO_IDX_SRST);
initialize_gpio(ADAPTER_GPIO_IDX_LED);
+ bitbang_interface = bcm2835gpio_bitbang;
+
return ERROR_OK;
}
-----------------------------------------------------------------------
Summary of changes:
src/jtag/drivers/bcm2835gpio.c | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-15 10:19:12
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via fdd0c2b1d370e48186329cf7b81b42fa60b0e4bc (commit)
from 16c6497a89600ab8e8b354e2fc2c0ceb9ae74330 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit fdd0c2b1d370e48186329cf7b81b42fa60b0e4bc
Author: R. Diez <rdi...@ya...>
Date: Sun Feb 16 19:59:27 2025 +0100
configure.ac: show the JTAG DPI and VPI adapters in the config summary
Also enable these adapters by default (auto).
Change-Id: Icbbcd470eaf1d1bfb33900885776c1dbd0cccb5f
Signed-off-by: R. Diez <rdi...@ya...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8758
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/configure.ac b/configure.ac
index e31e056cc..75c8e5d8a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -178,6 +178,12 @@ m4_define([LINUXSPIDEV_ADAPTER],
m4_define([VDEBUG_ADAPTER],
[[[vdebug], [Cadence Virtual Debug Interface], [VDEBUG]]])
+m4_define([JTAG_DPI_ADAPTER],
+ [[[jtag_dpi], [JTAG DPI Adapter], [JTAG_DPI]]])
+
+m4_define([JTAG_VPI_ADAPTER],
+ [[[jtag_vpi], [JTAG VPI Adapter], [JTAG_VPI]]])
+
# The word 'Adapter' in "Dummy Adapter" below must begin with a capital letter
# because there is an M4 macro called 'adapter'.
m4_define([DUMMY_ADAPTER],
@@ -308,6 +314,8 @@ AC_ARG_ADAPTERS([
SERIAL_PORT_ADAPTERS,
DUMMY_ADAPTER,
VDEBUG_ADAPTER,
+ JTAG_DPI_ADAPTER,
+ JTAG_VPI_ADAPTER,
PCIE_ADAPTERS,
LIBJAYLINK_ADAPTERS
],[auto])
@@ -326,14 +334,6 @@ AC_ARG_ENABLE([parport_giveio],
[Enable use of giveio for parport (for CygWin only)]),
[parport_use_giveio=$enableval], [parport_use_giveio=])
-AC_ARG_ENABLE([jtag_vpi],
- AS_HELP_STRING([--enable-jtag_vpi], [Enable building support for JTAG VPI]),
- [build_jtag_vpi=$enableval], [build_jtag_vpi=no])
-
-AC_ARG_ENABLE([jtag_dpi],
- AS_HELP_STRING([--enable-jtag_dpi], [Enable building support for JTAG DPI]),
- [build_jtag_dpi=$enableval], [build_jtag_dpi=no])
-
AC_ARG_ENABLE([amtjtagaccel],
AS_HELP_STRING([--enable-amtjtagaccel], [Enable building the Amontec JTAG-Accelerator driver]),
[build_amtjtagaccel=$enableval], [build_amtjtagaccel=no])
@@ -577,19 +577,6 @@ AS_IF([test "x$parport_use_giveio" = "xyes"], [
AC_DEFINE([PARPORT_USE_GIVEIO], [0], [0 if you don't want parport to use giveio.])
])
-AS_IF([test "x$build_jtag_vpi" = "xyes"], [
- AC_DEFINE([BUILD_JTAG_VPI], [1], [1 if you want JTAG VPI.])
-], [
- AC_DEFINE([BUILD_JTAG_VPI], [0], [0 if you don't want JTAG VPI.])
-])
-
-AS_IF([test "x$build_jtag_dpi" = "xyes"], [
- AC_DEFINE([BUILD_JTAG_DPI], [1], [1 if you want JTAG DPI.])
-], [
- AC_DEFINE([BUILD_JTAG_DPI], [0], [0 if you don't want JTAG DPI.])
-])
-
-
AS_IF([test "x$build_amtjtagaccel" = "xyes"], [
AC_DEFINE([BUILD_AMTJTAGACCEL], [1], [1 if you want the Amontec JTAG-Accelerator driver.])
], [
@@ -735,6 +722,8 @@ PROCESS_ADAPTERS([SERIAL_PORT_ADAPTERS], ["x$can_build_buspirate" = "xyes"],
[internal error: validation should happen beforehand])
PROCESS_ADAPTERS([LINUXSPIDEV_ADAPTER], ["x$is_linux" = "xyes"], [Linux spidev])
PROCESS_ADAPTERS([VDEBUG_ADAPTER], [true], [unused])
+PROCESS_ADAPTERS([JTAG_DPI_ADAPTER], [true], [unused])
+PROCESS_ADAPTERS([JTAG_VPI_ADAPTER], [true], [unused])
PROCESS_ADAPTERS([DUMMY_ADAPTER], [true], [unused])
AS_IF([test "x$enable_linuxgpiod" != "xno"], [
@@ -782,8 +771,6 @@ AM_CONDITIONAL([BCM2835GPIO], [test "x$build_bcm2835gpio" = "xyes"])
AM_CONDITIONAL([IMX_GPIO], [test "x$build_imx_gpio" = "xyes"])
AM_CONDITIONAL([AM335XGPIO], [test "x$build_am335xgpio" = "xyes"])
AM_CONDITIONAL([BITBANG], [test "x$build_bitbang" = "xyes"])
-AM_CONDITIONAL([JTAG_VPI], [test "x$build_jtag_vpi" = "xyes"])
-AM_CONDITIONAL([JTAG_DPI], [test "x$build_jtag_dpi" = "xyes"])
AM_CONDITIONAL([USB_BLASTER_DRIVER], [test "x$enable_usb_blaster" != "xno" -o "x$enable_usb_blaster_2" != "xno"])
AM_CONDITIONAL([AMTJTAGACCEL], [test "x$build_amtjtagaccel" = "xyes"])
AM_CONDITIONAL([GW16012], [test "x$build_gw16012" = "xyes"])
@@ -889,6 +876,8 @@ m4_foreach([adapter], [USB1_ADAPTERS,
LIBJAYLINK_ADAPTERS, PCIE_ADAPTERS, SERIAL_PORT_ADAPTERS,
LINUXSPIDEV_ADAPTER,
VDEBUG_ADAPTER,
+ JTAG_DPI_ADAPTER,
+ JTAG_VPI_ADAPTER,
DUMMY_ADAPTER,
OPTIONAL_LIBRARIES,
COVERAGE],
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 35 ++++++++++++-----------------------
1 file changed, 12 insertions(+), 23 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-15 10:18:45
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 16c6497a89600ab8e8b354e2fc2c0ceb9ae74330 (commit)
from d892a4d763c283ca775213d4148b76d5b0fde520 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 16c6497a89600ab8e8b354e2fc2c0ceb9ae74330
Author: Evgeniy Naydanov <evg...@sy...>
Date: Fri Feb 14 19:31:38 2025 +0300
rtos/linux: fix name overwrite in `linux_thread_extra_info()`
commit 908ee4dc9641bd3df2eb00264575501867da539d ("build: remove clang
unused variable assignment warnings") introduced an error:
```
- tmp_str_ptr += sprintf(tmp_str_ptr, "%s", name);
+ sprintf(tmp_str_ptr, "%s", name);
sprintf(tmp_str_ptr, "%s", temp->name);
```
This results in `name` being overwritten by `temp->name`.
Fix this, adding OOM handling along the way.
Change-Id: Id41f73247c3f7e6194d7c92187ad3163a9ea6c89
Signed-off-by: Evgeniy Naydanov <evg...@sy...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8761
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/src/rtos/linux.c b/src/rtos/linux.c
index 91d9a39f2..5efdc9f60 100644
--- a/src/rtos/linux.c
+++ b/src/rtos/linux.c
@@ -1120,23 +1120,13 @@ static int linux_thread_extra_info(struct target *target,
while (temp) {
if (temp->threadid == threadid) {
- char *pid = " PID: ";
- char *pid_current = "*PID: ";
- char *name = "Name: ";
- int str_size = strlen(pid) + strlen(name);
- char *tmp_str = calloc(1, str_size + 50);
- char *tmp_str_ptr = tmp_str;
-
- /* discriminate current task */
- if (temp->status == 3)
- tmp_str_ptr += sprintf(tmp_str_ptr, "%s",
- pid_current);
- else
- tmp_str_ptr += sprintf(tmp_str_ptr, "%s", pid);
-
- tmp_str_ptr += sprintf(tmp_str_ptr, "%d, ", (int)temp->pid);
- sprintf(tmp_str_ptr, "%s", name);
- sprintf(tmp_str_ptr, "%s", temp->name);
+ char *tmp_str = alloc_printf("%cPID: %" PRIu32 ", Name: %s",
+ temp->status == 3 ? '*' : ' ',
+ temp->pid, temp->name);
+ if (!tmp_str) {
+ LOG_ERROR("Out of memory");
+ return ERROR_FAIL;
+ }
char *hex_str = calloc(1, strlen(tmp_str) * 2 + 1);
size_t pkt_len = hexify(hex_str, (const uint8_t *)tmp_str,
strlen(tmp_str), strlen(tmp_str) * 2 + 1);
-----------------------------------------------------------------------
Summary of changes:
src/rtos/linux.c | 24 +++++++-----------------
1 file changed, 7 insertions(+), 17 deletions(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-15 10:17:51
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via d892a4d763c283ca775213d4148b76d5b0fde520 (commit)
from 80b1c9aff8ad450839859e4a29559f6bdc481891 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d892a4d763c283ca775213d4148b76d5b0fde520
Author: Marc Schink <de...@za...>
Date: Wed Dec 4 08:26:04 2024 +0100
target/arm_adiv5: print DAP name if not found
If a DAP is not found, include its name in the error message.
Change-Id: Icffc52894a1c5573f938b1f3e3b53441167f085e
Signed-off-by: Marc Schink <de...@za...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8636
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/src/target/arm_adi_v5.c b/src/target/arm_adi_v5.c
index 0c7633bea..df897b80e 100644
--- a/src/target/arm_adi_v5.c
+++ b/src/target/arm_adi_v5.c
@@ -2367,7 +2367,9 @@ static int adiv5_jim_spot_configure(struct jim_getopt_info *goi,
return e;
dap = dap_instance_by_jim_obj(goi->interp, o_t);
if (!dap) {
- Jim_SetResultString(goi->interp, "DAP name invalid!", -1);
+ const char *dap_name = Jim_GetString(o_t, NULL);
+ Jim_SetResultFormatted(goi->interp, "DAP '%s' not found",
+ dap_name);
return JIM_ERR;
}
if (*dap_p && *dap_p != dap) {
-----------------------------------------------------------------------
Summary of changes:
src/target/arm_adi_v5.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-15 10:16:58
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 80b1c9aff8ad450839859e4a29559f6bdc481891 (commit)
from da7e369266b7b5e1fea4e2baa072dac8ce15217b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 80b1c9aff8ad450839859e4a29559f6bdc481891
Author: Shivasharan Nagalikar <shi...@ti...>
Date: Fri Feb 21 16:33:37 2025 +0530
tcl/board: Add TI AM261 launchpad config
Add basic connection details with AM261 Launchpad.
For further details, see https://www.ti.com/tool/LP-AM261
Signed-off-by: Shivasharan Nagalikar <shi...@ti...>
Change-Id: Ibf1270a8e470cc6ab5846dc3da64e451a8a769fd
Reviewed-on: https://review.openocd.org/c/openocd/+/8793
Reviewed-by: Antonio Borneo <bor...@gm...>
Tested-by: jenkins
Reviewed-by: Nishanth Menon <nm...@ti...>
diff --git a/tcl/board/ti_am261_launchpad.cfg b/tcl/board/ti_am261_launchpad.cfg
new file mode 100644
index 000000000..c6c4609ed
--- /dev/null
+++ b/tcl/board/ti_am261_launchpad.cfg
@@ -0,0 +1,25 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright (C) 2025 Texas Instruments Incorporated - https://www.ti.com/
+#
+# Texas Instruments AM261 Launchpad
+# https://www.ti.com/tool/LP-AM261
+#
+
+# AM263 Launchpad has an xds110 onboard.
+source [find interface/xds110.cfg]
+
+transport select jtag
+
+# default JTAG configuration has only SRST and no TRST
+reset_config srst_only srst_push_pull
+
+# delay after SRST goes inactive
+adapter srst delay 20
+
+if { ![info exists SOC] } {
+ set SOC am261
+}
+
+source [find target/ti_k3.cfg]
+
+adapter speed 250
-----------------------------------------------------------------------
Summary of changes:
tcl/board/{ti_am263p_launchpad.cfg => ti_am261_launchpad.cfg} | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
copy tcl/board/{ti_am263p_launchpad.cfg => ti_am261_launchpad.cfg} (75%)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-15 10:16:24
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via da7e369266b7b5e1fea4e2baa072dac8ce15217b (commit)
from c00228468cc039437bae5e41df3df4aa793e6a52 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit da7e369266b7b5e1fea4e2baa072dac8ce15217b
Author: Shivasharan Nagalikar <shi...@ti...>
Date: Wed Feb 19 13:58:43 2025 +0530
tcl/target/ti_k3: Add support for AM261
AM261[1] is a optimized cutdown of AM263P SoC. The key difference is
the reduced number of R5F cores which is now dropped down to 2, and
the DIE ID is different from AM263p, but all other definitions are
compatible, so reuse the definition.
[1] https://www.ti.com/product/AM2612
Change-Id: Ib6ca0b59d0b8991df6e4ab349d371187438cb393
Signed-off-by: Shivasharan Nagalikar <shi...@ti...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8792
Reviewed-by: Antonio Borneo <bor...@gm...>
Reviewed-by: Nishanth Menon <nm...@ti...>
Tested-by: jenkins
diff --git a/tcl/target/ti_k3.cfg b/tcl/target/ti_k3.cfg
index 2feffb92e..0dee74e5e 100644
--- a/tcl/target/ti_k3.cfg
+++ b/tcl/target/ti_k3.cfg
@@ -4,6 +4,8 @@
# Texas Instruments K3 devices:
# * AM243: https://www.ti.com/lit/pdf/spruim2
# Has 4 R5 Cores, M4F and an M3
+# * AM261: https://www.ti.com/lit/pdf/sprujb6
+# Has 2 R5 Cores and an M4F
# * AM263: https://www.ti.com/lit/pdf/spruj17
# Has 4 R5 Cores and an M3
# * AM263P: https://www.ti.com/lit/pdf/spruj55
@@ -89,6 +91,7 @@ set _powerap_sprec_reset 0xf0
# Set configuration overrides for each SOC
switch $_soc {
+ am261 -
am263p -
am263 {
set _K3_DAP_TAPID 0x2bb7d02f
@@ -111,6 +114,10 @@ switch $_soc {
if { "$_soc" == "am263p" } {
set _K3_DAP_TAPID 0x1bb9502f
}
+ if { "$_soc" == "am261" } {
+ set _K3_DAP_TAPID 0x1bba602f
+ set _r5_cores 2
+ }
}
am273 {
set _K3_DAP_TAPID 0x1bb6a02f
-----------------------------------------------------------------------
Summary of changes:
tcl/target/ti_k3.cfg | 7 +++++++
1 file changed, 7 insertions(+)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-15 10:16:05
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via c00228468cc039437bae5e41df3df4aa793e6a52 (commit)
from 9e5ffed7d6f045f86a35beab461018bab2c1da0c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c00228468cc039437bae5e41df3df4aa793e6a52
Author: Shivasharan Nagalikar <shi...@ti...>
Date: Fri Feb 21 16:31:03 2025 +0530
tcl/board: Add TI AM263P launchpad config
Add basic connection details with AM263P Launchpad
For further details, see: https://www.ti.com/tool/LP-AM263P
Change-Id: I7232a0b9337583eab499bc72929bd059624b4ff1
Signed-off-by: Shivasharan Nagalikar <shi...@ti...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8771
Reviewed-by: Antonio Borneo <bor...@gm...>
Reviewed-by: Nishanth Menon <nm...@ti...>
Tested-by: jenkins
diff --git a/tcl/board/ti_am263p_launchpad.cfg b/tcl/board/ti_am263p_launchpad.cfg
new file mode 100644
index 000000000..96e06fab6
--- /dev/null
+++ b/tcl/board/ti_am263p_launchpad.cfg
@@ -0,0 +1,25 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright (C) 2025 Texas Instruments Incorporated - https://www.ti.com/
+#
+# Texas Instruments AM263P Launchpad
+# https://www.ti.com/tool/LP-AM263P
+#
+
+# AM263P Launchpad has an xds110 onboard.
+source [find interface/xds110.cfg]
+
+transport select jtag
+
+# default JTAG configuration has only SRST and no TRST
+reset_config srst_only srst_push_pull
+
+# delay after SRST goes inactive
+adapter srst delay 20
+
+if { ![info exists SOC] } {
+ set SOC am263p
+}
+
+source [find target/ti_k3.cfg]
+
+adapter speed 250
-----------------------------------------------------------------------
Summary of changes:
tcl/board/{ti_am62levm.cfg => ti_am263p_launchpad.cfg} | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
copy tcl/board/{ti_am62levm.cfg => ti_am263p_launchpad.cfg} (72%)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-15 10:15:45
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 9e5ffed7d6f045f86a35beab461018bab2c1da0c (commit)
via a2c3c791ad86b12f7a689697166c46cb60db3c8b (commit)
via a8555b0b6d3e3c3150786550686292b1e69ec985 (commit)
from 5300242a3edad9924ed75119320e0fccc5afd614 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 9e5ffed7d6f045f86a35beab461018bab2c1da0c
Author: Shivasharan Nagalikar <shi...@ti...>
Date: Wed Feb 19 13:57:35 2025 +0530
tcl/target/ti_k3: Add support for AM263P
AM263P[1] adds additional features to AM263 SoC. [2] provides a
detailed list of differences, however, the key difference from
processor usage perspective is the increased SRAM and Remote L2(RL2)
Cache for improved performance of R5F. To differentiate the DIE ID
is different, however rest of the processor description remain
compatible to AM263, hence reuse the definition.
[1] https://www.ti.com/product/AM263P4
[2] https://www.ti.com/lit/pdf/spradb3
Change-Id: If47935caf1f995d7e606547e0d6545c39544678a
Signed-off-by: Shivasharan Nagalikar <shi...@ti...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8770
Reviewed-by: Nishanth Menon <nm...@ti...>
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/tcl/target/ti_k3.cfg b/tcl/target/ti_k3.cfg
index dbf8962cb..2feffb92e 100644
--- a/tcl/target/ti_k3.cfg
+++ b/tcl/target/ti_k3.cfg
@@ -6,6 +6,8 @@
# Has 4 R5 Cores, M4F and an M3
# * AM263: https://www.ti.com/lit/pdf/spruj17
# Has 4 R5 Cores and an M3
+# * AM263P: https://www.ti.com/lit/pdf/spruj55
+# Has 4 R5 Cores and an M4F
# * AM273: https://www.ti.com/lit/pdf/spruiu0
# Has 2 R5 Cores and an M3
# * AM625: https://www.ti.com/lit/pdf/spruiv7a
@@ -87,6 +89,7 @@ set _powerap_sprec_reset 0xf0
# Set configuration overrides for each SOC
switch $_soc {
+ am263p -
am263 {
set _K3_DAP_TAPID 0x2bb7d02f
@@ -104,6 +107,10 @@ switch $_soc {
set _r5_ap_num 5
set _power_ap_num 7
+
+ if { "$_soc" == "am263p" } {
+ set _K3_DAP_TAPID 0x1bb9502f
+ }
}
am273 {
set _K3_DAP_TAPID 0x1bb6a02f
commit a2c3c791ad86b12f7a689697166c46cb60db3c8b
Author: Shivasharan Nagalikar <shi...@ti...>
Date: Wed Feb 19 13:53:03 2025 +0530
tcl/target/ti_k3: Add support for system reset using powerAP
TI K3 Debug systems have a Power Access Port (Power-AP) which allows
for functionality such as reset via debugger that using the SPREC
register. SoCs/Boards that do not have support for SRST or TRST can
make use of this to force a system reset via debug access.
Change-Id: Ic5f9cc7f7fba77b353b0c0b42d8afc02502251a0
Signed-off-by: Shivasharan Nagalikar <shi...@ti...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8769
Reviewed-by: Nishanth Menon <nm...@ti...>
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/tcl/target/ti_k3.cfg b/tcl/target/ti_k3.cfg
index b033ca978..dbf8962cb 100644
--- a/tcl/target/ti_k3.cfg
+++ b/tcl/target/ti_k3.cfg
@@ -79,6 +79,12 @@ set _gp_mcu_ap_unlock_offsets {0xf0 0x60}
# Generic mem-ap port number
set _mem_ap_num 2
+# Generic AP_SEL PWR Register number
+set _power_ap_num 3
+
+# Generic SPREC RESET BANK and Field number
+set _powerap_sprec_reset 0xf0
+
# Set configuration overrides for each SOC
switch $_soc {
am263 {
@@ -96,6 +102,8 @@ switch $_soc {
set R5_DBGBASE {0x90030000 0x90032000 0x90050000 0x90052000}
set R5_CTIBASE {0x90038000 0x90039000 0x90058000 0x90059000}
set _r5_ap_num 5
+
+ set _power_ap_num 7
}
am273 {
set _K3_DAP_TAPID 0x1bb6a02f
@@ -513,3 +521,10 @@ if { 0 == [string compare [adapter name] dmem ] } {
# AXI AP access port for SoC address map
target create $_CHIPNAME.axi_ap mem_ap -dap $_CHIPNAME.dap -ap-num $_mem_ap_num
}
+
+# Reset system using (Debug Reset) SPREC Register,SYSTEMRESET bit field via apreg
+proc dbg_sys_reset {} {
+ $::_CHIPNAME.dap apreg $::_power_ap_num $::_powerap_sprec_reset 0x1
+}
+
+add_help_text dbg_sys_reset "Debugger initiated system reset attempt via Power-AP"
commit a8555b0b6d3e3c3150786550686292b1e69ec985
Author: Nishanth Menon <nm...@ti...>
Date: Mon Mar 3 06:57:23 2025 -0600
tcl/board: Add TI am62levm config
Add basic connection details with AM62l SK/EVM
For further details, see: https://www.ti.com/tool/TMDS62LEVM
Change-Id: Ic957a904dfe01951396f9767479884f2a121b181
Co-developed-by: Bryan Brattlof <bb...@ti...>
Signed-off-by: Bryan Brattlof <bb...@ti...>
Signed-off-by: Nishanth Menon <nm...@ti...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8799
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/tcl/board/ti_am62levm.cfg b/tcl/board/ti_am62levm.cfg
new file mode 100644
index 000000000..6debdd49f
--- /dev/null
+++ b/tcl/board/ti_am62levm.cfg
@@ -0,0 +1,25 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright (C) 2025 Texas Instruments Incorporated - https://www.ti.com/
+#
+# Texas Instruments AM62L EVM:
+# Links: https://www.ti.com/tool/TMDS62LEVM
+#
+
+# the AM62L3 EVM/SK has an xds110 onboard.
+source [find interface/xds110.cfg]
+
+transport select jtag
+
+# default JTAG configuration has only SRST and no TRST
+reset_config srst_only srst_push_pull
+
+# delay after SRST goes inactive
+adapter srst delay 20
+
+if { ![info exists SOC] } {
+ set SOC am62l
+}
+
+source [find target/ti_k3.cfg]
+
+adapter speed 2500
-----------------------------------------------------------------------
Summary of changes:
tcl/board/{ti_j722sevm.cfg => ti_am62levm.cfg} | 9 +++++----
tcl/target/ti_k3.cfg | 22 ++++++++++++++++++++++
2 files changed, 27 insertions(+), 4 deletions(-)
copy tcl/board/{ti_j722sevm.cfg => ti_am62levm.cfg} (63%)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-15 10:15:19
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via 5300242a3edad9924ed75119320e0fccc5afd614 (commit)
from f5dd564a7b089f7918dd0a93d04fd62ae1a79de5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 5300242a3edad9924ed75119320e0fccc5afd614
Author: Nishanth Menon <nm...@ti...>
Date: Mon Mar 3 06:47:28 2025 -0600
tcl/target/ti_k3: Add AM62L SoC
Add support for the TI K3 family AM62L SoC.
For further details, see https://www.ti.com/lit/pdf/sprujb4
Change-Id: I31e4e89507a1cd70a8c8c3242dd0a9dd7d0f2a06
Co-developed-by: Bryan Brattlof <bb...@ti...>
Signed-off-by: Bryan Brattlof <bb...@ti...>
Signed-off-by: Nishanth Menon <nm...@ti...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8798
Tested-by: jenkins
Reviewed-by: Bryan Brattlof <bry...@gm...>
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/tcl/target/ti_k3.cfg b/tcl/target/ti_k3.cfg
index 2ae0f75b8..b033ca978 100644
--- a/tcl/target/ti_k3.cfg
+++ b/tcl/target/ti_k3.cfg
@@ -14,6 +14,8 @@
# Has 4 ARMV8 Cores and 2 R5 Cores
# * AM62P: https://www.ti.com/lit/pdf/spruj83
# Has 4 ARMV8 Cores and 2 R5 Cores
+# * AM62L: https://www.ti.com/lit/pdf/sprujb4
+# Has 2 ARMv8 Cores only
# * AM642: https://www.ti.com/lit/pdf/spruim2
# Has 2 ARMV8 Cores and 4 R5 Cores, M4F and an M3
# * AM654x: https://www.ti.com/lit/pdf/spruid7
@@ -233,6 +235,18 @@ switch $_soc {
set R5_CTIBASE {0x9d418000 0x9d518000 0x9d818000}
}
}
+ am62l {
+ set _K3_DAP_TAPID 0x0bba702f
+
+ # AM62Lx has 1 cluster of 2 A53 cores.
+ set _armv8_cpu_name a53
+ set _armv8_cores 2
+ set ARMV8_DBGBASE {0x90010000 0x90110000}
+ set ARMV8_CTIBASE {0x90020000 0x90120000}
+
+ # Has no supporting microcontrollers
+ set _r5_cores 0
+ }
j721e {
set _K3_DAP_TAPID 0x0bb6402f
# J721E has 1 cluster of 2 A72 cores.
-----------------------------------------------------------------------
Summary of changes:
tcl/target/ti_k3.cfg | 14 ++++++++++++++
1 file changed, 14 insertions(+)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-09 13:28:07
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via f5dd564a7b089f7918dd0a93d04fd62ae1a79de5 (commit)
from b2016dc44319ec6a872efbb656d32999f6732382 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit f5dd564a7b089f7918dd0a93d04fd62ae1a79de5
Author: Daniel Goehring <dgo...@os...>
Date: Thu Mar 6 10:55:20 2025 -0500
target/armv8: fix 128-bit register writes
Assert checking was recently added to the "buf_get_u64()"
procedure for the buffer size argument.
For 128-bit register writes, instead of calling "buf_get_u64()" with
a 128-bit argument which fails the assert check, use two 64-bit calls.
Change-Id: I32ddbdb7bbe68c43f3b0a27738537391a227b08c
Signed-off-by: Daniel Goehring <dgo...@os...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8801
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/src/target/armv8.c b/src/target/armv8.c
index 50a9f4688..40390731e 100644
--- a/src/target/armv8.c
+++ b/src/target/armv8.c
@@ -1686,12 +1686,12 @@ static int armv8_set_core_reg(struct reg *reg, uint8_t *buf)
struct arm_reg *armv8_reg = reg->arch_info;
struct target *target = armv8_reg->target;
struct arm *arm = target_to_arm(target);
- uint64_t value = buf_get_u64(buf, 0, reg->size);
if (target->state != TARGET_HALTED)
return ERROR_TARGET_NOT_HALTED;
if (reg->size <= 64) {
+ uint64_t value = buf_get_u64(buf, 0, reg->size);
if (reg == arm->cpsr)
armv8_set_cpsr(arm, (uint32_t)value);
else {
@@ -1699,6 +1699,7 @@ static int armv8_set_core_reg(struct reg *reg, uint8_t *buf)
reg->valid = true;
}
} else if (reg->size <= 128) {
+ uint64_t value = buf_get_u64(buf, 0, 64);
uint64_t hvalue = buf_get_u64(buf + 8, 0, reg->size - 64);
buf_set_u64(reg->value, 0, 64, value);
-----------------------------------------------------------------------
Summary of changes:
src/target/armv8.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
hooks/post-receive
--
Main OpenOCD repository
|
|
From: openocd-gerrit <ope...@us...> - 2025-03-09 13:27:48
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Main OpenOCD repository".
The branch, master has been updated
via b2016dc44319ec6a872efbb656d32999f6732382 (commit)
via b7ad702bc884e6c37002b41afcac1dfdb6b030ee (commit)
from c81cb4aa2d2b85a513f58d2ddbc492f606473c77 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit b2016dc44319ec6a872efbb656d32999f6732382
Author: Daniel Goehring <dgo...@os...>
Date: Wed Mar 5 17:48:01 2025 -0500
target/target: fix RTOS thread awareness support
This prior patch replaces "LOG_xxx()" with "LOG_TARGET_xxx()"
to indicate which target the message belongs to.
commit 7f2db80ebc16 ("rtos/hwthread: Use LOG_TARGET_xxx()")
To support this change for hardware thread awareness,
the target command name needs to be established before
calling the "target_configure()" routine.
Change-Id: I0dc70c23b84e983a2ee694fb5b9d01758f5c84a3
Signed-off-by: Daniel Goehring <dgo...@os...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8800
Tested-by: jenkins
Reviewed-by: Antonio Borneo <bor...@gm...>
diff --git a/src/target/target.c b/src/target/target.c
index 0e41f0d10..ce468cc90 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -5829,6 +5829,16 @@ static int target_create(struct jim_getopt_info *goi)
target->gdb_port_override = NULL;
target->gdb_max_connections = 1;
+ cp = Jim_GetString(new_cmd, NULL);
+ target->cmd_name = strdup(cp);
+ if (!target->cmd_name) {
+ LOG_ERROR("Out of memory");
+ free(target->trace_info);
+ free(target->type);
+ free(target);
+ return JIM_ERR;
+ }
+
/* Do the rest as "configure" options */
goi->is_configure = true;
e = target_configure(goi, target);
@@ -5865,19 +5875,6 @@ static int target_create(struct jim_getopt_info *goi)
target->endianness = TARGET_LITTLE_ENDIAN;
}
- cp = Jim_GetString(new_cmd, NULL);
- target->cmd_name = strdup(cp);
- if (!target->cmd_name) {
- LOG_ERROR("Out of memory");
- rtos_destroy(target);
- free(target->gdb_port_override);
- free(target->trace_info);
- free(target->type);
- free(target->private_config);
- free(target);
- return JIM_ERR;
- }
-
if (target->type->target_create) {
e = (*(target->type->target_create))(target, goi->interp);
if (e != ERROR_OK) {
commit b7ad702bc884e6c37002b41afcac1dfdb6b030ee
Author: Nishanth Menon <nm...@ti...>
Date: Thu Sep 28 03:37:03 2023 -0500
tcl/board: Add MSPM0 Launchpad support
Add basic connection details for TI's MSPM0 Launchpad series of
evaluation kits:
https://www.ti.com/tool/LP-MSPM0L1306
https://www.ti.com/tool/LP-MSPM0C1104
https://www.ti.com/tool/LP-MSPM0G3507
Change-Id: I33499f2d5fef846185ff6c330f9bfd0251117eb6
Co-developed-by: Henry Nguyen <h-n...@ti...>
Signed-off-by: Henry Nguyen <h-n...@ti...>
Signed-off-by: Nishanth Menon <nm...@ti...>
Reviewed-on: https://review.openocd.org/c/openocd/+/8386
Reviewed-by: Antonio Borneo <bor...@gm...>
Tested-by: jenkins
diff --git a/tcl/board/ti_mspm0_launchpad.cfg b/tcl/board/ti_mspm0_launchpad.cfg
new file mode 100644
index 000000000..132fdc2a3
--- /dev/null
+++ b/tcl/board/ti_mspm0_launchpad.cfg
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright (C) 2023-2025 Texas Instruments Incorporated - https://www.ti.com/
+#
+# TI MSPM0L1306 LaunchPad Evaluation Kit
+# https://www.ti.com/tool/LP-MSPM0L1306
+# TI MSPM0C1104 LaunchPad Evaluation Kit
+# https://www.ti.com/tool/LP-MSPM0C1104
+# TI MSPM0G3507 LaunchPad Evaluation Kit
+# https://www.ti.com/tool/LP-MSPM0G3507
+#
+
+source [find interface/xds110.cfg]
+adapter speed 10000
+source [find target/ti_mspm0.cfg]
-----------------------------------------------------------------------
Summary of changes:
src/target/target.c | 23 ++++++++++-------------
tcl/board/ti_mspm0_launchpad.cfg | 14 ++++++++++++++
2 files changed, 24 insertions(+), 13 deletions(-)
create mode 100644 tcl/board/ti_mspm0_launchpad.cfg
hooks/post-receive
--
Main OpenOCD repository
|