Target: minor cleanup
- improve some names -- a "default" prefix is not descriptive - add doxygen @todo entries for some issues - avr8 isn't ever going to need those MMU hooks Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
This commit is contained in:
parent
508e5c803f
commit
2a4d3c03cd
|
@ -94,10 +94,6 @@ target_type_t avr_target =
|
||||||
.register_commands = avr_register_commands,
|
.register_commands = avr_register_commands,
|
||||||
.target_create = avr_target_create,
|
.target_create = avr_target_create,
|
||||||
.init_target = avr_init_target,
|
.init_target = avr_init_target,
|
||||||
/*
|
|
||||||
.virt2phys = avr_virt2phys,
|
|
||||||
.mmu = avr_mmu
|
|
||||||
*/
|
|
||||||
};
|
};
|
||||||
|
|
||||||
int avr_register_commands(struct command_context_s *cmd_ctx)
|
int avr_register_commands(struct command_context_s *cmd_ctx)
|
||||||
|
|
|
@ -460,13 +460,14 @@ int target_process_reset(struct command_context_s *cmd_ctx, enum target_reset_mo
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int default_virt2phys(struct target_s *target, uint32_t virtual, uint32_t *physical)
|
static int identity_virt2phys(struct target_s *target,
|
||||||
|
uint32_t virtual, uint32_t *physical)
|
||||||
{
|
{
|
||||||
*physical = virtual;
|
*physical = virtual;
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int default_mmu(struct target_s *target, int *enabled)
|
static int no_mmu(struct target_s *target, int *enabled)
|
||||||
{
|
{
|
||||||
*enabled = 0;
|
*enabled = 0;
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
|
@ -738,7 +739,7 @@ int target_mcr(struct target_s *target, int cpnum, uint32_t op1, uint32_t op2, u
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
default_read_phys_memory(struct target_s *target, uint32_t address,
|
err_read_phys_memory(struct target_s *target, uint32_t address,
|
||||||
uint32_t size, uint32_t count, uint8_t *buffer)
|
uint32_t size, uint32_t count, uint8_t *buffer)
|
||||||
{
|
{
|
||||||
LOG_ERROR("Not implemented: %s", __func__);
|
LOG_ERROR("Not implemented: %s", __func__);
|
||||||
|
@ -746,7 +747,7 @@ default_read_phys_memory(struct target_s *target, uint32_t address,
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
default_write_phys_memory(struct target_s *target, uint32_t address,
|
err_write_phys_memory(struct target_s *target, uint32_t address,
|
||||||
uint32_t size, uint32_t count, uint8_t *buffer)
|
uint32_t size, uint32_t count, uint8_t *buffer)
|
||||||
{
|
{
|
||||||
LOG_ERROR("Not implemented: %s", __func__);
|
LOG_ERROR("Not implemented: %s", __func__);
|
||||||
|
@ -775,19 +776,23 @@ int target_init(struct command_context_s *cmd_ctx)
|
||||||
/* Set up default functions if none are provided by target */
|
/* Set up default functions if none are provided by target */
|
||||||
if (target->type->virt2phys == NULL)
|
if (target->type->virt2phys == NULL)
|
||||||
{
|
{
|
||||||
target->type->virt2phys = default_virt2phys;
|
target->type->virt2phys = identity_virt2phys;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (target->type->read_phys_memory == NULL)
|
if (target->type->read_phys_memory == NULL)
|
||||||
{
|
{
|
||||||
target->type->read_phys_memory = default_read_phys_memory;
|
target->type->read_phys_memory = err_read_phys_memory;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (target->type->write_phys_memory == NULL)
|
if (target->type->write_phys_memory == NULL)
|
||||||
{
|
{
|
||||||
target->type->write_phys_memory = default_write_phys_memory;
|
target->type->write_phys_memory = err_write_phys_memory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @todo MCR/MRC are ARM-specific; don't require them in
|
||||||
|
* all targets, or for ARMs without coprocessors.
|
||||||
|
*/
|
||||||
if (target->type->mcr == NULL)
|
if (target->type->mcr == NULL)
|
||||||
{
|
{
|
||||||
target->type->mcr = default_mcr;
|
target->type->mcr = default_mcr;
|
||||||
|
@ -810,6 +815,12 @@ int target_init(struct command_context_s *cmd_ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @todo get rid of those *memory_imp() methods, now that all
|
||||||
|
* callers are using target_*_memory() accessors ... and make
|
||||||
|
* sure the "physical" paths handle the same issues.
|
||||||
|
*/
|
||||||
|
|
||||||
/* a non-invasive way(in terms of patches) to add some code that
|
/* a non-invasive way(in terms of patches) to add some code that
|
||||||
* runs before the type->write/read_memory implementation
|
* runs before the type->write/read_memory implementation
|
||||||
*/
|
*/
|
||||||
|
@ -824,7 +835,7 @@ int target_init(struct command_context_s *cmd_ctx)
|
||||||
|
|
||||||
if (target->type->mmu == NULL)
|
if (target->type->mmu == NULL)
|
||||||
{
|
{
|
||||||
target->type->mmu = default_mmu;
|
target->type->mmu = no_mmu;
|
||||||
}
|
}
|
||||||
target = target->next;
|
target = target->next;
|
||||||
}
|
}
|
||||||
|
@ -4780,10 +4791,11 @@ int target_register_user_commands(struct command_context_s *cmd_ctx)
|
||||||
"loads active fast load image to current target "
|
"loads active fast load image to current target "
|
||||||
"- mainly for profiling purposes");
|
"- mainly for profiling purposes");
|
||||||
|
|
||||||
|
/** @todo don't register virt2phys() unless target supports it */
|
||||||
register_command(cmd_ctx, NULL, "virt2phys",
|
register_command(cmd_ctx, NULL, "virt2phys",
|
||||||
handle_virt2phys_command, COMMAND_ANY,
|
handle_virt2phys_command, COMMAND_ANY,
|
||||||
"translate a virtual address into a physical address");
|
"translate a virtual address into a physical address");
|
||||||
|
|
||||||
register_command(cmd_ctx, NULL, "reg",
|
register_command(cmd_ctx, NULL, "reg",
|
||||||
handle_reg_command, COMMAND_EXEC,
|
handle_reg_command, COMMAND_EXEC,
|
||||||
"display or set a register");
|
"display or set a register");
|
||||||
|
|
Loading…
Reference in New Issue