In some cases, shutdown through the test device and Bochs might fail. Just hang in a loop that executes halt in such cases. Signed-off-by: Nadav Amit <nadav.amit@xxxxxxxxx> --- lib/x86/io.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/x86/io.c b/lib/x86/io.c index f3e01f7..e6372c6 100644 --- a/lib/x86/io.c +++ b/lib/x86/io.c @@ -99,6 +99,10 @@ void exit(int code) #else asm volatile("out %0, %1" : : "a"(code), "d"((short)0xf4)); #endif + /* Fallback */ + while (1) { + asm volatile ("hlt" ::: "memory"); + } __builtin_unreachable(); } -- 2.17.1