hw/core: properly terminate loading .hex on EOF record
authorAlex Bennée <alex.bennee@linaro.org>
Fri, 3 Apr 2020 19:11:49 +0000 (20:11 +0100)
committerAlex Bennée <alex.bennee@linaro.org>
Tue, 7 Apr 2020 15:19:49 +0000 (16:19 +0100)
commit58d5e749d6663701f90931764f8bee6c76b0b1f1
tree0f1b7452c41f0c585b4ae90a54b0a0be2d6587db
parentbb55173cfb7bd69b79c4092bf524a32b0fdeddbb
hw/core: properly terminate loading .hex on EOF record

The https://makecode.microbit.org/#editor generates slightly weird
.hex files which work fine on a real microbit but causes QEMU to
choke. The reason is extraneous data after the EOF record which causes
the loader to attempt to write a bigger file than it should to the
"rom". According to the HEX file spec an EOF really should be the last
thing we process so lets do that.

Reported-by: Ursula Bennée <alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200403191150.863-12-alex.bennee@linaro.org>
hw/core/loader.c