qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 4bce52: target-ppc: KVMPPC_H_CAS fix cpu-vers


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 4bce52: target-ppc: KVMPPC_H_CAS fix cpu-version endianess
Date: Tue, 08 Jul 2014 05:00:04 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 4bce526ec4b88362a684fd858e0e14c83ddf0db4
      
https://github.com/qemu/qemu/commit/4bce526ec4b88362a684fd858e0e14c83ddf0db4
  Author: Laurent Dufour <address@hidden>
  Date:   2014-07-08 (Tue, 08 Jul 2014)

  Changed paths:
    M hw/ppc/spapr.c

  Log Message:
  -----------
  target-ppc: KVMPPC_H_CAS fix cpu-version endianess

During KVMPPC_H_CAS processing, the cpu-version updated value is stored
without taking care of the current endianess. As a consequence, the guest
may not switch to the right CPU model, leading to unexpected results.

If needed, the value is now converted.

Fixes: 6d9412ea8132 ("target-ppc: Implement "compat" CPU option")
Signed-off-by: Laurent Dufour <address@hidden>
Reviewed-by: Greg Kurz <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>


  Commit: a74029f6cbce43074793dc30534fb6b3aeab7584
      
https://github.com/qemu/qemu/commit/a74029f6cbce43074793dc30534fb6b3aeab7584
  Author: Richard Henderson <address@hidden>
  Date:   2014-07-08 (Tue, 08 Jul 2014)

  Changed paths:
    M linux-user/main.c
    M target-ppc/translate_init.c

  Log Message:
  -----------
  target-ppc: Change default cpu for ppc64le-linux-user

The default, 970fx, doesn't support MSR_LE.  So even though we set LE in
ppc_cpu_reset, it gets cleared again in hreg_store_msr.  Error out if a
user-selected cpu model doesn't support LE.

Signed-off-by: Richard Henderson <address@hidden>
[agraf: switch to POWER7 as default for BE and LE]
Signed-off-by: Alexander Graf <address@hidden>


  Commit: be5c9ddabc25f73b619974027f7894d8cb8a2c82
      
https://github.com/qemu/qemu/commit/be5c9ddabc25f73b619974027f7894d8cb8a2c82
  Author: Richard Henderson <address@hidden>
  Date:   2014-07-08 (Tue, 08 Jul 2014)

  Changed paths:
    M target-ppc/gdbstub.c

  Log Message:
  -----------
  target-ppc: Fix gdbstub for ppc64le-linux-user

The bswap that's needed for system mode isn't required for
user mode, and in fact breaks debugging.

Signed-off-by: Richard Henderson <address@hidden>
[agraf: fix apple gdbstub implementation]
Signed-off-by: Alexander Graf <address@hidden>


  Commit: da89a1cf92be6c195ff35afd253a11b427a152c3
      
https://github.com/qemu/qemu/commit/da89a1cf92be6c195ff35afd253a11b427a152c3
  Author: Alexander Graf <address@hidden>
  Date:   2014-07-08 (Tue, 08 Jul 2014)

  Changed paths:
    M target-ppc/mmu_helper.c

  Log Message:
  -----------
  PPC: Fix booke206 TLB with phys addrs > 32bit

We were truncating physical addresses to 32bit when using qemu-system-ppc
with a booke206 TLB implementation. This patch fixes that and makes the full
address space available.

Signed-off-by: Alexander Graf <address@hidden>


  Commit: d6c23f8a1b0d3ffdd7e826e1d555b519645257d9
      
https://github.com/qemu/qemu/commit/d6c23f8a1b0d3ffdd7e826e1d555b519645257d9
  Author: Alexey Kardashevskiy <address@hidden>
  Date:   2014-07-08 (Tue, 08 Jul 2014)

  Changed paths:
    M pc-bios/README
    M pc-bios/slof.bin
    M roms/SLOF

  Log Message:
  -----------
  pseries: Update SLOF firmware image to qemu-slof-20140630

The changelog is:
  > Quieten the grub warning
  > Add boot menu support
  > boot from disk having chrp-boot file
  > fat16: fix read and remove debug messages
  > dhcparch define missing in compilation
  > pci-scan: reserve memory for pci-bridge without devices
  > pci-bridge: Fix ranges when no device beyond the bridge
  > Set dhcp arch in board-qemu config file
  > xhci: fix controller stop
  > dhcp: support client architecture code 93
  > virtio-blk: support variable block size
  > usb: use common pci dma alloc/mapping routines
  > Remove unused SLOF code
  > pci-bridge: generic bridge needs to support pci dma functions
  > pci: extract dma functions as separate file
  > e1000: fix usage of multiple nics

Signed-off-by: Alexey Kardashevskiy <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>


  Commit: 03ae4133ab8675d4c67e6fdc8032de7c53a89514
      
https://github.com/qemu/qemu/commit/03ae4133ab8675d4c67e6fdc8032de7c53a89514
  Author: Alexey Kardashevskiy <address@hidden>
  Date:   2014-07-08 (Tue, 08 Jul 2014)

  Changed paths:
    M target-ppc/cpu-models.c
    M target-ppc/cpu-models.h
    M target-ppc/cpu-qom.h
    M target-ppc/translate_init.c

  Log Message:
  -----------
  target-ppc: Add pvr_match() callback

So far it was enough to have a base PVR value and mask per CPU
family such as POWER7 or POWER8. However there CPUs which are
completely architecturally compatible but have different PVRs such
as POWER7/POWER7+ and POWER8/POWER8E. For these CPUs, top 16 bits
are CPU family and low 16 bits are the version. The families have
PVR base values different enough so defining a mask which
would cover both (or potentially more) CPUs within the family is
not possible.

This adds a pvr_match() callback to PowerPCCPUClass. The default
handler simply compares PVR defined in the class.

This implements ppc_pvr_match_power7/ppc_pvr_match_power8 callbacks
for POWER7/8 families. These check for POWER7/POWER7+ and POWER8/POWER8E.

This changes ppc_cpu_compare_class_pvr_mask() not to check masks but
use the pvr_match() callback.

Since all server CPUs use the same mask, this defines one mask
value - CPU_POWERPC_POWER_SERVER_MASK - which is used everywhere now.
This removes other mask definitions.

This removes pvr_mask from PowerPCCPUClass as it is not used anymore.
This removes pvr initialization for POWER7/8 families as it is not used
to find the class, the pvr_match() callback is used instead.

Signed-off-by: Alexey Kardashevskiy <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>


  Commit: b60c60070c0df4ef01d5c727929fe0e93e6fdd09
      
https://github.com/qemu/qemu/commit/b60c60070c0df4ef01d5c727929fe0e93e6fdd09
  Author: Alexey Kardashevskiy <address@hidden>
  Date:   2014-07-08 (Tue, 08 Jul 2014)

  Changed paths:
    M target-ppc/cpu-models.c
    M target-ppc/translate_init.c

  Log Message:
  -----------
  target-ppc: Remove POWER7+ and POWER8E families

POWER8E is architecturally equal to POWER8 and POWER7+ is equal to
POWER7. Also no user space tool makes any difference for CPU node name
in the device tree (such as PowerPC,address@hidden vs. PowerPC,address@hidden).
So there is no point in emulating POWER7+ and POWER8E apart from POWER7
and POWER8. Also, the previos patch implemented multiple PVR mask support
per CPU class so POWER7 class now covers both POWER7 and POWER7+ CPUs,
same is valid for POWER8/8E.

This removes POWER7+ and POWER8E classes. This replaces references
to POWER7P/POWER8E families with POWER7/POWER8 families.

Signed-off-by: Alexey Kardashevskiy <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>


  Commit: 0c6ab8c988830d3fe01c4ee88100a95ea95c49fa
      
https://github.com/qemu/qemu/commit/0c6ab8c988830d3fe01c4ee88100a95ea95c49fa
  Author: Cole Robinson <address@hidden>
  Date:   2014-07-08 (Tue, 08 Jul 2014)

  Changed paths:
    M Makefile

  Log Message:
  -----------
  PPC: e500: Actually install u-boot.e500

Signed-off-by: Cole Robinson <address@hidden>
Signed-off-by: Alexander Graf <address@hidden>


  Commit: eaa4980185943da6e36f6f2e052d41924705e1ea
      
https://github.com/qemu/qemu/commit/eaa4980185943da6e36f6f2e052d41924705e1ea
  Author: Peter Maydell <address@hidden>
  Date:   2014-07-08 (Tue, 08 Jul 2014)

  Changed paths:
    M Makefile
    M hw/ppc/spapr.c
    M linux-user/main.c
    M pc-bios/README
    M pc-bios/slof.bin
    M roms/SLOF
    M target-ppc/cpu-models.c
    M target-ppc/cpu-models.h
    M target-ppc/cpu-qom.h
    M target-ppc/gdbstub.c
    M target-ppc/mmu_helper.c
    M target-ppc/translate_init.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/agraf/tags/signed-ppc-for-upstream' 
into staging

Patch queue for ppc - 2014-07-08

A few bug fixes for 2.1:

  - Fix e500* TLB emulation with qemu-system-ppc
  - Update SLOF to current upstream (good number of bugfixes)
  - Make POWER7 / POWER8 PVR match more agnostic (needed in 2.1 for cmdline 
compat)
  - Fix u-boot.e500 install (how did that happen?)
  - Fix H_CAS on LE hosts
  - ppc64le-linux-user fixes

# gpg: Signature made Tue 08 Jul 2014 11:18:58 BST using RSA key ID 03FEDC60
# gpg: Can't check signature: public key not found

* remotes/agraf/tags/signed-ppc-for-upstream:
  PPC: e500: Actually install u-boot.e500
  target-ppc: Remove POWER7+ and POWER8E families
  target-ppc: Add pvr_match() callback
  pseries: Update SLOF firmware image to qemu-slof-20140630
  PPC: Fix booke206 TLB with phys addrs > 32bit
  target-ppc: Fix gdbstub for ppc64le-linux-user
  target-ppc: Change default cpu for ppc64le-linux-user
  target-ppc: KVMPPC_H_CAS fix cpu-version endianess

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


Compare: https://github.com/qemu/qemu/compare/128f0e66149a...eaa498018594

reply via email to

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