On 1/22/20 2:36 PM, Philippe Mathieu-Daudé wrote: > The boot-serial test uses SeaBIOS on HPPA, and expects to read the > "SeaBIOS wants SYSTEM HALT" string, see [*]: > > 122 void __VISIBLE __noreturn hlt(void) > 123 { > 124 if (pdc_debug) > 125 printf("HALT initiated from %p\n", __builtin_return_address(0)); > 126 printf("SeaBIOS wants SYSTEM HALT.\n\n"); > 127 asm volatile("\t.word 0xfffdead0": : :"memory"); > 128 while (1); > 129 } > > A 'SYSTEM HALT' would really halts the CPU, but SeaBIOS implements > it as an infinite loop.
Well, SeaBIOS implements it as the magic QEMU halt instruction, # These are artificial instructions used by QEMU firmware. # They are allocated from the unassigned instruction space. halt 1111 1111 1111 1101 1110 1010 1101 0000 reset 1111 1111 1111 1101 1110 1010 1101 0001 followed by an infinite loop, probably to avoid a compiler warning and Just In Case. We really should halt here, unless shutdown is disabled. > - qts = qtest_initf("%s %s -M %s -no-shutdown " > + qts = qtest_initf("%s %s -M %s %s " > "-chardev file,id=serial0,path=%s " > "-serial chardev:serial0 -accel tcg -accel kvm %s", > codeparam, code ? codetmp : "", test->machine, > + shutdown ? "" : "-no-shutdown", > serialtmp, test->extra); And thus avoiding the -no-shutdown should in fact shutdown. Are you saying this doesn't happen, or what? I think I got lost with the rest of the message... r~