From: David B. <dbr...@us...> - 2009-11-07 00:14: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, 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 |