On 23/01/2020 01.36, 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.
If SeaBIOS does not use the expected serial port but another device,
we might poll the console indefinitely while the machine is halted.
Allow the HPPA machine to 'shutdown'. When it does, we'll get
a qtest error:
$ make check-qtest-hppa
TEST check-qtest-hppa: tests/qtest/boot-serial-test
** (tests/qtest/boot-serial-test:31924): ERROR **: 01:12:37.604: Failed to
find expected string. Please check '/tmp/qtest-boot-serial-sjxoM6Q'
ERROR - Bail out! FATAL-ERROR: Failed to find expected string. Please check
'/tmp/qtest-boot-serial-sjxoM6Q'
make: *** [tests/Makefile.include:628: check-qtest-hppa] Error 1
The tests are run with -no-shutdown. Why does qemu exit in that case?