From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F2572C433FE for ; Fri, 17 Sep 2021 11:51:19 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 656E9611C8 for ; Fri, 17 Sep 2021 11:51:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 656E9611C8 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=eldorado.org.br Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=nongnu.org Received: from localhost ([::1]:51928 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mRCOk-00025U-Cu for qemu-devel@archiver.kernel.org; Fri, 17 Sep 2021 07:51:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:32884) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mRCMz-0000Uo-1H; Fri, 17 Sep 2021 07:49:29 -0400 Received: from [201.28.113.2] (port=58746 helo=outlook.eldorado.org.br) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mRCMx-00070N-Ei; Fri, 17 Sep 2021 07:49:28 -0400 Received: from power9a ([10.10.71.235]) by outlook.eldorado.org.br with Microsoft SMTPSVC(8.5.9600.16384); Fri, 17 Sep 2021 08:48:19 -0300 Received: from eldorado.org.br (unknown [10.10.70.45]) by power9a (Postfix) with ESMTP id 559FF80130D; Fri, 17 Sep 2021 08:48:19 -0300 (-03) From: matheus.ferst@eldorado.org.br To: qemu-devel@nongnu.org, qemu-ppc@nongnu.org Subject: [PATCH v2 0/2] Require hypervisor privilege for tlbie[l] when PSR=0 and HR=1. Date: Fri, 17 Sep 2021 08:47:49 -0300 Message-Id: <20210917114751.206845-1-matheus.ferst@eldorado.org.br> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-OriginalArrivalTime: 17 Sep 2021 11:48:19.0963 (UTC) FILETIME=[E92674B0:01D7ABB9] X-Host-Lookup-Failed: Reverse DNS lookup failed for 201.28.113.2 (failed) Received-SPF: pass client-ip=201.28.113.2; envelope-from=matheus.ferst@eldorado.org.br; helo=outlook.eldorado.org.br X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: leandro.lupori@eldorado.org.br, danielhb413@gmail.com, richard.henderson@linaro.org, groug@kaod.org, Matheus Ferst , david@gibson.dropbear.id.au Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" From: Matheus Ferst While working on FreeBSD radix support, Leandro Lupori (CC'ed) noticed that the latest build still fails in KVM but works in TCG[1]. This difference occurs because the current implementation of "tlbiel" does not validate the instruction parameters and always check for supervisor privilege. This patch series partially address this problem by requiring hypervisor privilege for radix mode when PSR=0. The validation of other parameters can be done when we move storage control instructions to decodetree. [1] To reproduce the issue, grab an ISO from [2] run qemu as qemu-system-ppc64 -cpu power9 -m 2G \ -machine pseries,cap-cfpc=broken,cap-sbbc=broken,cap-ibs=broken,cap-ccf-assist=off \ -boot d -vga none -nographic -cdrom FreeBSD-14.0-CURRENT-powerpc-*.iso or qemu-system-ppc64 -cpu power9 -m 2G -enable-kvm \ -machine pseries,cap-cfpc=broken,cap-sbbc=broken,cap-ibs=broken,cap-ccf-assist=off \ -boot d -vga none -nographic -cdrom FreeBSD-14.0-CURRENT-powerpc-*.iso Stop the boot at the prompt and use OK set radix_mmu=1 OK boot [2] https://download.freebsd.org/ftp/snapshots/powerpc/powerpc64/ISO-IMAGES/14.0/ Matheus Ferst (2): target/ppc: add LPCR[HR] to DisasContext and hflags target/ppc: Check privilege level based on PSR and LPCR[HR] in tlbie[l] target/ppc/cpu.h | 1 + target/ppc/helper_regs.c | 3 +++ target/ppc/translate.c | 28 +++++++++++++++++++++++----- 3 files changed, 27 insertions(+), 5 deletions(-) -- 2.25.1