Skip to content
Snippets Groups Projects
  • Peter Maydell's avatar
    0c3c25fc
    cpu.c: Make start-powered-off settable after realize · 0c3c25fc
    Peter Maydell authored
    
    The CPU object's start-powered-off property is currently only
    settable before the CPU object is realized.  For arm machines this is
    awkward, because we would like to decide whether the CPU should be
    powered-off based on how we are booting the guest code, which is
    something done in the machine model code and in common code called by
    the machine model, which runs much later and in completely different
    parts of the codebase from the SoC object code that is responsible
    for creating and realizing the CPU objects.
    
    Allow start-powered-off to be set after realize.  Since this isn't
    something that's supported by the DEFINE_PROP_* macros, we have to
    switch the property definition to use the
    object_class_property_add_bool() function.
    
    Note that it doesn't conceptually make sense to change the setting of
    the property after the machine has been completely initialized,
    beacuse this would mean that the behaviour of the machine when first
    started would differ from its behaviour when the system is
    subsequently reset.  (It would also require the underlying state to
    be migrated, which we don't do.)
    
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
    Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
    Tested-by: default avatarEdgar E. Iglesias <edgar.iglesias@xilinx.com>
    Tested-by: default avatarCédric Le Goater <clg@kaod.org>
    Message-id: 20220127154639.2090164-3-peter.maydell@linaro.org
    0c3c25fc
    History
    cpu.c: Make start-powered-off settable after realize
    Peter Maydell authored
    
    The CPU object's start-powered-off property is currently only
    settable before the CPU object is realized.  For arm machines this is
    awkward, because we would like to decide whether the CPU should be
    powered-off based on how we are booting the guest code, which is
    something done in the machine model code and in common code called by
    the machine model, which runs much later and in completely different
    parts of the codebase from the SoC object code that is responsible
    for creating and realizing the CPU objects.
    
    Allow start-powered-off to be set after realize.  Since this isn't
    something that's supported by the DEFINE_PROP_* macros, we have to
    switch the property definition to use the
    object_class_property_add_bool() function.
    
    Note that it doesn't conceptually make sense to change the setting of
    the property after the machine has been completely initialized,
    beacuse this would mean that the behaviour of the machine when first
    started would differ from its behaviour when the system is
    subsequently reset.  (It would also require the underlying state to
    be migrated, which we don't do.)
    
    Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
    Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
    Tested-by: default avatarEdgar E. Iglesias <edgar.iglesias@xilinx.com>
    Tested-by: default avatarCédric Le Goater <clg@kaod.org>
    Message-id: 20220127154639.2090164-3-peter.maydell@linaro.org