aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWesley W. Terpstra <wesley@sifive.com>2018-01-22 20:32:23 -0800
committerGitHub <noreply@github.com>2018-01-22 20:32:23 -0800
commite94752f4ee088b0905e6c4e1405cbb5da9aef368 (patch)
treebf878b10578c417c81023fc61b65150f4e65b168
parent2e03ddb03ab9a7ce416453d71923d4531e2f9fe6 (diff)
downloadriscv-pk-e94752f4ee088b0905e6c4e1405cbb5da9aef368.zip
riscv-pk-e94752f4ee088b0905e6c4e1405cbb5da9aef368.tar.gz
riscv-pk-e94752f4ee088b0905e6c4e1405cbb5da9aef368.tar.bz2
mtrap: loop forever, really
gcc sometimes takes liberties with optimizing away our important halt function!
-rw-r--r--machine/mtrap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/machine/mtrap.c b/machine/mtrap.c
index 6c0e99c..778990f 100644
--- a/machine/mtrap.c
+++ b/machine/mtrap.c
@@ -38,7 +38,7 @@ void poweroff(uint16_t code)
if (htif) {
htif_poweroff();
} else {
- while (1);
+ while (1) { asm volatile ("#noop\n"); }
}
}