boot: 0.640 device: 0.525 socket: 0.522 semantic: 0.484 performance: 0.472 other: 0.427 PID: 0.370 vnc: 0.351 files: 0.330 permissions: 0.285 graphic: 0.282 network: 0.245 debug: 0.223 KVM: 0.160 Maemo does not boot on emulated N800 I start QEMU with qemu-system-arm-m 130 -M n800 -kernel zImage.1 -mtdblock maemo.img -append "root=/dev/mtdblock3 rootfstype=jffs2" On QEMU 1.2.0 see "NOKIA" logo and then desktop appears, but on 1.5.0 and newer (including latest versions) I see only white screen and no signs of life. Was this caused by regression or any syntax change? UPD: Maemo will boot on the second attempt if I reset the emulator manually. That's a regression, but unfortunately the n800 boards aren't really maintained (I don't have any test images to hand, and the hardware is long-gone these days). You could try a git bisect to see what commit broke, if you want to investigate. Oops, I should have asked for the image to reproduce with back in 2017 when this bug was first filed :-( I don't suppose you still have it ? It's available here: https://4pda.ru/forum/index.php?showtopic=870847 Thanks. I can confirm that there's been a regression since 1.2.0 that's still not fixed in master. Bisection thinks commit cb5ef3fa1871522a08 is the cause. This change on current head-of-git, which is effectively just reverting the logic-change part of commit cb5ef3fa1871522a08, is sufficient to allow the n800 image to boot again. But that commit was trying to fix a bug, so we probably need to look more carefully at the logic rather than just reverting it... diff --git a/hw/misc/tmp105.c b/hw/misc/tmp105.c index b47120492a..1813477268 100644 --- a/hw/misc/tmp105.c +++ b/hw/misc/tmp105.c @@ -161,14 +161,12 @@ static int tmp105_tx(I2CSlave *i2c, uint8_t data) { TMP105State *s = TMP105(i2c); - if (s->len == 0) { + if (!s->len++) { s->pointer = data; - s->len++; } else { if (s->len <= 2) { s->buf[s->len - 1] = data; } - s->len++; tmp105_write(s); } Should be fixed by this patch series: https://