Skip to content
Commits on Feb 23, 2013
  1. target-ppc: Move CPU aliases out of translate_init.c

    committed Feb 23, 2013
    Move array of CPU aliases to cpu-models.c, alongside model definitions.
    This requires to zero-terminate the aliases array since ARRAY_SIZE() can
    no longer be used in translate_init.c then.
    
    Suggested-by: Alexander Graf <agraf@suse.de>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  2. target-ppc: Report CPU aliases for QMP

    committed Feb 23, 2013
    The QMP query-cpu-definitions implementation iterated over CPU classes
    only, which were getting less and less as aliases were extracted.
    
    Keep them in QMP as valid -cpu arguments even if not guaranteed stable.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  3. target-ppc: List alias names alongside CPU models

    committed Feb 23, 2013
    Revert adding a separate -cpu ? output section for aliases and list them
    per CPU subclass.
    
    Requested-by: Alexander Graf <agraf@suse.de>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  4. target-ppc: Make host CPU a subclass of the host's CPU model

    committed Feb 23, 2013
    This avoids assigning individual class fields and contributors
    forgetting to add field assignments in KVM-only code.
    
    ppc_cpu_class_find_by_pvr() requires the CPU model classes to be
    registered, so defer host CPU type registration to kvm_arch_init().
    
    Only register the host CPU type if there is a class with matching PVR.
    This lets us drop error handling from instance_init.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  5. target-ppc: Drop redundant flags assignments from CPU families

    committed Feb 22, 2013
    Previous code has #define POWERPC_INSNS2_<family> PPC_NONE in some
    places for macrofied assignment to insns_flags2 field.
    
    PPC_NONE is defined as zero though and QOM classes are zero-initialized,
    so drop any pcc->insns_flags2 = PPC_NONE; assignments.
    
    PPC_NONE itself is still in use in translate.c.
    
    Suggested-by: Alexander Graf <agraf@suse.de>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
  6. target-ppc: Change "POWER7" CPU alias

    committed Feb 17, 2013
    Let it resolve to v2.3 rather than v2.0.
    
    Suggested-by: David Gibson <david@gibson.dropbear.id.au>
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  7. target-ppc: Fix remaining microcontroller typos among models

    committed Feb 17, 2013
    controler -> controller
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  8. target-ppc: Split model definitions out of translate_init.c

    committed Feb 17, 2013
    Now that model definitions only reference their parent type, model
    definitions are independent of the family definitions and can be
    compiled independently of TCG translation.
    
    Keep all #if defined(TODO) code local to cpu-models.c.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  9. target-ppc: Update Coding Style for CPU models

    committed Feb 17, 2013
    Drop the space in #if defined (TODO).
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  10. target-ppc: Turn descriptive CPU model comments into device descriptions

    committed Feb 17, 2013
    Fix microcontroller typo while at it.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  11. target-ppc: Turn descriptive CPU family comments into device descript…

    committed Feb 17, 2013
    …ions
    
    This gets rid of some more overly long comments that have lost most of
    their purpose now that in most cases there's only two functions left per
    CPU family.
    
    The class field is inherited by the actual CPU models, so override it.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  12. target-ppc: Set remaining fields on CPU family classes

    committed Feb 17, 2013
    Now POWERPC_DEF_SVR() no longer sets family-specific fields itself.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  13. target-ppc: Register all types for TARGET_PPCEMB

    committed Feb 17, 2013
    Don't attempt to suppress registration of CPU types, since the criteria
    is actually a property of the class and should thus become a field.
    Since we can't check a field set in a class_init function before
    registering the type that leads to execution of that function, guard the
    -cpu class lookup instead and suppress exposing these classes in -cpu ?
    and in QMP.
    
    In case someone tries to hot-add an incompatible CPU via device_add,
    error out in realize.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  14. target-ppc: Set instruction flags on CPU family classes

    committed Feb 17, 2013
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  15. target-ppc: Introduce abstract CPU family types

    committed Feb 17, 2013
    Instead of assigning *_<family> constants, set .parent to a family type.
    
    Introduce a POWERPC_FAMILY() macro to keep type registration close to
    its implementation. This macro will need tweaking later.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  16. target-ppc: Convert CPU definitions

    committed Feb 17, 2013
    Turn the array of model definitions into a set of self-registering QOM
    types with their own class_init. Unique identifiers are obtained from
    the combination of PVR, SVR and family identifiers; this requires all
    alias #defines to be removed from the list. Possibly there are some more
    left after this commit that are not currently being compiled.
    
    Prepares for introducing abstract intermediate CPU types for families.
    
    Keep the right-aligned macro line breaks within 78 chars to aid
    three-way merges.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  17. target-ppc: Get model name from type name

    committed Feb 17, 2013
    We are about to drop the redundant name field along with ppc_def_t.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  18. target-ppc: Extract POWER7 alias

    committed Feb 17, 2013
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  19. target-ppc: Extract 970 aliases

    committed Feb 17, 2013
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  20. target-ppc: Extract 405GPe alias

    committed Feb 17, 2013
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  21. target-ppc: Extract MPC8240 alias

    committed Feb 17, 2013
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  22. target-ppc: Extract MPC5200/MPC5200B aliases

    committed Feb 17, 2013
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  23. target-ppc: Extract MPC52xx alias

    committed Feb 17, 2013
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  24. target-ppc: Extract MPC82xx_HiP{3, 4} aliases

    committed Feb 17, 2013
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  25. target-ppc: Extract MPC82xx aliases to *_HiP4

    committed Feb 17, 2013
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  26. target-ppc: Extract MPC8247/MPC8248/MPC8270-80 aliases

    committed Feb 17, 2013
    This depends on the fix for "G2leGP3" PVR.
    
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  27. target-ppc: Extract MPC82xx alias

    committed Feb 17, 2013
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  28. target-ppc: Extract e200 alias

    committed Feb 17, 2013
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  29. target-ppc: Extract e300 alias

    committed Feb 17, 2013
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  30. target-ppc: Extract MPC83xx aliases

    committed Feb 17, 2013
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  31. target-ppc: Extract e500v1/e500v2 aliases

    committed Feb 17, 2013
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  32. target-ppc: Extract MPC85xx aliases

    committed Feb 17, 2013
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  33. target-ppc: Extract 604e alias

    committed Feb 17, 2013
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  34. target-ppc: Extract 601/601v aliases

    committed Feb 17, 2013
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
  35. target-ppc: Extract 603r alias

    committed Feb 17, 2013
    Signed-off-by: Andreas Färber <afaerber@suse.de>
    Signed-off-by: Alexander Graf <agraf@suse.de>
Something went wrong with that request. Please try again.