summary refs log tree commit diff stats
path: root/results/classifier/105/boot/1734474
diff options
context:
space:
mode:
Diffstat (limited to 'results/classifier/105/boot/1734474')
-rw-r--r--results/classifier/105/boot/173447472
1 files changed, 72 insertions, 0 deletions
diff --git a/results/classifier/105/boot/1734474 b/results/classifier/105/boot/1734474
new file mode 100644
index 000000000..d1bb421dc
--- /dev/null
+++ b/results/classifier/105/boot/1734474
@@ -0,0 +1,72 @@
+boot: 0.640
+device: 0.525
+socket: 0.522
+semantic: 0.484
+other: 0.427
+vnc: 0.351
+instruction: 0.330
+graphic: 0.282
+mistranslation: 0.270
+network: 0.245
+KVM: 0.160
+assembly: 0.083
+
+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://<email address hidden>/
+
+Commit cb5ef3fa1871522a08 is correct -- it just exposed an underlying bug in the TMP105 temperature sensor device.
+
+
+Fixed in v5.2.0?
+ab135622cf4 ("tmp105: Correct handling of temperature limit checks")
+e1919889ef7 ("hw/misc/tmp105: reset the T_low and T_High registers")
+
+
+Yes, I think we can close this now.
+