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, v0.3.1 has been created
at c6ac97cf3b95ad5a9582ad6e6ea159d9d2aa9e1b (commit)
- Log -----------------------------------------------------------------
commit c6ac97cf3b95ad5a9582ad6e6ea159d9d2aa9e1b
Author: David Brownell <dbr...@us...>
Date: Fri Nov 6 15:10:26 2009 -0800
target: don't swap MMU/no-MMU work areas
Resolve serious bug inserted by the "target: require working
area for physical/virtual addresses to be specified" patch.
It forced use of (invalid) virtual addresses when the MMU
was disabled, and vice versa.
Observed to break at least Cortex-M3, ARM926, ARM7TDMI whenever
work areas are used, such as during bulk writes to flash, DDR2,
SRAM, and so on.
Also, fix overlong lines and whitespace goofs.
[ Backport from mainline a9abfa7d06dbcfded97b7fb41f50d3581c24fbae ]
Signed-off-by: David Brownell <dbr...@us...>
diff --git a/src/target/target.c b/src/target/target.c
index 9289d37..698b790 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -1040,32 +1040,33 @@ int target_alloc_working_area(struct target_s *target, uint32_t size, working_ar
{
int retval;
int enabled;
+
retval = target->type->mmu(target, &enabled);
if (retval != ERROR_OK)
{
return retval;
}
- if (enabled)
- {
- if (target->working_area_phys_spec)
- {
- LOG_DEBUG("MMU disabled, using physical address for working memory 0x%08x", (unsigned)target->working_area_phys);
+ if (!enabled) {
+ if (target->working_area_phys_spec) {
+ LOG_DEBUG("MMU disabled, using physical "
+ "address for working memory 0x%08x",
+ (unsigned)target->working_area_phys);
target->working_area = target->working_area_phys;
- } else
- {
- LOG_ERROR("No working memory available. Specify -work-area-phys to target.");
+ } else {
+ LOG_ERROR("No working memory available. "
+ "Specify -work-area-phys to target.");
return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
}
- } else
- {
- if (target->working_area_virt_spec)
- {
- LOG_DEBUG("MMU enabled, using virtual address for working memory 0x%08x", (unsigned)target->working_area_virt);
+ } else {
+ if (target->working_area_virt_spec) {
+ LOG_DEBUG("MMU enabled, using virtual "
+ "address for working memory 0x%08x",
+ (unsigned)target->working_area_virt);
target->working_area = target->working_area_virt;
- } else
- {
- LOG_ERROR("No working memory available. Specify -work-area-virt to target.");
+ } else {
+ LOG_ERROR("No working memory available. "
+ "Specify -work-area-virt to target.");
return ERROR_TARGET_RESOURCE_NOT_AVAILABLE;
}
}
commit 7de1c892cd9c59f135ff5fbeb4c070fa6ec795b2
Author: David Brownell <dbr...@us...>
Date: Fri Nov 6 15:05:03 2009 -0800
Start v0.3.1 bugfix branch
Add "-dev" tag, increment micro version.
Signed-off-by: David Brownell <dbr...@us...>
diff --git a/configure.in b/configure.in
index 08212e8..4f5733e 100644
--- a/configure.in
+++ b/configure.in
@@ -1,5 +1,5 @@
AC_PREREQ(2.60)
-AC_INIT([openocd], [0.3.0],
+AC_INIT([openocd], [0.3.1-dev],
[OpenOCD Mailing List <ope...@li...>])
AC_CONFIG_SRCDIR([src/openocd.c])
-----------------------------------------------------------------------
hooks/post-receive
--
Main OpenOCD repository
|