Watch this:
$ ../qemu/bld/qemu-system-riscv64 -M sifive_u -S -monitor stdio -display
none -drive if=pflash
QEMU 6.1.93 monitor - type 'help' for more information
(qemu) Unexpected error in sifive_u_otp_realize() at
../hw/misc/sifive_u_otp.c:229:
qemu-system-riscv64: OTP drive size < 16K
Aborted (core dumped)
sifive_u_machine_init() calls
qdev_realize(DEVICE(&s->soc), NULL, &error_abort);
My reproducer demonstrates that passing &error_abort is wrong: this
realize can fail.
&error_fatal should do here.
Please check the other uses of &error_abort in this machine for similar
misuse.