qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] c2a012: macio: add missing registers to VMSta


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] c2a012: macio: add missing registers to VMStateDescription
Date: Tue, 17 Oct 2017 09:11:33 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: c2a0125a8331ed92adbaaea5f43a71fda678c9b9
      
https://github.com/qemu/qemu/commit/c2a0125a8331ed92adbaaea5f43a71fda678c9b9
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ide/macio.c

  Log Message:
  -----------
  macio: add missing registers to VMStateDescription

Commit 4f7265f "ppc/ide/macio: Add missing registers" added two extra macio
registers but forgot to add them to the corresponding VMStateDescription.

The version number is bumped accordingly, although this will have little
effect given that the Mac machines are practically unmigratable.

Signed-off-by: Mark Cave-Ayland <address@hidden>
Acked-by: John Snow <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: a4f3885c7496fa3c5af8ad849f2ec55d9214d66c
      
https://github.com/qemu/qemu/commit/a4f3885c7496fa3c5af8ad849f2ec55d9214d66c
  Author: Greg Kurz <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/pnv.c
    M hw/ppc/spapr.c

  Log Message:
  -----------
  hw/ppc: use 0 instead of fdt_path_offset(fdt, "/")

The offset of the root node is guaranteed to be 0.

This doesn't fix anything, it's just trivial cleanup of the two
remaining places where this was done under hw/ppc.

Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Reviewed-by: Daniel Henrique Barboza <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: 7ff26aa6c6579f8673bb8438ad6cbb44ef88e061
      
https://github.com/qemu/qemu/commit/7ff26aa6c6579f8673bb8438ad6cbb44ef88e061
  Author: Thomas Huth <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M target/ppc/translate_init.c

  Log Message:
  -----------
  target/ppc: Remove unused PPC 460 and 460F definitions

We don't have any 460 or 460F CPUs in QEMU, so the init functions
are just dead code. Let's simply remove them (translate_init.c
is already big enough without them).

Signed-off-by: Thomas Huth <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: dc1b5eee868d0ce18dd83e472cdd282257fe6938
      
https://github.com/qemu/qemu/commit/dc1b5eee868d0ce18dd83e472cdd282257fe6938
  Author: Greg Kurz <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/spapr.c

  Log Message:
  -----------
  spapr: fix OF word name in comment

Signed-off-by: Greg Kurz <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: 827b17c468b0dae69f82f852958d16f4bf6d6bf0
      
https://github.com/qemu/qemu/commit/827b17c468b0dae69f82f852958d16f4bf6d6bf0
  Author: Greg Kurz <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/spapr.c

  Log Message:
  -----------
  spapr: sanity check size of the CAS buffer

The CAS buffer is provided by SLOF. A broken SLOF could pass a silly
size: either smaller than the diff header, in which case the current
code will try to allocate 16 Exabytes of memory and g_malloc0() will
abort, or bigger than the maximum memory provisioned for SLOF (ie,
40 Megabytes), which doesn't make sense. Both cases indicate that
SLOF has a bug.

Let's print out an explicit error message and exit since rebooting as
we do with other errors would only result in a reset loop.

Signed-off-by: Greg Kurz <address@hidden>
[dwg: Fix format specifier that broke 32-bit builds]
Signed-off-by: David Gibson <address@hidden>


  Commit: 1ed9c8af501f8d1bdf5a8725a038527be059f54d
      
https://github.com/qemu/qemu/commit/1ed9c8af501f8d1bdf5a8725a038527be059f54d
  Author: David Gibson <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/spapr_cpu_core.c
    M target/ppc/cpu-models.c
    M target/ppc/cpu-models.h

  Log Message:
  -----------
  target/ppc: Add POWER9 DD2.0 model information

At the moment the only POWER9 model which is listed in qemu is v1.0 (aka
"DD1").  This is a very early (read, buggy) version which will never be
released to the public - it was included in qemu only for the convenience
of those doing bringup on the early silicon.  For bonus points, we actually
had its PVR incorrect in the table (0x004e0000 instead of 0x004e0100).  We
also never actually implemented the differences in behaviour (read, bugs)
that marked DD1 in qemu.

Now that we know the PVR for the substantially better v2.0 (DD2) chip,
include it and make it the default POWER9 in qemu.  For the time being we
leave the DD1 definition in place for the poor souls (read, me) who still
need to work with DD1 hardware.

Signed-off-by: David Gibson <address@hidden>


  Commit: af1c259f6d4f1c6b0af22a0ff0b764c4ef3ef85e
      
https://github.com/qemu/qemu/commit/af1c259f6d4f1c6b0af22a0ff0b764c4ef3ef85e
  Author: Sandipan Das <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M target/ppc/int_helper.c
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: Fix carry flag setting for shift algebraic instructions

For POWER ISA v3.0, the XER bit CA32 needs to be set by the shift
right algebraic instructions whenever the CA bit is to be set. This
change affects the following instructions:
  * Shift Right Algebraic Word (sraw[.])
  * Shift Right Algebraic Word Immediate (srawi[.])
  * Shift Right Algebraic Doubleword (srad[.])
  * Shift Right Algebraic Doubleword Immediate (sradi[.])

Signed-off-by: Sandipan Das <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: 2a129767ebb13ffc29dad6a8e8e6eec06dc38b25
      
https://github.com/qemu/qemu/commit/2a129767ebb13ffc29dad6a8e8e6eec06dc38b25
  Author: Daniel Henrique Barboza <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/spapr.c

  Log Message:
  -----------
  hw/ppc/spapr.c: abort unplug_request if previous unplug isn't done

LMB removal is completed only when the spapr_lmb_release callback
is called after all DRCs of the dimm are detached. During this
time, it is possible that a unplug request for the same dimm
arrives, trying to detach DRCs that were detached by the guest
in the first unplug_request.

BQL doesn't help in this case - the lock will prevent any concurrent
removal from happening until the end of spapr_memory_unplug_request
only. What happens is that the second unplug_request ends up calling
spapr_drc_detach in a DRC that were detached already, causing an
assert error in spapr_drc_detach (e.g
https://bugs.launchpad.net/qemu/+bug/1718118).

spapr_lmb_release uses a structure called sPAPRDIMMState, stored in the
spapr->pending_dimm_unplugs QTAIL, to track how many LMB DRCs are left
to be detached by the guest. When there are no more DRCs left, this
structure is deleted and the pc-dimm unplug handler is called to
finish the process.

This patch reuses the sPAPRDIMMState to allow unplug_request to know
if there is an ongoing unplug process for a given dimm, aborting the
unplug request in this case, by doing the following changes:

- in spapr_lmb_release callback, move the dimm state removal to the
end, after pc-dimm unplug handler. With this change we can check for
the existence of the dimm state to see if the unplug process is
done.

- use spapr_pending_dimm_unplugs_find in spapr_memory_unplug_request
to check if the dimm state exists. If positive, there is an unplug
operation already in progress for this dimm, meaning that we should
abort it and warn the user about it.

Fixes: https://bugs.launchpad.net/qemu/+bug/1718118
Signed-off-by: Daniel Henrique Barboza <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: aa04c9d20704fa5b9ab239d5111adbcce5f49808
      
https://github.com/qemu/qemu/commit/aa04c9d20704fa5b9ab239d5111adbcce5f49808
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M include/qom/object.h
    M qom/object.c

  Log Message:
  -----------
  qom: introduce type_register_static_array()

it will help to remove code duplication of registration
static types in places that have open coded loop to
perform batch type registering.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: 38b5d79b2e8cf6085324066d84e8bb3b3bbe8548
      
https://github.com/qemu/qemu/commit/38b5d79b2e8cf6085324066d84e8bb3b3bbe8548
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M include/qom/object.h

  Log Message:
  -----------
  qom: add helper macro DEFINE_TYPES()

DEFINE_TYPES() will help to simplify following routine patterns:

 static void foo_register_types(void)
 {
    type_register_static(&foo1_type_info);
    type_register_static(&foo2_type_info);
    ...
 }

 type_init(foo_register_types)

or

 static void foo_register_types(void)
 {
    int i;

    for (i = 0; i < ARRAY_SIZE(type_infos); i++) {
  type_register_static(&type_infos[i]);
    }
 }

 type_init(foo_register_types)

with a single line

 DEFINE_TYPES(type_infos)

where types have static definition which could be consolidated in
a single array of TypeInfo structures.
It saves us ~6-10LOC per use case and would help to replace
imperative foo_register_types() there with declarative style of
type registration.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: 59e816fd3eaf6009b82c08bf7bb8d50764b866d9
      
https://github.com/qemu/qemu/commit/59e816fd3eaf6009b82c08bf7bb8d50764b866d9
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/e500.c
    M hw/ppc/e500plat.c
    M hw/ppc/mpc8544ds.c

  Log Message:
  -----------
  ppc: mpc8544ds/e500plat: use generic cpu_model parsing

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: 9dff4c07e1357baf719f760642c58d5ee00c8091
      
https://github.com/qemu/qemu/commit/9dff4c07e1357baf719f760642c58d5ee00c8091
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/mac_newworld.c

  Log Message:
  -----------
  ppc: mac_newworld: use generic cpu_model parsing

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: f4c6604e868ce740ea06d6a86a79706c8b03d321
      
https://github.com/qemu/qemu/commit/f4c6604e868ce740ea06d6a86a79706c8b03d321
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/mac_oldworld.c

  Log Message:
  -----------
  ppc: mac_oldworld: use generic cpu_model parsing

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: 376d7a2abb3e9097bbea079213b38d657e182561
      
https://github.com/qemu/qemu/commit/376d7a2abb3e9097bbea079213b38d657e182561
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/ppc440_bamboo.c

  Log Message:
  -----------
  ppc: bamboo: use generic cpu_model parsing

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: 9391b8c5638808e4da392f77dfa8d0506f4a76ed
      
https://github.com/qemu/qemu/commit/9391b8c5638808e4da392f77dfa8d0506f4a76ed
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/ppc405_uc.c
    M hw/ppc/ppc4xx_devs.c

  Log Message:
  -----------
  ppc: replace cpu_model with cpu_type on ref405ep,taihu boards

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: 6bab8eaa95f58667bbc63b75fa01465a731cd40b
      
https://github.com/qemu/qemu/commit/6bab8eaa95f58667bbc63b75fa01465a731cd40b
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/virtex_ml507.c

  Log Message:
  -----------
  ppc: virtex-ml507: replace cpu_model with cpu_type

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: 23ec69ecf9397b9e990bc05de29db4af8c4fce85
      
https://github.com/qemu/qemu/commit/23ec69ecf9397b9e990bc05de29db4af8c4fce85
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/prep.c

  Log Message:
  -----------
  ppc: 40p/prep: replace cpu_model with cpu_type

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: a1063aa8a5e7bb66f7d2ea1da335d856df0b6f23
      
https://github.com/qemu/qemu/commit/a1063aa8a5e7bb66f7d2ea1da335d856df0b6f23
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/ppc.c
    M hw/ppc/spapr_cpu_core.c
    M include/hw/ppc/ppc.h

  Log Message:
  -----------
  ppc: spapr: replace ppc_cpu_parse_features() with cpu_parse_cpu_model()

ppc_cpu_parse_features() is doing practically the same thing as
generic cpu_parse_cpu_model(). So remove duplicated impl. and
reuse generic one.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Acked-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: b8e999673bd479eed7e71a5e8bc468bca4e31d7d
      
https://github.com/qemu/qemu/commit/b8e999673bd479eed7e71a5e8bc468bca4e31d7d
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/spapr.c
    M hw/ppc/spapr_cpu_core.c
    M include/hw/ppc/spapr.h
    M target/ppc/cpu-qom.h
    M target/ppc/translate_init.c

  Log Message:
  -----------
  ppc: move '-cpu foo,compat=xxx' parsing into ppc_cpu_parse_featurestr()

there is a dedicated callback CPUClass::parse_features
which purpose is to convert -cpu features into a set of
global properties AND deal with compat/legacy features
that couldn't be directly translated into CPU's properties.

Create ppc variant of it (ppc_cpu_parse_featurestr) and
move 'compat=val' handling from spapr_cpu_core.c into it.
That removes a dependency of board/core code on cpu_model
parsing and would let to reuse common -cpu parsing
introduced by 6063d4c0

Set "max-cpu-compat" property only if it exists, in practice
it should limit 'compat' hack to spapr machine and allow
to avoid including machine/spapr headers in target/ppc/cpu.c

Signed-off-by: Igor Mammedov <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: 44cd95e31a94ef39c8888ad9e8f5fec66dae31bb
      
https://github.com/qemu/qemu/commit/44cd95e31a94ef39c8888ad9e8f5fec66dae31bb
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/spapr_cpu_core.c
    M include/hw/ppc/spapr_cpu_core.h

  Log Message:
  -----------
  ppc: spapr: define core types statically

spapr core type definition doesn't have any fields that
require it to be defined at runtime. So replace code
that fills in TypeInfo at runtime with static TypeInfo
array that does the same at complie time.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: b51d3c8818e2fd0a4a36a43d7f8756274cbc5ac9
      
https://github.com/qemu/qemu/commit/b51d3c8818e2fd0a4a36a43d7f8756274cbc5ac9
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/spapr.c
    M hw/ppc/spapr_cpu_core.c
    M include/hw/ppc/spapr_cpu_core.h
    M target/ppc/kvm.c

  Log Message:
  -----------
  ppc: spapr: use cpu type name directly

replace sPAPRCPUCoreClass::cpu_class with cpu type name
since it were needed just to get that at points it were
accessed.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Acked-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: 5bbb2641861934e1ba52151cb9eb4cfac581346c
      
https://github.com/qemu/qemu/commit/5bbb2641861934e1ba52151cb9eb4cfac581346c
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/spapr_cpu_core.c
    M include/hw/ppc/spapr_cpu_core.h
    M target/ppc/kvm.c

  Log Message:
  -----------
  ppc: spapr: register 'host' core type along with the rest of core types

consolidate 'host' core type registration by moving it from
KVM specific code into spapr_cpu_core.c, similar like it's
done in x86 target.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Acked-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: 17be88a713cabc9fed5e3fc54bf1cd2a5808a00f
      
https://github.com/qemu/qemu/commit/17be88a713cabc9fed5e3fc54bf1cd2a5808a00f
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/spapr.c

  Log Message:
  -----------
  ppc: spapr: use cpu model names as tcg defaults instead of aliases

Signed-off-by: Igor Mammedov <address@hidden>
Acked-by: David Gibson <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: b918f885ae1ca354d2f505a7c4a4b91c9de50f18
      
https://github.com/qemu/qemu/commit/b918f885ae1ca354d2f505a7c4a4b91c9de50f18
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M target/ppc/translate_init.c

  Log Message:
  -----------
  ppc: move ppc_cpu_lookup_alias() before its first user

next commit will drop ppc_cpu_lookup_alias() declaration from header
and make it static which will break its last user ppc_cpu_class_by_name()
since ppc_cpu_class_by_name() defined before ppc_cpu_lookup_alias().

To avoid this move ppc_cpu_lookup_alias() right before
ppc_cpu_class_by_name().

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: 2e9c10eba0206e7b9a5ed03e51269759caac27f0
      
https://github.com/qemu/qemu/commit/2e9c10eba0206e7b9a5ed03e51269759caac27f0
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/spapr.c
    M hw/ppc/spapr_cpu_core.c
    M include/hw/ppc/spapr.h
    M include/hw/ppc/spapr_cpu_core.h
    M target/ppc/cpu.h
    M target/ppc/kvm.c
    M target/ppc/translate_init.c

  Log Message:
  -----------
  ppc: spapr: use generic cpu_model parsing

use generic cpu_model parsing introduced by
 (6063d4c0f vl.c: convert cpu_model to cpu type and set of global properties 
before machine_init())

it allows to:
  * replace sPAPRMachineClass::tcg_default_cpu with
    MachineClass::default_cpu_type
  * drop cpu_parse_cpu_model() from hw/ppc/spapr.c and reuse
    one in vl.c
  * simplify spapr_get_cpu_core_type() by removing
    not needed anymore recurrsion since alias look up
    happens earlier at vl.c and spapr_get_cpu_core_type()
    works only with resulted from that cpu type.
  * spapr no more needs to parse/depend on being phased out
    MachineState::cpu_model, all tha parsing done by generic
    code and target specific callback.

Signed-off-by: Igor Mammedov <address@hidden>
[dwg: Correct minor compile error]
Signed-off-by: David Gibson <address@hidden>


  Commit: 4a12c699d3fe08087381bd633284abae689b3999
      
https://github.com/qemu/qemu/commit/4a12c699d3fe08087381bd633284abae689b3999
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/pnv.c
    M hw/ppc/pnv_core.c
    M include/hw/ppc/pnv.h

  Log Message:
  -----------
  ppc: pnv: use generic cpu_model parsing

use common cpu_model prasing in vl.c and set default cpu_model
using generic MachineClass::default_cpu_type.

Beside of switching to generic infrastructure it solves several
issues.

 * ppc_cpu_class_by_name() is used to deal with lower/upper case
   and alias translations into actual cpu type, which fixes
    '-M powernv -cpu power8' and '-M powernv -cpu power9_v1.0'
   usecases which error out with:
    'invalid CPU model 'FOO' for powernv machine'
 * allows to switch to lower-case typenames in pnv chip/core name
   (by convention typnames should be lower-case)
 * replace aliased names /power8, power9, .../ with exact cpu model
   names (i.e. typenames should be stable but aliases might decide to
   point to other cpu model withi family or changed by kvm). It will
   also help to simplify pnv_chip/core code and get rid of dependency
   on cpu_model parsing.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
[dwg: Updated to make DD2.0 as default POWER9 chip]
Signed-off-by: David Gibson <address@hidden>


  Commit: 7fd544d8a754129b1a09281535a16daffc781f92
      
https://github.com/qemu/qemu/commit/7fd544d8a754129b1a09281535a16daffc781f92
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/pnv.c
    M hw/ppc/pnv_core.c
    M include/hw/ppc/pnv.h
    M include/hw/ppc/pnv_core.h

  Log Message:
  -----------
  ppc: pnv: normalize core/chip type names

typically for cpus/core type names following convention is used

   new_type_prefix-superclass_typename

make PNV core/chip to follow common convention.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Acked-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: 35bdb9def236135a24c553c60d9e257985b18a1f
      
https://github.com/qemu/qemu/commit/35bdb9def236135a24c553c60d9e257985b18a1f
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/pnv_core.c
    M include/hw/ppc/pnv_core.h

  Log Message:
  -----------
  ppc: pnv: drop PnvCoreClass::cpu_oc field

deduce cpu type directly from core type instead of
maintaining type mapping in PnvCoreClass::cpu_oc and doing
extra cpu_model parsing in pnv_core_class_init()

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: 7383af1edcf2dd4e340df49d4b8752c966ef59e5
      
https://github.com/qemu/qemu/commit/7383af1edcf2dd4e340df49d4b8752c966ef59e5
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/pnv_core.c

  Log Message:
  -----------
  ppc: pnv: define core types statically

pnv core type definition doesn't have any fields that
require it to be defined at runtime. So replace code
that fills in TypeInfo at runtime with static TypeInfo
array that does the same at complie time.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Acked-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: 40abf43f72b584d426d7b27ab2528ecd12eceff6
      
https://github.com/qemu/qemu/commit/40abf43f72b584d426d7b27ab2528ecd12eceff6
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/pnv.c
    M hw/ppc/pnv_core.c
    M include/hw/ppc/pnv.h
    M include/hw/ppc/pnv_core.h

  Log Message:
  -----------
  ppc: pnv: drop PnvChipClass::cpu_model field

deduce core type directly from chip type instead of
maintaining type mapping in PnvChipClass::cpu_model.

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: beba5c0fe48bf80011ceeaacf0df0c186e413bc0
      
https://github.com/qemu/qemu/commit/beba5c0fe48bf80011ceeaacf0df0c186e413bc0
  Author: Igor Mammedov <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/pnv.c

  Log Message:
  -----------
  ppc: pnv: consolidate type definitions and batch register them

Use a new DEFINE_TYPES() helper to simplify type registration

Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Cédric Le Goater <address@hidden>
Acked-by: David Gibson <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: db50f280cf5f714e64ff2b134aae138908f07502
      
https://github.com/qemu/qemu/commit/db50f280cf5f714e64ff2b134aae138908f07502
  Author: David Gibson <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/spapr_hcall.c

  Log Message:
  -----------
  spapr: Correct RAM size calculation for HPT resizing

In order to prevent the guest from forcing the allocation of large amounts
of qemu memory (or host kernel memory, in the case of KVM HV), we limit
the size of Hashed Page Table (HPT) it is allowed to allocated, based on
its RAM size.

However, the current calculation is not correct: it only adds up the size
of plugged memory, ignoring the base memory size.  This patch corrects it.

While we're there, use get_plugged_memory_size() instead of directly
calling pc_existing_dimms_capacity().  The only difference is that it
will abort on failure, which is right: a failure here indicates something
wrong within qemu.

Signed-off-by: David Gibson <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Reviewed-by: Laurent Vivier <address@hidden>


  Commit: f7d6bfcdc0fe49040aac3ac131a319cb5427957e
      
https://github.com/qemu/qemu/commit/f7d6bfcdc0fe49040aac3ac131a319cb5427957e
  Author: Greg Kurz <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/spapr_pci.c

  Log Message:
  -----------
  spapr_pci: fail gracefully with non-pseries machine types

QEMU currently crashes when the user tries to add an spapr-pci-host-bridge
on a non-pseries machine:

$ qemu-system-ppc64 -M ppce500 -device spapr-pci-host-bridge,index=1
hw/ppc/spapr_pci.c:1535:spapr_phb_realize:
Object 0x1003dacae60 is not an instance of type spapr-machine
Aborted (core dumped)

The same thing happens with the deprecated but still available child type
spapr-pci-vfio-host-bridge.

Fix both by checking the machine type with object_dynamic_cast().

Reviewed-by: Daniel Henrique Barboza <address@hidden>
Signed-off-by: Greg Kurz <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: e7cca3e94f7595b7b5a493a87146e782831611d7
      
https://github.com/qemu/qemu/commit/e7cca3e94f7595b7b5a493a87146e782831611d7
  Author: Greg Kurz <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ppc/spapr_cpu_core.c

  Log Message:
  -----------
  spapr_cpu_core: rewrite machine type sanity check

This makes the code easier to understand and it is consistent with what
we already do for PHBs.

Signed-off-by: Greg Kurz <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: 861cd431c99e56ddb5953ca1da164a9c32b477ca
      
https://github.com/qemu/qemu/commit/861cd431c99e56ddb5953ca1da164a9c32b477ca
  Author: Peter Maydell <address@hidden>
  Date:   2017-10-17 (Tue, 17 Oct 2017)

  Changed paths:
    M hw/ide/macio.c
    M hw/ppc/e500.c
    M hw/ppc/e500plat.c
    M hw/ppc/mac_newworld.c
    M hw/ppc/mac_oldworld.c
    M hw/ppc/mpc8544ds.c
    M hw/ppc/pnv.c
    M hw/ppc/pnv_core.c
    M hw/ppc/ppc.c
    M hw/ppc/ppc405_uc.c
    M hw/ppc/ppc440_bamboo.c
    M hw/ppc/ppc4xx_devs.c
    M hw/ppc/prep.c
    M hw/ppc/spapr.c
    M hw/ppc/spapr_cpu_core.c
    M hw/ppc/spapr_hcall.c
    M hw/ppc/spapr_pci.c
    M hw/ppc/virtex_ml507.c
    M include/hw/ppc/pnv.h
    M include/hw/ppc/pnv_core.h
    M include/hw/ppc/ppc.h
    M include/hw/ppc/spapr.h
    M include/hw/ppc/spapr_cpu_core.h
    M include/qom/object.h
    M qom/object.c
    M target/ppc/cpu-models.c
    M target/ppc/cpu-models.h
    M target/ppc/cpu-qom.h
    M target/ppc/cpu.h
    M target/ppc/int_helper.c
    M target/ppc/kvm.c
    M target/ppc/translate.c
    M target/ppc/translate_init.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.11-20171017' 
into staging

ppc patch queue 2017-10-17

Here's the currently accumulated set of ppc patches for qemu.

  * The biggest set here is the ppc parts of Igor Mammedov's cleanups
    to cpu model handling
  * The above also includes a generic patches which are required as
    prerequisites for the ppc parts.  They don't seem to have been
    merged by Eduardo yet, so I hope they're ok to include here.
  * Apart from that it's basically just assorted bug fixes and cleanups

# gpg: Signature made Tue 17 Oct 2017 05:20:03 BST
# gpg:                using RSA key 0x6C38CACA20D9B392
# gpg: Good signature from "David Gibson <address@hidden>"
# gpg:                 aka "David Gibson (Red Hat) <address@hidden>"
# gpg:                 aka "David Gibson (ozlabs.org) <address@hidden>"
# gpg:                 aka "David Gibson (kernel.org) <address@hidden>"
# Primary key fingerprint: 75F4 6586 AE61 A66C C44E  87DC 6C38 CACA 20D9 B392

* remotes/dgibson/tags/ppc-for-2.11-20171017: (34 commits)
  spapr_cpu_core: rewrite machine type sanity check
  spapr_pci: fail gracefully with non-pseries machine types
  spapr: Correct RAM size calculation for HPT resizing
  ppc: pnv: consolidate type definitions and batch register them
  ppc: pnv: drop PnvChipClass::cpu_model field
  ppc: pnv: define core types statically
  ppc: pnv: drop PnvCoreClass::cpu_oc field
  ppc: pnv: normalize core/chip type names
  ppc: pnv: use generic cpu_model parsing
  ppc: spapr: use generic cpu_model parsing
  ppc: move ppc_cpu_lookup_alias() before its first user
  ppc: spapr: use cpu model names as tcg defaults instead of aliases
  ppc: spapr: register 'host' core type along with the rest of core types
  ppc: spapr: use cpu type name directly
  ppc: spapr: define core types statically
  ppc: move '-cpu foo,compat=xxx' parsing into ppc_cpu_parse_featurestr()
  ppc: spapr: replace ppc_cpu_parse_features() with cpu_parse_cpu_model()
  ppc: 40p/prep: replace cpu_model with cpu_type
  ppc: virtex-ml507: replace cpu_model with cpu_type
  ppc: replace cpu_model with cpu_type on ref405ep,taihu boards
  ...

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/a9038e5e1992...861cd431c99e

reply via email to

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