Go to the source code of this file.
| #define __asmeq |
( |
|
x, |
|
|
|
y |
|
) |
| ".ifnc " x "," y " ; .err ; .endif\n\t" |
Definition at line 33 of file cpu.h.
| #define CACHELINE_SIZE 32 |
Definition at line 30 of file cpu.h.
Value:({ asm volatile(\
" mcr p15, 0, r0, c7, c5, 0\n\t" \
::: "memory", "cc");})
Definition at line 113 of file cpu.h.
| #define dmb |
( |
| ) |
__asm__ __volatile__("DMB") |
Definition at line 42 of file cpu.h.
| #define dsb |
( |
| ) |
__asm__ __volatile__("DSB") |
Definition at line 43 of file cpu.h.
Value:({
u32 rval;
asm volatile(\
" mrc p15, 0, %0, c0, c0, 5\n\t" \
: "=r" (rval) : : "memory", "cc"); rval;})
Definition at line 57 of file cpu.h.
Value:({
u32 rval;
asm volatile(\
" mrc p15, 0, %0, c2, c0, 0\n\t" \
: "=r" (rval) : : "memory", "cc"); rval;})
Definition at line 127 of file cpu.h.
| #define infinite_idle_loop |
( |
| ) |
|
Value:{ \
{ \
__asm__ __volatile__ ("WFI"); \
} \
}
Infinite loop waiting for interrupts (even if they are masked)
Definition at line 201 of file cpu.h.
| #define inv_branch_predict |
( |
| ) |
|
Value:({ asm volatile(\
" mcr p15, 0, r0, c7, c5, 6\n\t" \
::: "memory", "cc");})
Definition at line 120 of file cpu.h.
| #define isb |
( |
| ) |
__asm__ __volatile__("ISB") |
Definition at line 41 of file cpu.h.
| #define nop |
( |
| ) |
__asm__ __volatile__("mov\tr0,r0\t@ nop\n\t"); |
NOP must be encoded as 'MOV r0,r0' in ARM code and 'MOV r8,r8' in Thumb code, see ARMv7-A/R ARM C.2.
Definition at line 52 of file cpu.h.
Value:({
u32 rval;
asm volatile(\
" mrc p15, 0, %0, c6, c0, 0\n\t" \
: "=r" (rval) : : "memory", "cc"); rval;})
Definition at line 85 of file cpu.h.
Value:({
u32 rval;
asm volatile(\
" mrc p15, 0, %0, c5, c0, 0\n\t" \
: "=r" (rval) : : "memory", "cc"); rval;})
Definition at line 78 of file cpu.h.
Value:({
u32 rval;
asm volatile(\
" mrc p15, 0, %0, c3, c0, 0\n\t" \
: "=r" (rval) : : "memory", "cc"); rval;})
Definition at line 141 of file cpu.h.
Value:({
u32 rval;
asm volatile(\
" mrc p15, 0, %0, c6, c0, 2\n\t" \
: "=r" (rval) : : "memory", "cc"); rval;})
Definition at line 99 of file cpu.h.
Value:({
u32 rval;
asm volatile(\
" mrc p15, 0, %0, c5, c0, 1\n\t" \
: "=r" (rval) : : "memory", "cc"); rval;})
Definition at line 92 of file cpu.h.
Value:({
u32 rval;
asm volatile(\
" mrc p15, 0, %0, c1, c0, 0\n\t" \
: "=r" (rval) : : "memory", "cc"); rval;})
Definition at line 63 of file cpu.h.
| #define read_thread_id |
( |
| ) |
|
Value:({
u32 rval;
asm volatile(\
"mrc p15, 0, %0, c13, c0, 4\n\t" \
: "=r" (rval) : : "memory", "cc"); rval;})
Definition at line 185 of file cpu.h.
Value:({
u32 rval;
asm volatile(\
" mrc p15, 0, %0, c2, c0, 0\n\t" \
: "=r" (rval) : : "memory", "cc"); rval;})
Definition at line 155 of file cpu.h.
Value:({
u32 rval;
asm volatile(\
" mrc p15, 0, %0, c2, c0, 1\n\t" \
: "=r" (rval) : : "memory", "cc"); rval;})
Definition at line 169 of file cpu.h.
Value:({
u32 rval;
asm volatile(\
" mrc p15, 0, %0, c12, c0, 0\n\t" \
: "=r" (rval) : : "memory", "cc"); rval;})
Definition at line 106 of file cpu.h.
| #define SCTLR_C (1 << 2) /* Dcache enable */ |
Definition at line 37 of file cpu.h.
| #define SCTLR_I (1 << 12) /* Icache enable */ |
Definition at line 38 of file cpu.h.
| #define SCTLR_M 0x00000001 /* MMU bit */ |
Definition at line 36 of file cpu.h.
| #define SCTLR_Z (1 << 11) /* Branch prediction enable */ |
Definition at line 39 of file cpu.h.
Value:({ asm volatile(\
" mcr p15, 0, %0, c2, c0, 0\n\t" \
:: "r" ((val)) : "memory", "cc");})
Definition at line 134 of file cpu.h.
| #define write_domain |
( |
|
val | ) |
|
Value:({ asm volatile(\
" mcr p15, 0, %0, c3, c0, 0\n\t" \
:: "r" ((val)) : "memory", "cc");})
Definition at line 148 of file cpu.h.
| #define write_sctlr |
( |
|
val | ) |
|
Value:({ asm volatile(\
" mcr p15, 0, %0, c1, c0, 0\n\t" \
" isb \n\t" \
:: "r" ((val)) : "memory", "cc");})
Definition at line 70 of file cpu.h.
| #define write_thread_id |
( |
|
val | ) |
|
Value:asm volatile(\
"mcr p15, 0, %0, c13, c0, 4\n\t" \
:: "r" ((val)) : "memory" , "cc")
Definition at line 193 of file cpu.h.
| #define write_ttbr0 |
( |
|
val | ) |
|
Value:asm volatile(\
" mcr p15, 0, %0, c2, c0, 0\n\t" \
:: "r" ((val)) : "memory", "cc")
Definition at line 162 of file cpu.h.
| #define write_ttbr1 |
( |
|
val | ) |
|
Value:asm volatile(\
" mcr p15, 0, %0, c2, c0, 1\n\t" \
:: "r" ((val)) : "memory", "cc")
Definition at line 176 of file cpu.h.
| void arm_irq_disable |
( |
void |
| ) |
|
| void arm_irq_enable |
( |
void |
| ) |
|
| void clear_data_cache |
( |
void |
| ) |
|
- Parameters
-
Definition at line 137 of file cpu.c.
{
asm volatile (" msr cpsr_c, %0"::"r" (flags)
:"memory", "cc");
}
- Returns
Definition at line 118 of file cpu.c.
{
unsigned long retval;
asm volatile (" mrs %0, cpsr\n\t" " cpsid if"
:"=r" (retval)::"memory", "cc");
return retval;
}
| void cpu_wait_for_irq |
( |
void |
| ) |
|
Definition at line 146 of file cpu.c.
{
asm volatile (" wfi ");
}
| void data_memory_barrier |
( |
void |
| ) |
|
| void data_sync_barrier |
( |
void |
| ) |
|
| void dcache_disable |
( |
void |
| ) |
|
Definition at line 82 of file cpu.c.
| void dcache_enable |
( |
void |
| ) |
|
Definition at line 74 of file cpu.c.
| void disable_l1_cache |
( |
void |
| ) |
|
Definition at line 99 of file cpu.c.
| void emulate_swi_handler |
( |
int |
swi_id | ) |
|
| void emulate_timer_irq |
( |
void |
| ) |
|
Emulate timer IRQ functionality.
Definition at line 209 of file cpu_api.c.
{
#ifdef CONFIG_EMULATE_FIQ
#endif
}
| void enable_branch_prediction |
( |
void |
| ) |
|
| void enable_l1_cache |
( |
void |
| ) |
|
Definition at line 90 of file cpu.c.
| void icache_disable |
( |
void |
| ) |
|
Definition at line 66 of file cpu.c.
| void icache_enable |
( |
void |
| ) |
|
Definition at line 58 of file cpu.c.
| void instruction_sync_barrier |
( |
void |
| ) |
|
| void start_secondary_core |
( |
void |
| ) |
|