• A
    xics: split to xics and xics-common · 5a3d7b23
    Alexey Kardashevskiy 提交于
    The upcoming XICS-KVM support will use bits of emulated XICS code.
    So this introduces new level of hierarchy - "xics-common" class. Both
    emulated XICS and XICS-KVM will inherit from it and override class
    callbacks when required.
    
    The new "xics-common" class implements:
    1. replaces static "nr_irqs" and "nr_servers" properties with
    the dynamic ones and adds callbacks to be executed when properties
    are set.
    2. xics_cpu_setup() callback renamed to xics_common_cpu_setup() as
    it is a common part for both XICS'es
    3. xics_reset() renamed to xics_common_reset() for the same reason.
    
    The emulated XICS changes:
    1. the part of xics_realize() which creates ICPs is moved to
    the "nr_servers" property callback as realize() is too late to
    create/initialize devices and instance_init() is too early to create
    devices as the number of child devices comes via the "nr_servers"
    property.
    2. added ics_initfn() which does a little part of what xics_realize() did.
    Signed-off-by: NAlexey Kardashevskiy <aik@ozlabs.ru>
    Reviewed-by: NAlexander Graf <agraf@suse.de>
    Signed-off-by: NAlexander Graf <agraf@suse.de>
    5a3d7b23
spapr.c 41.7 KB