qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] e4f0c6: ppc: fix setting of compat mode


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] e4f0c6: ppc: fix setting of compat mode
Date: Fri, 10 Nov 2017 08:00:17 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: e4f0c6bb1a9f72ad9e32c3171d36bae17ea1cd67
      
https://github.com/qemu/qemu/commit/e4f0c6bb1a9f72ad9e32c3171d36bae17ea1cd67
  Author: Greg Kurz <address@hidden>
  Date:   2017-11-08 (Wed, 08 Nov 2017)

  Changed paths:
    M target/ppc/compat.c

  Log Message:
  -----------
  ppc: fix setting of compat mode

While trying to make KVM PR usable again, commit 5dfaa532ae introduced a
regression: the current compat_pvr value is passed to KVM instead of the
new one. This means that we always pass 0 instead of the max-cpu-compat
PVR during the initial machine reset. And at CAS time, we either pass
the PVR from the command line or even don't call kvmppc_set_compat() at
all, ie, the PCR will not be set as expected.

For example if we start a big endian fedora26 guest in power7 compat
mode on a POWER8 host, we get this in the guest:

$ cat /proc/cpuinfo
processor       : 0
cpu             : POWER7 (architected), altivec supported
clock           : 4024.000000MHz
revision        : 2.0 (pvr 004d 0200)

timebase        : 512000000
platform        : pSeries
model           : IBM pSeries (emulated by qemu)
machine         : CHRP IBM pSeries (emulated by qemu)
MMU             : Hash

but the guest can still execute POWER8 instructions, and the following
program succeeds:

int main()
{
  asm("vncipher 0,0,0"); // ISA 2.07 instruction
}

Let's pass the new compat_pvr to kvmppc_set_compat() and the program fails
with SIGILL as expected.

Reported-by: Nageswara R Sastry <address@hidden>
Signed-off-by: Greg Kurz <address@hidden>
Signed-off-by: David Gibson <address@hidden>


  Commit: 79b217dedb5ce70c5bc169b5e64b8a1f0d4bef9c
      
https://github.com/qemu/qemu/commit/79b217dedb5ce70c5bc169b5e64b8a1f0d4bef9c
  Author: Thomas Huth <address@hidden>
  Date:   2017-11-08 (Wed, 08 Nov 2017)

  Changed paths:
    M hw/display/sm501.c

  Log Message:
  -----------
  hw/display/sm501: Fix comment in sm501_sysbus_class_init()

The "cannot_instantiate_with_device_add_yet" flag has been renamed
to "user_creatable" a while ago.

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


  Commit: c91c187f715aded9e1ac28412bba41fd3cbaf010
      
https://github.com/qemu/qemu/commit/c91c187f715aded9e1ac28412bba41fd3cbaf010
  Author: Michael Davidsaver <address@hidden>
  Date:   2017-11-08 (Wed, 08 Nov 2017)

  Changed paths:
    M hw/ppc/e500.c

  Log Message:
  -----------
  e500: ppce500_init_mpic() return device instead of IRQ array

Actual number of interrupt pins isn't known
in ppce500_init_mpic() so a hardcoded number
was used, which causes a crash with older openpic.

Instead, return the DeviceState* and change ppce500_init()
to call qdev_get_gpio_in() to get only the irq pins
which are needed.

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


  Commit: 6058bfb00a7b11559819e50f9aaab3b287fd46cf
      
https://github.com/qemu/qemu/commit/6058bfb00a7b11559819e50f9aaab3b287fd46cf
  Author: Peter Maydell <address@hidden>
  Date:   2017-11-10 (Fri, 10 Nov 2017)

  Changed paths:
    M hw/display/sm501.c
    M hw/ppc/e500.c
    M target/ppc/compat.c

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

ppc patch queue 2017-11-08

Here's the current set of accumulated ppc patches for qemu-2.11.
Since we're now in hard freeze these are all bugfixes (although some
fix a bug by way of a cleanup).

# gpg: Signature made Wed 08 Nov 2017 08:10:38 GMT
# 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-20171108:
  e500: ppce500_init_mpic() return device instead of IRQ array
  hw/display/sm501: Fix comment in sm501_sysbus_class_init()
  ppc: fix setting of compat mode

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


Compare: https://github.com/qemu/qemu/compare/b0fbe46ad829...6058bfb00a7b

reply via email to

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