Add missing "volatile" to "asm" statements

This commit is contained in:
Clifford Wolf 2017-10-30 11:22:54 +01:00
parent 31588b871e
commit dda7db273d
2 changed files with 4 additions and 4 deletions

View File

@ -26,7 +26,7 @@ int heap_memory_used = 0;
long time()
{
int cycles;
asm("rdcycle %0" : "=r"(cycles));
asm volatile ("rdcycle %0" : "=r"(cycles));
// printf("[time() -> %d]", cycles);
return cycles;
}
@ -34,7 +34,7 @@ long time()
long insn()
{
int insns;
asm("rdinstret %0" : "=r"(insns));
asm volatile ("rdinstret %0" : "=r"(insns));
// printf("[insn() -> %d]", insns);
return insns;
}
@ -46,7 +46,7 @@ char *malloc(int size)
// printf("[malloc(%d) -> %d (%d..%d)]", size, (int)p, heap_memory_used, heap_memory_used + size);
heap_memory_used += size;
if (heap_memory_used > 1024)
asm("ebreak");
asm volatile ("ebreak");
return p;
}

View File

@ -28,7 +28,7 @@ static void stats_print_dec(unsigned int val, int digits, bool zero_pad)
void stats(void)
{
unsigned int num_cycles, num_instr;
__asm__("rdcycle %0; rdinstret %1;" : "=r"(num_cycles), "=r"(num_instr));
__asm__ volatile ("rdcycle %0; rdinstret %1;" : "=r"(num_cycles), "=r"(num_instr));
print_str("Cycle counter ........");
stats_print_dec(num_cycles, 8, false);
print_str("\nInstruction counter ..");