Skip to content
  • David Gibson's avatar
    pseries: Use new method to correct reset sequence · c8787ad4
    David Gibson authored
    
    
    A number of things need to occur during reset of the PAPR
    paravirtualized platform in a specific order.  For example, the hash
    table needs to be cleared before the CPUs are reset, so that they
    initialize their register state correctly, and the CPUs need to have
    their main reset called before we set up the entry point state on the
    boot cpu.  We also need to have the main qdev reset happen before the
    creation and installation of the device tree for the new boot, because
    we need the state of the devices settled to correctly construct the
    device tree.
    
    We currently do the pseries once-per-reset initializations done from a
    reset handler.  However we can't adequately control when this handler
    is called during the reset - in particular we can't guarantee it
    happens after all the qdev resets (since qdevs might be registered
    after the machine init function has executed).
    
    This patch uses the new QEMUMachine reset method to to fix this
    problem, ensuring the various order dependent reset steps happen in
    the correct order.
    
    Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
    Reviewed-by: default avatarAndreas Färber <afaerber@suse.de>
    Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
    c8787ad4