qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH ppc-next v2 00/52] PowerPCCPU subclasses, remixed


From: Andreas Färber
Subject: [Qemu-devel] [PATCH ppc-next v2 00/52] PowerPCCPU subclasses, remixed
Date: Mon, 18 Feb 2013 10:15:59 +0100

Hi Alex,

Here's a fixed and extended version, rebased onto ppc-next rebased onto master.
Since my G2leGP3 fix is still missing from ppc-next despite supposedly applied,
it is resent here as prerequisite. Series build-tested on PowerKVM now.

v1 had shown a refactoring of CPU model definitions so that a class_init could
be generated from POWERPC_DEF_SVR() macro.

v2 builds on this and finishes refactoring CPU families into QOM subclasses,
using a POWERPC_FAMILY() macro inspired by Alex to hide type registration.

Follow-up ideas:
* Can init_proc callbacks be turned into realize functions? (classes needed)
* Introduce super-families? (BookE for TARGET_PPCEMB? MMU/Excp/Bus?)
* Derive host CPU from model instead of copying? (to inherit instance_init)

Available from:
git://github.com/afaerber/qemu-cpu.git qom-cpu-ppc-types.v2
https://github.com/afaerber/qemu-cpu/commits/qom-cpu-ppc-types.v2

Thanks,
Andreas

v1 -> v2:
* Added back restriction of CPU models for TARGET_PPCEMB.
* Updated ppc_def_t uses in kvm.c, fixing the build (spotted by Alex).
* Updated ppc_def_t uses in broken PPC_DUMP_CPU block.
* Dropped superfluous comments from alias list.
* Added missing space after brace for MPC8541 alias.
* Dropped superfluous space breaking 405GPe -> 405CRc aliasing.
* Extended series:
  + Dropped nested #ifdef for POWER7.
  + Introduced QOM CPU families.
  + Refactored comments into device descriptions.
  + Updated POWER7 to point to POWER7_v2.3 (suggested by David).
  + Updated a new error message to QOM realize.

Cc: Alexander Graf <address@hidden>
Cc: address@hidden
Cc: David Gibson <address@hidden>
Cc: Julio Guerra <address@hidden>

Andreas Färber (52):
  target-ppc: Fix "G2leGP3" PVR
  target-ppc: Update error handling in ppc_cpu_realize()
  target-ppc: Drop nested TARGET_PPC64 guard for POWER7
  target-ppc: Inline comma into POWERPC_DEF_SVR() macro
  target-ppc: Extract aliases from definitions list
  target-ppc: Make -cpu "ppc" an alias to "ppc32"
  target-ppc: Extract MPC5xx aliases
  target-ppc: Extract MGT823/MPC8xx as aliases
  target-ppc: Extract 40x aliases
  target-ppc: Extract 440 aliases
  target-ppc: Turn "ppc32" and "ppc64" CPUs into aliases
  target-ppc: Extract 74x7[A] aliases
  target-ppc: Extract 74x5 as aliases
  target-ppc: Extract 74x1 aliases
  target-ppc: Extract 7450 alias
  target-ppc: Extract 7448 alias
  target-ppc: Extract 7410 alias
  target-ppc: Extract 7400 alias
  target-ppc: Extract 7x5 aliases
  target-ppc: Extract 750 aliases
  target-ppc: Extract 740/750 aliases
  target-ppc: Extract 604e alias
  target-ppc: Extract 603e alias
  target-ppc: Extract 603r alias
  target-ppc: Extract 601/601v aliases
  target-ppc: Extract MPC85xx aliases
  target-ppc: Extract e500v1/e500v2 aliases
  target-ppc: Extract MPC83xx aliases
  target-ppc: Extract e300 alias
  target-ppc: Extract e200 alias
  target-ppc: Extract MPC82xx alias
  target-ppc: Extract MPC8247/MPC8248/MPC8270-80 aliases
  target-ppc: Extract MPC82xx aliases to *_HiP4
  target-ppc: Extract MPC82xx_HiP{3,4} aliases
  target-ppc: Extract MPC52xx alias
  target-ppc: Extract MPC5200/MPC5200B aliases
  target-ppc: Extract MPC8240 alias
  target-ppc: Extract 405GPe alias
  target-ppc: Extract 970 aliases
  target-ppc: Extract POWER7 alias
  target-ppc: Get model name from type name
  target-ppc: Convert CPU definitions
  target-ppc: Introduce abstract CPU family types
  target-ppc: Set instruction flags on CPU family classes
  target-ppc: Register all types for TARGET_PPCEMB
  target-ppc: Set remaining fields on CPU family classes
  target-ppc: Turn descriptive CPU family comments into device
    descriptions
  target-ppc: Turn descriptive CPU model comments into device
    descriptions
  target-ppc: Update Coding Style for CPU models
  target-ppc: Split model definitions out of translate_init.c
  target-ppc: Fix remaining microcontroller typos among models
  target-ppc: Change "POWER7" CPU alias

 target-ppc/Makefile.objs    |    1 +
 target-ppc/cpu-models.c     | 1225 ++++++++++
 target-ppc/cpu-models.h     |  727 ++++++
 target-ppc/cpu-qom.h        |   17 +-
 target-ppc/cpu.h            |   20 -
 target-ppc/kvm.c            |   32 +-
 target-ppc/translate_init.c | 5325 ++++++++++++++-----------------------------
 7 Dateien geändert, 3643 Zeilen hinzugefügt(+), 3704 Zeilen entfernt(-)
 create mode 100644 target-ppc/cpu-models.c
 create mode 100644 target-ppc/cpu-models.h

-- 
1.7.10.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]