From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:46490) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bAJ6a-0001bz-O8 for qemu-devel@nongnu.org; Tue, 07 Jun 2016 11:39:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bAJ6W-0002bH-Hy for qemu-devel@nongnu.org; Tue, 07 Jun 2016 11:39:47 -0400 From: Thomas Huth Date: Tue, 7 Jun 2016 17:39:35 +0200 Message-Id: <1465313980-31281-1-git-send-email-thuth@redhat.com> Subject: [Qemu-devel] [PATCH 0/5] ppc: Improve sPAPR CPU compatibility mode settings List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-ppc@nongnu.org, david@gibson.dropbear.id.au Cc: agraf@suse.de, qemu-devel@nongnu.org, Alexey Kardashevskiy If a guest currently only requests PowerISA 2.07 compatiblity mode with the "ibm,client-architecture-support" firmware call, but does not specify a matching real PVR for the host CPU on a POWER8 host, it ends up in POWER7 / PowerISA 2.06 compatibility mode since QEMU does not support 2.07 compatibility mode yet. This currently happens when running a Linux guest on a POWER8NVL host, since Linux guests do not use the PVR for these CPUs for the "ibm,client-architecture- support" call yet (but I submitted a patch for the kernel to fix this issue there last week, so the support should soon be there, too). Anyway, QEMU should also support a proper 2.07 compatibility mode if the host CPU can do it. So this patch series introduces such a mode and does some clean-ups and other fixes along the way (e.g. it splits the ambiguous pcr_mask setting into two variables, one for defining the valid bits in the PCR register, and one for storing the valid ISA levels). Thomas Huth (5): ppc/spapr: Refactor h_client_architecture_support() CPU parsing code ppc: Split pcr_mask settings into supported bits and the register mask ppc: Provide function to get CPU class of the host CPU ppc: Improve PCR bit selection in ppc_set_compat() ppc: Add PowerISA 2.07 compatibility mode hw/ppc/spapr_hcall.c | 63 +++++++++++++++++++++++++++------------------ target-ppc/cpu-qom.h | 3 ++- target-ppc/cpu.h | 1 + target-ppc/kvm.c | 19 ++++++++++---- target-ppc/kvm_ppc.h | 7 +++++ target-ppc/translate_init.c | 22 +++++++++++----- 6 files changed, 78 insertions(+), 37 deletions(-) -- 1.8.3.1