[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
- [Qemu-devel] [PATCH ppc-next v2 00/52] PowerPCCPU subclasses, remixed,
Andreas Färber <=
- [Qemu-devel] [PATCH ppc-next v2 03/52] target-ppc: Drop nested TARGET_PPC64 guard for POWER7, Andreas Färber, 2013/02/18
- [Qemu-devel] [PATCH ppc-next v2 01/52] target-ppc: Fix "G2leGP3" PVR, Andreas Färber, 2013/02/18
- [Qemu-devel] [PATCH ppc-next v2 02/52] target-ppc: Update error handling in ppc_cpu_realize(), Andreas Färber, 2013/02/18
- [Qemu-devel] [PATCH ppc-next v2 06/52] target-ppc: Make -cpu "ppc" an alias to "ppc32", Andreas Färber, 2013/02/18
- [Qemu-devel] [PATCH ppc-next v2 07/52] target-ppc: Extract MPC5xx aliases, Andreas Färber, 2013/02/18
- [Qemu-devel] [PATCH ppc-next v2 08/52] target-ppc: Extract MGT823/MPC8xx as aliases, Andreas Färber, 2013/02/18
- [Qemu-devel] [PATCH ppc-next v2 11/52] target-ppc: Turn "ppc32" and "ppc64" CPUs into aliases, Andreas Färber, 2013/02/18
- [Qemu-devel] [PATCH ppc-next v2 10/52] target-ppc: Extract 440 aliases, Andreas Färber, 2013/02/18
- [Qemu-devel] [PATCH ppc-next v2 05/52] target-ppc: Extract aliases from definitions list, Andreas Färber, 2013/02/18
- [Qemu-devel] [PATCH ppc-next v2 12/52] target-ppc: Extract 74x7[A] aliases, Andreas Färber, 2013/02/18