Integrator/CP regression after QOM'ification of integratorcp.c

Bug #1624726 reported by Jakub Jermar
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HelenOS branches
New
Undecided
auto-helenos-devel
QEMU
Fix Released
Undecided
Unassigned

Bug Description

The following command line no longer works (i.e. the guest does not boot) with QEMU 2.7.0:

    qemu-system-arm -M integratorcp -m 128M -kernel HelenOS-0.6.0-arm32-integratorcp.boot

The HelenOS image can be downloaded here:

    http://www.helenos.org/releases/HelenOS-0.6.0-arm32-integratorcp.boot

I did git bisect and came to this revision:

a1f42e0c9abc1028a8bb8686dbb3749fcd2d18e8 is the first bad commit
commit a1f42e0c9abc1028a8bb8686dbb3749fcd2d18e8
Author: xiaoqiang.zhao <zxq_yx_007@163.com>
Date: Mon Mar 7 15:05:44 2016 +0800

    hw/arm: QOM'ify integratorcp.c

    * Drop the use of old SysBus init function and use instance_init
    * Remove the empty 'icp_pic_class_init' from Typeinfo

    Signed-off-by: xiaoqiang zhao <zxq_yx_007@163.com>
    Reviewed-by: Peter Maydell <email address hidden>
    Signed-off-by: Peter Maydell <email address hidden>

:040000 040000 b73418ea3fb69ed72438776e78786456fe4c414c b483e8579037fdae7d136b2f4ada3147bdde92f1 M hw

Upon closer inspection, I discovered that for some reason s->memsz in integratorcm_init() is zero. In the last good revision, this value was 128. As a temporary workaround, hardcoding it to this expected value fixes the problem.

Revision history for this message
Jakub Jermar (jakub) wrote :

Turns out integratorcm_init() depends on the memsz property being already set, but that unfortunately is not the case as setting of memsz depends on integratorcm_init() having completed:

    dev = qdev_create(NULL, TYPE_INTEGRATOR_CM); <= calls integratorcm_init(), needs memsz
    qdev_prop_set_uint32(dev, "memsz", ram_size >> 20); <= memsz set here, needs dev

Revision history for this message
Thomas Huth (th-huth) wrote :

Patch has been included here:
http://git.qemu.org/?p=qemu.git;a=commitdiff;h=e9d9ee234f852026d58
... and been released with QEMU version 2.8

Changed in qemu:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

  • auto-helenos-devel Edit

Bug watches keep track of this bug in other bug trackers.