target: move all working_area functions to one block
The block of code moved without any changes Change-Id: I70b82dc3315dcc3f34de0537b362bee230007d02 Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: http://openocd.zylin.com/4796 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
This commit is contained in:
parent
936dc7cbd9
commit
71eeda5da1
|
@ -1919,6 +1919,57 @@ int target_free_working_area(struct target *target, struct working_area *area)
|
|||
return target_free_working_area_restore(target, area, 1);
|
||||
}
|
||||
|
||||
/* free resources and restore memory, if restoring memory fails,
|
||||
* free up resources anyway
|
||||
*/
|
||||
static void target_free_all_working_areas_restore(struct target *target, int restore)
|
||||
{
|
||||
struct working_area *c = target->working_areas;
|
||||
|
||||
LOG_DEBUG("freeing all working areas");
|
||||
|
||||
/* Loop through all areas, restoring the allocated ones and marking them as free */
|
||||
while (c) {
|
||||
if (!c->free) {
|
||||
if (restore)
|
||||
target_restore_working_area(target, c);
|
||||
c->free = true;
|
||||
*c->user = NULL; /* Same as above */
|
||||
c->user = NULL;
|
||||
}
|
||||
c = c->next;
|
||||
}
|
||||
|
||||
/* Run a merge pass to combine all areas into one */
|
||||
target_merge_working_areas(target);
|
||||
|
||||
print_wa_layout(target);
|
||||
}
|
||||
|
||||
void target_free_all_working_areas(struct target *target)
|
||||
{
|
||||
target_free_all_working_areas_restore(target, 1);
|
||||
}
|
||||
|
||||
/* Find the largest number of bytes that can be allocated */
|
||||
uint32_t target_get_working_area_avail(struct target *target)
|
||||
{
|
||||
struct working_area *c = target->working_areas;
|
||||
uint32_t max_size = 0;
|
||||
|
||||
if (c == NULL)
|
||||
return target->working_area_size;
|
||||
|
||||
while (c) {
|
||||
if (c->free && max_size < c->size)
|
||||
max_size = c->size;
|
||||
|
||||
c = c->next;
|
||||
}
|
||||
|
||||
return max_size;
|
||||
}
|
||||
|
||||
static void target_destroy(struct target *target)
|
||||
{
|
||||
if (target->type->deinit_target)
|
||||
|
@ -1993,57 +2044,6 @@ void target_quit(void)
|
|||
all_targets = NULL;
|
||||
}
|
||||
|
||||
/* free resources and restore memory, if restoring memory fails,
|
||||
* free up resources anyway
|
||||
*/
|
||||
static void target_free_all_working_areas_restore(struct target *target, int restore)
|
||||
{
|
||||
struct working_area *c = target->working_areas;
|
||||
|
||||
LOG_DEBUG("freeing all working areas");
|
||||
|
||||
/* Loop through all areas, restoring the allocated ones and marking them as free */
|
||||
while (c) {
|
||||
if (!c->free) {
|
||||
if (restore)
|
||||
target_restore_working_area(target, c);
|
||||
c->free = true;
|
||||
*c->user = NULL; /* Same as above */
|
||||
c->user = NULL;
|
||||
}
|
||||
c = c->next;
|
||||
}
|
||||
|
||||
/* Run a merge pass to combine all areas into one */
|
||||
target_merge_working_areas(target);
|
||||
|
||||
print_wa_layout(target);
|
||||
}
|
||||
|
||||
void target_free_all_working_areas(struct target *target)
|
||||
{
|
||||
target_free_all_working_areas_restore(target, 1);
|
||||
}
|
||||
|
||||
/* Find the largest number of bytes that can be allocated */
|
||||
uint32_t target_get_working_area_avail(struct target *target)
|
||||
{
|
||||
struct working_area *c = target->working_areas;
|
||||
uint32_t max_size = 0;
|
||||
|
||||
if (c == NULL)
|
||||
return target->working_area_size;
|
||||
|
||||
while (c) {
|
||||
if (c->free && max_size < c->size)
|
||||
max_size = c->size;
|
||||
|
||||
c = c->next;
|
||||
}
|
||||
|
||||
return max_size;
|
||||
}
|
||||
|
||||
int target_arch_state(struct target *target)
|
||||
{
|
||||
int retval;
|
||||
|
|
Loading…
Reference in New Issue