• I
    qbus: register reset handler for qbus whose parent is NULL · 80376c3f
    Isaku Yamahata 提交于
    Stefan Weil reported the regression caused by
    ec990eb6 as follows
    
    > The second regression also occurs with MIPS malta.
    > Networking no longer works with the default pcnet nic.
    >
    > This is caused because the reset function for pcnet is no
    > longer called during system boot. The result in an invalid
    > mac address (all zero) and a non-working nic.
    >
    > For this second regression I still have no simple solution.
    > Of course mips_malta.c should be converted to qdev which
    > would fix both problems (but only for malta system emulation).
    
    The issue is, it is assumed that all qbuses, qdeves are under
    main_system_bus. But there are qbuses whose parent is NULL. So it
    is necessary to trigger reset for those qbuses.
    (On the other hand, if NULL is passed to qdev_create(), its parent bus
    is main_system_bus.)
    Ideally those buses should be moved under bus controller
    device which is qdev. But it's not done yet.
    So register qbus reset handler for qbus whose parent is NULL.
    Reported-by: NStefan Weil <weil@mail.berlios.de>
    Signed-off-by: N"Michael S. Tsirkin" <mst@redhat.com>
    Signed-off-by: NIsaku Yamahata <yamahata@valinux.co.jp>
    Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
    80376c3f
qdev.c 24.3 KB