From patchwork Wed Jan 15 12:50:16 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mauro Carvalho Chehab X-Patchwork-Id: 13940411 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 3881CC02183 for ; Wed, 15 Jan 2025 12:54:19 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tY2rm-0007lg-9k; Wed, 15 Jan 2025 07:51:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tY2rL-0007c1-DX; Wed, 15 Jan 2025 07:50:59 -0500 Received: from nyc.source.kernel.org ([2604:1380:45d1:ec00::3]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tY2rH-0006qA-VC; Wed, 15 Jan 2025 07:50:58 -0500 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by nyc.source.kernel.org (Postfix) with ESMTP id C6C2CA41F43; Wed, 15 Jan 2025 12:48:53 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1D730C4CEE1; Wed, 15 Jan 2025 12:50:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1736945441; bh=DVtDG6vvJYTk9/9iT3yePI/sJJPsd0IxVfzoqFPqcLM=; h=From:To:Cc:Subject:Date:From; b=ghKYxiHCAa1X9K7/PqRkPsFKNU17P6zbwiGmXl5gBMergSmD9A4mdqB6K9UWNgimz kQyIJZhCWXWMsKqnRVkO+CZ3QB/w/GCWcTfQRVc1Keay9Ai/geiFqhwpKvl0kOQRM/ /SN5VUdd/kO2Rags3ZMN9+c+oS4rVKND0QvWF64aLY9po8Sezd6Q9MVRiUO1ywD+F5 P0TF3fz9BjaV72GxUTxruzU5DDtD2/FA4+iOPCd/tA9Lwpk2GMGCbCOKTB5jgWGp9M iNW/B1TlGKIomdyRD/mHQziGdPbQIFFVdBpMszfybeDZgVhxpUlsdRCO/5T+3OfV5f kKY+7nIF4ywKA== Received: from mchehab by mail.kernel.org with local (Exim 4.98) (envelope-from ) id 1tY2r1-00000004yFL-044j; Wed, 15 Jan 2025 13:50:39 +0100 From: Mauro Carvalho Chehab To: Igor Mammedov , "Michael S . Tsirkin" Cc: Jonathan Cameron , Shiju Jose , qemu-arm@nongnu.org, qemu-devel@nongnu.org, Mauro Carvalho Chehab , Ani Sinha , Dongjiu Geng , Paolo Bonzini , Peter Maydell , Shannon Zhao , kvm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v7 00/16] Prepare GHES driver to support error injection Date: Wed, 15 Jan 2025 13:50:16 +0100 Message-ID: X-Mailer: git-send-email 2.47.1 MIME-Version: 1.0 Received-SPF: pass client-ip=2604:1380:45d1:ec00::3; envelope-from=mchehab+huawei@kernel.org; helo=nyc.source.kernel.org X-Spam_score_int: -44 X-Spam_score: -4.5 X-Spam_bar: ---- X-Spam_report: (-4.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.141, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org During the development of a patch series meant to allow GHESv2 error injections, it was requested a change on how CPER offsets are calculated, by adding a new BIOS pointer and reworking the GHES logic. See: https://lore.kernel.org/qemu-devel/cover.1726293808.git.mchehab+huawei@kernel.org/ Such change ended being a big patch, so several intermediate steps are needed, together with several cleanups and renames. As agreed duing v10 review, I'll be splitting the big patch series into separate pull requests, starting with the cleanup series. This is the first patch set, containing only such preparation patches. The next series will contain the shift to use offsets from the location of the HEST table, together with a migration logic to make it compatible with 9.1. --- v7: - addressed minor nits on patch 9 v6: - some changes at patches description and added some R-B; - no changes at the code. v5: - added a new patch: acpi/ghes: don't check if physical_address is not zero - removed a duplicated le64_to_cpu(); - changed a comment about writing 1 to read ack register. v4: - merged a patch renaming the function which calculate offsets to: get_hw_error_offsets(), to avoid the need of such change at the next patch series; - removed a functional change at the logic which makes the GHES record generation more generic; - a couple of trivial changes on patch descriptions and line break cleanups. v3: - improved some patch descriptions; - some patches got reordered to better reflect the changes; - patch v2 08/15: acpi/ghes: Prepare to support multiple sources on ghes was split on two patches. The first one is in this cleanup series: acpi/ghes: Change ghes fill logic to work with only one source contains just the simplification logic. The actual preparation will be moved to this series: https://lore.kernel.org/qemu-devel/cover.1727782588.git.mchehab+huawei@kernel.org/ v2: - some indentation fixes; - some description improvements; - fixed a badly-solved merge conflict that ended renaming a parameter. Mauro Carvalho Chehab (16): acpi/ghes: get rid of ACPI_HEST_SRC_ID_RESERVED acpi/ghes: simplify acpi_ghes_record_errors() code acpi/ghes: simplify the per-arch caller to build HEST table acpi/ghes: better handle source_id and notification acpi/ghes: Fix acpi_ghes_record_errors() argument acpi/ghes: Remove a duplicated out of bounds check acpi/ghes: Change the type for source_id acpi/ghes: don't check if physical_address is not zero acpi/ghes: make the GHES record generation more generic acpi/ghes: better name GHES memory error function acpi/ghes: don't crash QEMU if ghes GED is not found acpi/ghes: rename etc/hardware_error file macros acpi/ghes: better name the offset of the hardware error firmware acpi/ghes: move offset calculus to a separate function acpi/ghes: Change ghes fill logic to work with only one source docs: acpi_hest_ghes: fix documentation for CPER size docs/specs/acpi_hest_ghes.rst | 6 +- hw/acpi/generic_event_device.c | 4 +- hw/acpi/ghes-stub.c | 2 +- hw/acpi/ghes.c | 258 +++++++++++++++++++-------------- hw/arm/virt-acpi-build.c | 5 +- include/hw/acpi/ghes.h | 16 +- target/arm/kvm.c | 2 +- 7 files changed, 168 insertions(+), 125 deletions(-)