coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
cache.c File Reference
#include <stdint.h>
#include <arch/cache.h>
#include <arch/lib_helpers.h>
#include <program_loading.h>
Include dependency graph for cache.c:

Go to the source code of this file.

Enumerations

enum  dcache_op {
  OP_DCCSW , OP_DCCISW , OP_DCISW , OP_DCCIMVAC ,
  OP_DCCMVAC , OP_DCIMVAC , OP_DCCSW , OP_DCCISW ,
  OP_DCISW , OP_DCCIVAC , OP_DCCVAC , OP_DCIVAC
}
 

Functions

unsigned int dcache_line_bytes (void)
 
static void dcache_op_va (void const *addr, size_t len, enum dcache_op op)
 
void dcache_clean_by_mva (void const *addr, size_t len)
 
void dcache_clean_invalidate_by_mva (void const *addr, size_t len)
 
void dcache_invalidate_by_mva (void const *addr, size_t len)
 
void arch_segment_loaded (uintptr_t start, size_t size, int flags)
 

Enumeration Type Documentation

◆ dcache_op

enum dcache_op
Enumerator
OP_DCCSW 
OP_DCCISW 
OP_DCISW 
OP_DCCIMVAC 
OP_DCCMVAC 
OP_DCIMVAC 
OP_DCCSW 
OP_DCCISW 
OP_DCISW 
OP_DCCIVAC 
OP_DCCVAC 
OP_DCIVAC 

Definition at line 31 of file cache.c.

Function Documentation

◆ arch_segment_loaded()

void arch_segment_loaded ( uintptr_t  start,
size_t  size,
int  flags 
)

Definition at line 91 of file cache.c.

References dcache_clean_by_mva(), dcache_clean_invalidate_by_mva(), icache_invalidate_all(), SCTLR_C, and SCTLR_I.

Here is the call graph for this function:

◆ dcache_clean_by_mva()

void dcache_clean_by_mva ( void const *  addr,
size_t  len 
)

Definition at line 72 of file cache.c.

References addr, dcache_op_va(), and OP_DCCVAC.

Here is the call graph for this function:

◆ dcache_clean_invalidate_by_mva()

void dcache_clean_invalidate_by_mva ( void const *  addr,
size_t  len 
)

Definition at line 77 of file cache.c.

References addr, dcache_op_va(), and OP_DCCIVAC.

Here is the call graph for this function:

◆ dcache_invalidate_by_mva()

void dcache_invalidate_by_mva ( void const *  addr,
size_t  len 
)

Definition at line 82 of file cache.c.

References addr, dcache_op_va(), and OP_DCIVAC.

Here is the call graph for this function:

◆ dcache_line_bytes()

unsigned int dcache_line_bytes ( void  )

Definition at line 14 of file cache.c.

◆ dcache_op_va()

static void dcache_op_va ( void const *  addr,
size_t  len,
enum dcache_op  op 
)
static

Definition at line 45 of file cache.c.

References addr, dcache_line_bytes(), dccivac(), dccvac(), dcivac(), dsb, isb, OP_DCCIVAC, OP_DCCVAC, and OP_DCIVAC.

Referenced by dcache_clean_by_mva(), dcache_clean_invalidate_by_mva(), and dcache_invalidate_by_mva().

Here is the call graph for this function:
Here is the caller graph for this function: