From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ard Biesheuvel Subject: Re: [PATCH V17 03/11] cper: add timestamp print to CPER status printing Date: Tue, 6 Jun 2017 09:25:55 +0000 Message-ID: References: <1495225933-4410-1-git-send-email-tbaicar@codeaurora.org> <1495225933-4410-4-git-send-email-tbaicar@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1495225933-4410-4-git-send-email-tbaicar@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu To: Tyler Baicar Cc: "linux-efi@vger.kernel.org" , KVM devel mailing list , Matt Fleming , Catalin Marinas , Will Deacon , Robert Moore , Paul Gortmaker , Lv Zheng , "kvmarm@lists.cs.columbia.edu" , Fu Wei , "Rafael J. Wysocki" , "Jonathan (Zhixiong) Zhang" , Russell King , gengdongjiu@huawei.com, "linux-acpi@vger.kernel.org" , eun.taik.lee@samsung.com, shijie.huang@arm.com, Laura Abbott , Len Brown , harba@codeaurora.org, John Garry , Marc Zyngier , Punit Agrawal List-Id: linux-acpi@vger.kernel.org On 19 May 2017 at 21:32, Tyler Baicar wrote: > The ACPI 6.1 spec added a timestamp to the generic error data > entry structure. Print the timestamp out when printing out the > error information. > > Signed-off-by: Tyler Baicar > CC: Jonathan (Zhixiong) Zhang Reviewed-by: Ard Biesheuvel > --- > drivers/firmware/efi/cper.c | 26 ++++++++++++++++++++++++++ > 1 file changed, 26 insertions(+) > > diff --git a/drivers/firmware/efi/cper.c b/drivers/firmware/efi/cper.c > index 9024757..229cf92 100644 > --- a/drivers/firmware/efi/cper.c > +++ b/drivers/firmware/efi/cper.c > @@ -32,6 +32,8 @@ > #include > #include > #include > +#include > +#include > #include > > #define INDENT_SP " " > @@ -387,6 +389,27 @@ static void cper_print_pcie(const char *pfx, const struct cper_sec_pcie *pcie, > pfx, pcie->bridge.secondary_status, pcie->bridge.control); > } > > +static void cper_print_tstamp(const char *pfx, > + struct acpi_hest_generic_data_v300 *gdata) > +{ > + __u8 hour, min, sec, day, mon, year, century, *timestamp; > + > + if (gdata->validation_bits & ACPI_HEST_GEN_VALID_TIMESTAMP) { > + timestamp = (__u8 *)&(gdata->time_stamp); > + sec = bcd2bin(timestamp[0]); > + min = bcd2bin(timestamp[1]); > + hour = bcd2bin(timestamp[2]); > + day = bcd2bin(timestamp[4]); > + mon = bcd2bin(timestamp[5]); > + year = bcd2bin(timestamp[6]); > + century = bcd2bin(timestamp[7]); > + > + printk("%s%ststamp: %02d%02d-%02d-%02d %02d:%02d:%02d\n", pfx, > + (timestamp[3] & 0x1 ? "precise " : "imprecise "), > + century, year, mon, day, hour, min, sec); > + } > +} > + > static void > cper_estatus_print_section(const char *pfx, struct acpi_hest_generic_data *gdata, > int sec_no) > @@ -395,6 +418,9 @@ static void cper_print_pcie(const char *pfx, const struct cper_sec_pcie *pcie, > __u16 severity; > char newpfx[64]; > > + if (acpi_hest_get_version(gdata) >= 3) > + cper_print_tstamp(pfx, (struct acpi_hest_generic_data_v300 *)gdata); > + > severity = gdata->error_severity; > printk("%s""Error %d, type: %s\n", pfx, sec_no, > cper_severity_str(severity)); > -- > 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. > > -- > To unsubscribe from this list: send the line "unsubscribe linux-efi" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html