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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 F1472CD6E4A for ; Tue, 2 Jun 2026 07:29:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: Content-Type:In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date: Message-ID:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=d/SQYrTXfJA8D3bWLFflbV8dobWMR1lk7pHzJ8tjx1s=; b=VgsKPHIZdbnUthi/TCg32MzlaU E74wZM0RbJDJZOLl/T4bOSrecwSg62mHGCcv1Rwkz+jkNIlzsuwCxvOMeovcwTsZy4PB96CEgYgL+ 6n8UUMuE2US8T3MwFjHnh7Pp57QEppzgcoAWUUhpOaogU/epQreY4vEjejuO4UXws483AL42Z3LJP RX+TWgfqv8pKVKxvXWBQ2kc06LOAEMPq0RmBjAypXI7crbUVUmPSHegY06cRNoC9la938tBjS2cNw UMz+Nu6RkP5xQUB1KU5GnuDC57FS/y1JdRa4JoPxJrUFt0gOKrxoAYRINgJ1myeCjyFmArrV6Pc7b obyfyRsQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wUJZ7-0000000CU9B-2E7k; Tue, 02 Jun 2026 07:29:33 +0000 Received: from out30-118.freemail.mail.aliyun.com ([115.124.30.118]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wUJZ3-0000000CU8d-3PuC for linux-arm-kernel@lists.infradead.org; Tue, 02 Jun 2026 07:29:31 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1780385366; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type; bh=d/SQYrTXfJA8D3bWLFflbV8dobWMR1lk7pHzJ8tjx1s=; b=m2l/kcZMmkBfAcy2X6OAg2OZJaFIJP8UK9lXwH0yjbj5WQUnIZmAeRV4bMwNbbLBP2nAuvfOPjn2NPngnnOvaPjOIEujq5hRgZ9Ge2xa6X7PE20lUL77HZHrHehqtTW0QEN3nfCwzerbr7A7vyMbyRDUVG2EuL8fgv38wBfkn0g= X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R491e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=maildocker-contentspam033037026112;MF=tianruidong@linux.alibaba.com;NM=1;PH=DS;RN=22;SR=0;TI=SMTPD_---0X43YUFg_1780385363; Received: from 30.74.145.41(mailfrom:tianruidong@linux.alibaba.com fp:SMTPD_---0X43YUFg_1780385363 cluster:ay36) by smtp.aliyun-inc.com; Tue, 02 Jun 2026 15:29:23 +0800 Message-ID: <4eeeef74-8a27-470c-b516-095f029b9e9e@linux.alibaba.com> Date: Tue, 2 Jun 2026 15:29:22 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 0/8] ras: aest: extend AEST support to Device Tree frontend To: Umang Chheda , Ruidong Tian , Tony Luck , Borislav Petkov , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Bjorn Andersson , Konrad Dybcio , catalin.marinas@arm.com, will@kernel.org, lpieralisi@kernel.org, rafael@kernel.org, mark.rutland@arm.com, Sudeep Holla Cc: linux-arm-msm@vger.kernel.org, linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Faruque Ansari References: <20260505-aest-devicetree-support-v1-0-d5d6ffacf0a5@oss.qualcomm.com> From: Ruidong Tian In-Reply-To: <20260505-aest-devicetree-support-v1-0-d5d6ffacf0a5@oss.qualcomm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260602_002930_251108_932210C2 X-CRM114-Status: GOOD ( 26.04 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi Umang, I have sent out v7, and I wanted to highlight a few changes to make it easier for you to adapt the devicetree support: 1. I stopped passing device information to the driver through the acpi_aest_node structure. Instead, I switched to using the device property infrastructure and removed the aest_device abstraction layer (which was originally introduced to support CMN). This should provide good compatibility between ACPI and devicetree and avoid the need to write extra adaptation code for devicetree (such as aest_of). In the ideal case, adding just one of_match_id should be enough to make it work, although this will require you to update the DTB file accordingly. 2. I removed the use of genpool. The current AEST driver only needs memory in interrupt context, so genpool is not needed. 3.The driver has been renamed to arm64_ras. I have already applied some of your previous fix patches and added your Signed-off-by. Best regards, Ruidong 在 2026/5/5 20:23, Umang Chheda 写道: > This series extends Tian Ruidong’s [1] ACPI-based AEST support series > to also cover Device Tree based platforms. > > While the existing AEST driver relies on the AEST ACPI table [3], many > embedded Arm platforms use Device Tree exclusively and cannot use the > driver today. This series adds a DT frontend that mirrors the ACPI > implementation and feeds the same core driver, keeping ACPI and DT > paths functionally equivalent. > > Along the way, several correctness issues were identified in the core > driver and are fixed in the first part of this series. > > The DT frontend is mutually exclusive with ACPI and does not introduce > any DT-specific logic into the core. > > How to test with QEMU > -------------------------- > Tian Ruidong's QEMU fork [2] emulates AEST MMIO error records on the > virt machine. To test the DT frontend: > > 1. Build QEMU: > > git clone https://github.com/winterddd/qemu.git > cd qemu > git checkout c5e2d5dec9fd62ba622314c40bff0fbecb4dfb34 > ./configure --target-list=aarch64-softmmu > make -j$(nproc) > > 2. Build the kernel with: > > CONFIG_OF_AEST=y > CONFIG_AEST=y > CONFIG_ARM64_RAS_EXTN=y > CONFIG_RAS=y > > 3. Add the following DT node to your virt machine DTB. The QEMU > fork maps DRAM error records at 0x090d0000 (SPI 44) and CMN > vendor records at 0x090e0000 (SPI 45): > > aest { > compatible = "arm,aest"; > #address-cells = <2>; > #size-cells = <2>; > ranges; > interrupt-parent = <&gic>; > > /* DRAM memory node — MMIO at 0x090d0000, SPI 44 */ > aest-dram0@90d0000 { > compatible = "arm,aest-memory"; > arm,interface-type = <1>; > arm,group-format = <0>; > arm,interface-flags = <0x22>; > arm,num-records = <4>; > arm,record-impl = /bits/ 64 <0x0>; > arm,status-report = /bits/ 64 <0x0>; > arm,addr-mode = /bits/ 64 <0x0>; > arm,proximity-domain = <0>; > reg = <0x0 0x090d0000 0x0 0x1000>, > <0x0 0x090d0800 0x0 0x200>, > <0x0 0x090d0e00 0x0 0x100>; > reg-names = "errblock", "fault-inject", > "err-group"; > interrupts = ; > interrupt-names = "fhi"; > }; > }; > > 4. Boot QEMU with acpi=off: > > ./qemu-system-aarch64 \ > -machine virt,accel=tcg,gic-version=3 \ > -cpu cortex-a57 -m 2G -smp 4 \ > -kernel Image -dtb virt-aest.dtb \ > -append "console=ttyAMA0 acpi=off earlycon" \ > -nographic > > 5. Verify probe: > > dmesg | grep "DT AEST" > # Expected: DT AEST: registered 1 AEST error source(s) from DT > ls /sys/kernel/debug/aest/ > > 6. Inject a CE error via the QEMU MMIO fault injection registers. > The QEMU device accepts 64-bit accesses only (use devmem with > the 64-bit width flag): > > devmem 0x090d0808 64 0x80000040 # CDOFF | CE inject > > This triggers QEMU's error_record_inj_write() which sets > ERRSTATUS.V=1 and asserts the IRQ. The kernel driver's > aest_irq_func() fires, reads the status, and logs: > > AEST: {1}[Hardware Error]: Hardware error from AEST memory.90d0000 > AEST: {1}[Hardware Error]: Error from memory at SRAT proximity domain 0x0 > > Testing > ------- > - Validated on Qualcomm's lemans-evk and monaco-evk board with DT boot. > - Validated CE and UE injection via debugfs soft_inject. > - Tested ACPI path is unaffected: ACPI boot continues to use > drivers/acpi/arm64/aest.c unchanged. > > [1] https://lore.kernel.org/lkml/20260122094656.73399-1-tianruidong@linux.alibaba.com/ > [2] https://github.com/winterddd/qemu/tree/error_record > [3] https://developer.arm.com/documentation/den0085/0200/ > > Signed-off-by: Umang Chheda > --- > Umang Chheda (8): > ras: aest: Fix shared processor node handling and error log messages > ras: aest: Fix CE/UE error counts not incrementing in debugfs > ras: aest: Skip unimplemented records in debugfs > ras: aest: Add panic_on_ue module parameter > dt-bindings: arm: ras: Introduce bindings for ARM AEST > ras: aest: Add DT frontend for ARM AEST RAS error sources > arm64: dts: qcom: lemans: add AEST error nodes > arm64: dts: qcom: monaco: add AEST error nodes > > .../devicetree/bindings/arm/arm,aest.yaml | 406 +++++++++++++ > arch/arm64/boot/dts/qcom/lemans.dtsi | 41 ++ > arch/arm64/boot/dts/qcom/monaco.dtsi | 41 ++ > drivers/ras/aest/Kconfig | 15 +- > drivers/ras/aest/Makefile | 2 + > drivers/ras/aest/aest-core.c | 63 +- > drivers/ras/aest/aest-of.c | 673 +++++++++++++++++++++ > drivers/ras/aest/aest-sysfs.c | 27 +- > drivers/ras/aest/aest.h | 15 +- > include/dt-bindings/arm/aest.h | 43 ++ > 10 files changed, 1310 insertions(+), 16 deletions(-) > --- > base-commit: a67b7fd0dd1f6ccf3d128dc2099cdb07af1f6a09 > change-id: 20260505-aest-devicetree-support-a3722d90e1f5 > prerequisite-message-id: <20260122094656.73399-1-tianruidong@linux.alibaba.com> > prerequisite-patch-id: c5a7c6431c6c1e6351241e694ee053800039d41d > prerequisite-patch-id: 1f6e2c20829eee41a210dd8a538f1e8efcc65872 > prerequisite-patch-id: 5556287e3f46c2ed2c0431c53c7782e87bcbd866 > prerequisite-patch-id: 2edae0a136d7779b8f686181720e71d044a73311 > prerequisite-patch-id: b5190b2844dcb01e72f87a59f3a29548795fdb82 > prerequisite-patch-id: 7ba848583708b2ae776a7ce847bb056e3de7f77b > prerequisite-patch-id: 397e5b22802b67942435f4f2968f0b1e210ba0e8 > prerequisite-patch-id: 2169f4b65537eecbd0ccbd2ad6b28c64ec44655d > prerequisite-patch-id: b626f85d98747595b3240bc49e6ad9c9dd5c0fa9 > prerequisite-patch-id: 1323dfd2eebad2ef6514dbbce58ba08e8859f894 > prerequisite-patch-id: 95b826e5e329408437a3ef336c4f45d4d74f82bb > prerequisite-patch-id: b60ff489a5a33c5d5220fa8144af7b7511769cba > prerequisite-patch-id: 43f35a52b8a3d13c938ff08083403c1d3bd0df8b > prerequisite-patch-id: c55d4e9117ca36d3c2cba82d550a618cb82bb745 > prerequisite-patch-id: 3885e10f318ae8101d6909b35d92a976cc359e3c > prerequisite-patch-id: 92958cde05577f069c5659018a274bb39cfb6b24 > > Best regards, > -- > Umang Chheda >