mbox

[PULL,00/37] QOM CPUState patch queue 2013-01-28

Message ID 1359389934-16663-1-git-send-email-afaerber@suse.de
State New
Headers show

Pull-request

git://github.com/afaerber/qemu-cpu.git qom-cpu

Message

Andreas Färber Jan. 28, 2013, 4:18 p.m. UTC
Hello,

This is my current QOM CPU patch queue. Please pull.

It includes:
* x86 APIC ID topology fixes,
* -cpu bugfixes related to QOM CPU subtypes for alpha, arm, m68k, or32 and uc32,
* a new QOM accessor object_class_is_abstract(),
* a CPUClass::class_by_name hook and cpu_class_by_name() wrapper,
* various cleanups for x86, m68k, or32, uc32 and KVM.

Another pull is intended before the Hard Freeze to give pending for-1.4 patches
sufficient time for review.

Regards,
Andreas

Cc: Anthony Liguori <anthony@codemonkey.ws>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>


The following changes since commit 6034fe7bdb555c43022706e228cde8d52a8b341a:

  xilinx_ethlite: Avoid build warnings in debug code (2013-01-27 01:05:00 +0100)

are available in the git repository at:

  git://github.com/afaerber/qemu-cpu.git qom-cpu

for you to fetch changes up to 290adf38967787bd985a5ec67dc4717e83c29eaa:

  kvm: Pass CPUState to kvm_on_sigbus_vcpu() (2013-01-28 16:57:56 +0100)

----------------------------------------------------------------
Andreas Färber (21):
      target-openrisc: Drop OpenRISCCPUList
      target-openrisc: Clean up triple QOM casts
      target-i386: Simplify cpu_x86_find_by_name()
      target-i386: Drop redundant list of CPU definitions
      cpu: Add model resolution support to CPUClass
      target-arm: Detect attempt to instantiate non-CPU type in cpu_init()
      target-alpha: Detect attempt to instantiate non-CPU type in cpu_init()
      target-m68k: Detect attempt to instantiate non-CPU type in cpu_init()
      target-openrisc: Detect attempt to instantiate non-CPU type in cpu_init()
      target-unicore32: Detect attempt to instantiate non-CPU type in cpu_init()
      qom: Introduce object_class_is_abstract()
      target-alpha: Catch attempt to instantiate abstract type in cpu_init()
      target-arm: Catch attempt to instantiate abstract type in cpu_init()
      target-m68k: Catch attempt to instantiate abstract type in cpu_init()
      target-openrisc: Catch attempt to instantiate abstract type in cpu_init()
      target-unicore32: Catch attempt to instantiate abstract type in cpu_init()
      target-openrisc: Use type_register() instead of type_register_static()
      target-unicore32: Use type_register() instead of type_register_static()
      target-m68k: Use type_register() instead of type_register_static()
      cpu: Unconditionalize CPUState fields
      kvm: Pass CPUState to kvm_on_sigbus_vcpu()

Eduardo Habkost (11):
      kvm: Add fake KVM_FEATURE_CLOCKSOURCE_STABLE_BIT for builds without KVM
      target-i386: Don't set any KVM flag by default if KVM is disabled
      pc: Reverse pc_init_pci() compatibility logic
      kvm: Create kvm_arch_vcpu_id() function
      target-i386: kvm: Set vcpu_id to APIC ID instead of CPU index
      target-i386: Introduce x86_cpu_apic_id_from_index() function
      fw_cfg: Remove FW_CFG_MAX_CPUS from fw_cfg_init()
      cpus.h: Make constant smp_cores/smp_threads available on *-user
      pc: Set fw_cfg data based on APIC ID calculation
      target-i386: Topology & APIC ID utility functions
      pc: Generate APIC IDs according to CPU topology

Igor Mammedov (5):
      target-i386: Print deprecation warning if xlevel < 0x80000000
      target-i386: Replace uint32_t vendor fields by vendor string in x86_def_t
      target-i386: Remove vendor_override field from CPUX86State
      target-i386: Set custom features/properties without intermediate x86_def_t
      target-i386: Remove setting tsc-frequency from x86_def_t

 cpus.c                             |    8 +-
 hw/fw_cfg.c                        |    1 -
 hw/pc.c                            |   40 +++-
 hw/pc_piix.c                       |   26 ++-
 hw/ppc/mac_newworld.c              |    1 +
 hw/ppc/mac_oldworld.c              |    1 +
 hw/sun4m.c                         |    3 +
 hw/sun4u.c                         |    1 +
 include/qom/cpu.h                  |   17 +-
 include/qom/object.h               |    8 +
 include/sysemu/cpus.h              |    7 +
 include/sysemu/kvm.h               |    6 +-
 kvm-all.c                          |    5 +-
 kvm-stub.c                         |    2 +-
 qom/cpu.c                          |   13 ++
 qom/object.c                       |    5 +
 target-alpha/cpu.c                 |   16 +-
 target-arm/cpu.c                   |   18 ++
 target-arm/helper.c                |    6 +-
 target-i386/cpu.c                  |  389 ++++++++++++++++--------------------
 target-i386/cpu.h                  |   12 +-
 target-i386/kvm.c                  |    6 +
 target-i386/topology.h             |  136 +++++++++++++
 target-m68k/cpu.c                  |   20 +-
 target-m68k/helper.c               |    6 +-
 target-openrisc/cpu.c              |   36 +++-
 target-openrisc/exception_helper.c |    2 +-
 target-openrisc/fpu_helper.c       |   32 +--
 target-openrisc/int_helper.c       |    2 +-
 target-openrisc/interrupt_helper.c |    2 +-
 target-openrisc/mmu.c              |    6 +-
 target-openrisc/sys_helper.c       |    4 +-
 target-ppc/kvm.c                   |    5 +
 target-ppc/translate_init.c        |    2 +
 target-s390x/kvm.c                 |    5 +
 target-unicore32/cpu.c             |   26 ++-
 target-unicore32/helper.c          |    6 +-
 tests/.gitignore                   |    1 +
 tests/Makefile                     |    9 +-
 tests/test-x86-cpuid.c             |  110 ++++++++++
 40 Dateien geändert, 709 Zeilen hinzugefügt(+), 292 Zeilen entfernt(-)
 create mode 100644 target-i386/topology.h
 create mode 100644 tests/test-x86-cpuid.c