69 if (end != 0 && end <= r->begin)
72 claimed_begin =
max (begin, r->
begin);
76 claimed_end =
min (end, r->
end);
78 if (claimed_begin == r->
begin && claimed_end == r->
end)
86 n->
begin = claimed_begin;
120 cur_address = region->
hi;
123 if (cur_address == 0)
143 *begin = address / blocksize * blocksize;
145 *end = (address + blocksize - 1) / blocksize * blocksize;
217 for (j = 0; j != je;)
245 && written->
end >= erased.
end)
269 if (written->
end < erased.
end)
310 void (*progress_cb) (
ULONGEST,
void *))
349 erased = blocks_to_erase (flash);
354 garbled = compute_garbled_blocks (erased, flash);
401 progress_cb, r->
baton);
425 progress_cb, r->
baton);
427 error (
_(
"Error writing data to flash"));
static void block_boundaries(CORE_ADDR address, CORE_ADDR *begin, CORE_ADDR *end)
int target_write_memory_blocks(VEC(memory_write_request_s)*requests, enum flash_preserve_mode preserve_flash_p, void(*progress_cb)(ULONGEST, void *))
#define VEC_safe_push(T, V, O)
static void split_regular_and_flash_blocks(VEC(memory_write_request_s)*blocks, VEC(memory_write_request_s)**regular_blocks, VEC(memory_write_request_s)**flash_blocks)
void null_cleanup(void *arg)
static VEC(memory_write_request_s)
#define VEC_iterate(T, V, I, P)
void target_flash_erase(ULONGEST address, LONGEST length)
struct target_ops current_target
mach_port_t mach_port_t name mach_port_t mach_port_t name error_t err
struct mem_region * lookup_mem_region(CORE_ADDR addr)
static void cleanup_write_requests_vector(void *p)
struct cleanup * make_cleanup(make_cleanup_ftype *function, void *arg)
#define VEC_index(T, V, I)
static int compare_block_starting_address(const void *a, const void *b)
int target_read_memory(CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
static void cleanup_request_data(void *p)
#define VEC_address(T, V)
LONGEST target_write_with_progress(struct target_ops *ops, enum target_object object, const char *annex, const gdb_byte *buf, ULONGEST offset, LONGEST len, void(*progress)(ULONGEST, void *), void *baton)
unsigned long long ULONGEST
static void claim_memory(VEC(memory_write_request_s)*blocks, VEC(memory_write_request_s)**result, ULONGEST begin, ULONGEST end)
void error(const char *fmt,...)
struct target_ops * beneath
void do_cleanups(struct cleanup *old_chain)
void target_flash_done(void)
enum mem_access_mode mode
const ULONGEST const LONGEST len