OpenOCD
armv7a_cache.c File Reference
Include dependency graph for armv7a_cache.c:

Go to the source code of this file.

Functions

int armv7a_cache_auto_flush_all_data (struct target *target)
 
int armv7a_cache_auto_flush_on_write (struct target *target, uint32_t virt, uint32_t size)
 
int armv7a_cache_flush_virt (struct target *target, uint32_t virt, uint32_t size)
 
static int armv7a_l1_d_cache_clean_inval_all (struct target *target)
 
int armv7a_l1_d_cache_clean_virt (struct target *target, uint32_t virt, unsigned int size)
 
static int armv7a_l1_d_cache_flush_level (struct arm_dpm *dpm, struct armv7a_cachesize *size, int cl)
 
int armv7a_l1_d_cache_flush_virt (struct target *target, uint32_t virt, unsigned int size)
 
int armv7a_l1_d_cache_inval_virt (struct target *target, uint32_t virt, uint32_t size)
 
static int armv7a_l1_d_cache_sanity_check (struct target *target)
 
int armv7a_l1_i_cache_inval_all (struct target *target)
 
int armv7a_l1_i_cache_inval_virt (struct target *target, uint32_t virt, uint32_t size)
 
static int armv7a_l1_i_cache_sanity_check (struct target *target)
 
 COMMAND_HANDLER (arm7a_cache_disable_auto_cmd)
 
 COMMAND_HANDLER (arm7a_l1_cache_info_cmd)
 
 COMMAND_HANDLER (arm7a_l1_d_cache_clean_virt_cmd)
 
 COMMAND_HANDLER (arm7a_l1_d_cache_inval_virt_cmd)
 
 COMMAND_HANDLER (arm7a_l1_i_cache_inval_virt_cmd)
 
 COMMAND_HANDLER (armv7a_i_cache_clean_inval_all_cmd)
 
 COMMAND_HANDLER (armv7a_l1_d_cache_clean_inval_all_cmd)
 

Variables

const struct command_registration arm7a_cache_command_handlers []
 
static const struct command_registration arm7a_cache_group_handlers []
 
static const struct command_registration arm7a_l1_d_cache_commands []
 
static const struct command_registration arm7a_l1_di_cache_group_handlers []
 
static const struct command_registration arm7a_l1_i_cache_commands []
 

Function Documentation

◆ armv7a_cache_auto_flush_all_data()

◆ armv7a_cache_auto_flush_on_write()

int armv7a_cache_auto_flush_on_write ( struct target target,
uint32_t  virt,
uint32_t  size 
)

◆ armv7a_cache_flush_virt()

int armv7a_cache_flush_virt ( struct target target,
uint32_t  virt,
uint32_t  size 
)

◆ armv7a_l1_d_cache_clean_inval_all()

◆ armv7a_l1_d_cache_clean_virt()

◆ armv7a_l1_d_cache_flush_level()

static int armv7a_l1_d_cache_flush_level ( struct arm_dpm dpm,
struct armv7a_cachesize size,
int  cl 
)
static

◆ armv7a_l1_d_cache_flush_virt()

◆ armv7a_l1_d_cache_inval_virt()

◆ armv7a_l1_d_cache_sanity_check()

◆ armv7a_l1_i_cache_inval_all()

◆ armv7a_l1_i_cache_inval_virt()

◆ armv7a_l1_i_cache_sanity_check()

◆ COMMAND_HANDLER() [1/7]

COMMAND_HANDLER ( arm7a_cache_disable_auto_cmd  )

Definition at line 496 of file armv7a_cache.c.

◆ COMMAND_HANDLER() [2/7]

COMMAND_HANDLER ( arm7a_l1_cache_info_cmd  )

◆ COMMAND_HANDLER() [3/7]

COMMAND_HANDLER ( arm7a_l1_d_cache_clean_virt_cmd  )

◆ COMMAND_HANDLER() [4/7]

COMMAND_HANDLER ( arm7a_l1_d_cache_inval_virt_cmd  )

◆ COMMAND_HANDLER() [5/7]

COMMAND_HANDLER ( arm7a_l1_i_cache_inval_virt_cmd  )

◆ COMMAND_HANDLER() [6/7]

COMMAND_HANDLER ( armv7a_i_cache_clean_inval_all_cmd  )

Definition at line 469 of file armv7a_cache.c.

References armv7a_l1_i_cache_inval_all(), CMD_CTX, and get_current_target().

◆ COMMAND_HANDLER() [7/7]

COMMAND_HANDLER ( armv7a_l1_d_cache_clean_inval_all_cmd  )

Variable Documentation

◆ arm7a_cache_command_handlers

const struct command_registration arm7a_cache_command_handlers[]
Initial value:
= {
{
.name = "cache",
.mode = COMMAND_ANY,
.help = "cache command group",
.usage = "",
},
}
static const struct command_registration arm7a_cache_group_handlers[]
Definition: armv7a_cache.c:586
#define COMMAND_REGISTRATION_DONE
Use this as the last entry in an array of command_registration records.
Definition: command.h:253
@ COMMAND_ANY
Definition: command.h:42

Definition at line 496 of file armv7a_cache.c.

◆ arm7a_cache_group_handlers

const struct command_registration arm7a_cache_group_handlers[]
static
Initial value:
= {
{
.name = "auto",
.handler = arm7a_cache_disable_auto_cmd,
.mode = COMMAND_ANY,
.help = "disable or enable automatic cache handling.",
.usage = "(1|0)",
},
{
.name = "l1",
.mode = COMMAND_ANY,
.help = "l1 cache command group",
.usage = "",
},
{
},
}
static const struct command_registration arm7a_l1_di_cache_group_handlers[]
Definition: armv7a_cache.c:561
const struct command_registration arm7a_l2x_cache_command_handler[]
const struct command_registration * chain
If non-NULL, the commands in chain will be registered in the same context and scope of this registrat...
Definition: command.h:249

Definition at line 496 of file armv7a_cache.c.

◆ arm7a_l1_d_cache_commands

const struct command_registration arm7a_l1_d_cache_commands[]
static
Initial value:
= {
{
.name = "flush_all",
.handler = armv7a_l1_d_cache_clean_inval_all_cmd,
.mode = COMMAND_ANY,
.help = "flush (clean and invalidate) complete l1 d-cache",
.usage = "",
},
{
.name = "inval",
.handler = arm7a_l1_d_cache_inval_virt_cmd,
.mode = COMMAND_ANY,
.help = "invalidate l1 d-cache by virtual address offset and range size",
.usage = "<virt_addr> [size]",
},
{
.name = "clean",
.handler = arm7a_l1_d_cache_clean_virt_cmd,
.mode = COMMAND_ANY,
.help = "clean l1 d-cache by virtual address address offset and range size",
.usage = "<virt_addr> [size]",
},
}

Definition at line 496 of file armv7a_cache.c.

◆ arm7a_l1_di_cache_group_handlers

const struct command_registration arm7a_l1_di_cache_group_handlers[]
static
Initial value:
= {
{
.name = "info",
.handler = arm7a_l1_cache_info_cmd,
.mode = COMMAND_ANY,
.help = "print cache related information",
.usage = "",
},
{
.name = "d",
.mode = COMMAND_ANY,
.help = "l1 d-cache command group",
.usage = "",
},
{
.name = "i",
.mode = COMMAND_ANY,
.help = "l1 i-cache command group",
.usage = "",
},
}
static const struct command_registration arm7a_l1_i_cache_commands[]
Definition: armv7a_cache.c:543
static const struct command_registration arm7a_l1_d_cache_commands[]
Definition: armv7a_cache.c:518
const char * name
Definition: command.h:235

Definition at line 496 of file armv7a_cache.c.

◆ arm7a_l1_i_cache_commands

const struct command_registration arm7a_l1_i_cache_commands[]
static
Initial value:
= {
{
.name = "inval_all",
.handler = armv7a_i_cache_clean_inval_all_cmd,
.mode = COMMAND_ANY,
.help = "invalidate complete l1 i-cache",
.usage = "",
},
{
.name = "inval",
.handler = arm7a_l1_i_cache_inval_virt_cmd,
.mode = COMMAND_ANY,
.help = "invalidate l1 i-cache by virtual address offset and range size",
.usage = "<virt_addr> [size]",
},
}

Definition at line 496 of file armv7a_cache.c.