Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752932AbcJMUQI (ORCPT ); Thu, 13 Oct 2016 16:16:08 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:44951 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756562AbcJMUPx (ORCPT ); Thu, 13 Oct 2016 16:15:53 -0400 DMARC-Filter: OpenDMARC Filter v1.3.1 smtp.codeaurora.org E5B1D61481 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=pass smtp.mailfrom=tbaicar@codeaurora.org Subject: Re: [PATCH V3 08/10] ras: acpi / apei: generate trace event for unrecognized CPER section To: Punit Agrawal References: <1475875882-2604-1-git-send-email-tbaicar@codeaurora.org> <1475875882-2604-9-git-send-email-tbaicar@codeaurora.org> <87mvi8seng.fsf@e105922-lin.cambridge.arm.com> Cc: christoffer.dall@linaro.org, marc.zyngier@arm.com, pbonzini@redhat.com, rkrcmar@redhat.com, linux@armlinux.org.uk, catalin.marinas@arm.com, will.deacon@arm.com, rjw@rjwysocki.net, lenb@kernel.org, matt@codeblueprint.co.uk, robert.moore@intel.com, lv.zheng@intel.com, mark.rutland@arm.com, james.morse@arm.com, akpm@linux-foundation.org, sandeepa.s.prabhu@gmail.com, shijie.huang@arm.com, paul.gortmaker@windriver.com, tomasz.nowicki@linaro.org, fu.wei@linaro.org, rostedt@goodmis.org, bristot@redhat.com, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, Dkvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, linux-efi@vger.kernel.org, devel@acpica.org, "Jonathan (Zhixiong) Zhang" From: "Baicar, Tyler" Message-ID: <6d0637b2-3ed5-1392-601d-3cbffd26026a@codeaurora.org> Date: Thu, 13 Oct 2016 14:15:48 -0600 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 MIME-Version: 1.0 In-Reply-To: <87mvi8seng.fsf@e105922-lin.cambridge.arm.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2630 Lines: 79 Hello Punit, On 10/13/2016 4:54 AM, Punit Agrawal wrote: > Hi Tyler, > > One last comment... > > Tyler Baicar writes: > >> UEFI spec allows for non-standard section in Common Platform Error >> Record. This is defined in section N.2.3 of UEFI version 2.5. >> >> Currently if the CPER section's type (UUID) does not match with >> any section type that the kernel knows how to parse, trace event >> is not generated for such section. And thus user is not able to know >> happening of such hardware error, including error record of >> non-standard section. >> >> This commit generates a trace event which contains raw error data >> for unrecognized CPER section. >> >> Signed-off-by: Jonathan (Zhixiong) Zhang >> Signed-off-by: Tyler Baicar >> --- >> drivers/acpi/apei/ghes.c | 18 +++++++++++++++++- >> drivers/ras/ras.c | 1 + >> include/ras/ras_event.h | 45 +++++++++++++++++++++++++++++++++++++++++++++ >> 3 files changed, 63 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c >> index 36894c8..cb4c7f4 100644 >> --- a/drivers/acpi/apei/ghes.c >> +++ b/drivers/acpi/apei/ghes.c >> @@ -49,6 +49,7 @@ >> #include >> #include >> #include >> +#include >> >> #ifdef CONFIG_HAVE_ACPI_APEI_SEA >> #include >> @@ -468,12 +469,21 @@ static void ghes_do_proc(struct ghes *ghes, >> int sev, sec_sev; >> struct acpi_hest_generic_data *gdata; >> uuid_le sec_type; >> + uuid_le *fru_id; >> + char *fru_text = ""; >> >> sev = ghes_severity(estatus->error_severity); >> apei_estatus_for_each_section(estatus, gdata) { >> sec_sev = ghes_severity(gdata->error_severity); >> sec_type = *(uuid_le *)gdata->section_type; >> >> + if (gdata->validation_bits & CPER_SEC_VALID_FRU_ID) >> + fru_id = (uuid_le *)gdata->fru_id; >> + else >> + fru_id = &NULL_UUID_LE; > fru_id can be initialised at declaration and drop the else here. The > same is already being done for fru_text. Yes, I will make this change in the next version. Thanks, Tyler > Thanks, > Punit > >> + if (gdata->validation_bits & CPER_SEC_VALID_FRU_TEXT) >> + fru_text = gdata->fru_text; >> + >> if (!uuid_le_cmp(sec_type, >> CPER_SEC_PLATFORM_MEM)) { >> struct cper_sec_mem_err *mem_err; > [...] > -- Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.