mips: remove dynamic arrays - reduces stack usage
Allocate working memory dynamically. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>__archive__
parent
2d6829d698
commit
af7f6891e9
|
@ -440,7 +440,7 @@ int mips32_pracc_read_mem16(struct mips_ejtag *ejtag_info, uint32_t addr, int co
|
||||||
};
|
};
|
||||||
|
|
||||||
// /* TODO remove array */
|
// /* TODO remove array */
|
||||||
uint32_t param_out[count];
|
uint32_t *param_out = malloc(count * sizeof(uint32_t));
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
// int retval;
|
// int retval;
|
||||||
|
@ -472,6 +472,8 @@ int mips32_pracc_read_mem16(struct mips_ejtag *ejtag_info, uint32_t addr, int co
|
||||||
buf[i] = param_out[i];
|
buf[i] = param_out[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
free(param_out);
|
||||||
|
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -519,7 +521,7 @@ int mips32_pracc_read_mem8(struct mips_ejtag *ejtag_info, uint32_t addr, int cou
|
||||||
};
|
};
|
||||||
|
|
||||||
// /* TODO remove array */
|
// /* TODO remove array */
|
||||||
uint32_t param_out[count];
|
uint32_t *param_out = malloc(count * sizeof(uint32_t));
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
// int retval;
|
// int retval;
|
||||||
|
@ -551,6 +553,8 @@ int mips32_pracc_read_mem8(struct mips_ejtag *ejtag_info, uint32_t addr, int cou
|
||||||
buf[i] = param_out[i];
|
buf[i] = param_out[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
free(param_out);
|
||||||
|
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -609,7 +613,7 @@ int mips32_pracc_write_mem32(struct mips_ejtag *ejtag_info, uint32_t addr, int c
|
||||||
};
|
};
|
||||||
|
|
||||||
/* TODO remove array */
|
/* TODO remove array */
|
||||||
uint32_t param_in[count + 2];
|
uint32_t *param_in = malloc((count + 2) * sizeof(uint32_t));
|
||||||
param_in[0] = addr;
|
param_in[0] = addr;
|
||||||
param_in[1] = addr + count * sizeof(uint32_t); //last address
|
param_in[1] = addr + count * sizeof(uint32_t); //last address
|
||||||
|
|
||||||
|
@ -618,6 +622,8 @@ int mips32_pracc_write_mem32(struct mips_ejtag *ejtag_info, uint32_t addr, int c
|
||||||
mips32_pracc_exec(ejtag_info, sizeof(code)/sizeof(code[0]), code, \
|
mips32_pracc_exec(ejtag_info, sizeof(code)/sizeof(code[0]), code, \
|
||||||
sizeof(param_in)/sizeof(param_in[0]),param_in, 0, NULL, 1);
|
sizeof(param_in)/sizeof(param_in[0]),param_in, 0, NULL, 1);
|
||||||
|
|
||||||
|
free(param_in);
|
||||||
|
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -698,7 +704,7 @@ int mips32_pracc_write_mem16(struct mips_ejtag *ejtag_info, uint32_t addr, int c
|
||||||
};
|
};
|
||||||
|
|
||||||
/* TODO remove array */
|
/* TODO remove array */
|
||||||
uint32_t param_in[count + 2];
|
uint32_t *param_in = malloc((count + 2) * sizeof(uint32_t));
|
||||||
int i;
|
int i;
|
||||||
param_in[0] = addr;
|
param_in[0] = addr;
|
||||||
param_in[1] = count;
|
param_in[1] = count;
|
||||||
|
@ -711,6 +717,8 @@ int mips32_pracc_write_mem16(struct mips_ejtag *ejtag_info, uint32_t addr, int c
|
||||||
mips32_pracc_exec(ejtag_info, sizeof(code)/sizeof(code[0]), code, \
|
mips32_pracc_exec(ejtag_info, sizeof(code)/sizeof(code[0]), code, \
|
||||||
sizeof(param_in)/sizeof(param_in[0]), param_in, 0, NULL, 1);
|
sizeof(param_in)/sizeof(param_in[0]), param_in, 0, NULL, 1);
|
||||||
|
|
||||||
|
free(param_in);
|
||||||
|
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -758,7 +766,7 @@ int mips32_pracc_write_mem8(struct mips_ejtag *ejtag_info, uint32_t addr, int co
|
||||||
};
|
};
|
||||||
|
|
||||||
/* TODO remove array */
|
/* TODO remove array */
|
||||||
uint32_t param_in[count + 2];
|
uint32_t *param_in = malloc((count + 2) * sizeof(uint32_t));
|
||||||
int retval;
|
int retval;
|
||||||
int i;
|
int i;
|
||||||
param_in[0] = addr;
|
param_in[0] = addr;
|
||||||
|
@ -772,6 +780,8 @@ int mips32_pracc_write_mem8(struct mips_ejtag *ejtag_info, uint32_t addr, int co
|
||||||
retval = mips32_pracc_exec(ejtag_info, sizeof(code)/sizeof(code[0]), code, \
|
retval = mips32_pracc_exec(ejtag_info, sizeof(code)/sizeof(code[0]), code, \
|
||||||
sizeof(param_in)/sizeof(param_in[0]), param_in, 0, NULL, 1);
|
sizeof(param_in)/sizeof(param_in[0]), param_in, 0, NULL, 1);
|
||||||
|
|
||||||
|
free(param_in);
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue