Received: by 10.223.185.116 with SMTP id b49csp5051982wrg; Tue, 27 Feb 2018 07:05:49 -0800 (PST) X-Google-Smtp-Source: AH8x225xaNUfpEajHRtmLeTGCqpMHSS9ZiZ20AiIS58X/XBur0QI8KK2Mm9nvot5ZCaOEpKdhCzh X-Received: by 2002:a17:902:594c:: with SMTP id e12-v6mr14790995plj.323.1519743949378; Tue, 27 Feb 2018 07:05:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519743949; cv=none; d=google.com; s=arc-20160816; b=Bef1OSpMDkRnEcp9nU9Q1u6eSF4pxoqrk1jiCEBGw3QzqvtW+Vl158TMhC5tiejDj7 gF2swe7vns+atcbKR/ywH30kBZMLr2TRS3Fasneruo+DfyKKK4yuMBHt7dPTIZAcLP1N FLDYG8Nr8ELw80hHkFg4/GdsGHPMBMZIy2aVB8IZmF10zi+W9awQUSW3gy0ZczdJzDE5 d7tZ988wVHp+bIyGJgcXGhB9yxHdFOknAGzVejx4CNEgabw/EOvXhUqBr8uIlItHYkur mgp3YHsNR6AMHV9m4h+NJK1VYHB3zZjof8fFrZS1RdOv7CwHvCpnkArkJhSBXDu2M6vn 91BA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date :arc-authentication-results; bh=7vxKP0X8/uJgayXS8QzHejNNL27wL9+nxfGo5tvj6PI=; b=Gbjk6mZR/BuVdGsaANM729fCQ1ddbusFWj2ErMtCueCtlW8W4U1DFqKrgEZOvaBhip AKBuet+NJWu9wgXTVCu38GL71BFC9mSfGXfsAXpcTSgEYa0qPpnRnSDzBHUNA9SinVKp jS6e/cZn/fGeC6mj/8ZNv9HmSPI9lxQatnKq63k6GMbjYZkDlkjpTTwuIL4WmeqK8Jei 4Il/GfVkbtn8YqbvXiBTgO1LyyCnfh5bgmPmllcCuhlWenEg/YgVd2WqXmE1IHCa9wWj fwelm208y4fFy/IIU1q0lbt2dzuyDSpWxMcnIYkbzKB4QK/iJ2Fg7GRFZ+/LzKXOkxLc 3vGA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t189si7121480pgd.620.2018.02.27.07.05.11; Tue, 27 Feb 2018 07:05:49 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932152AbeB0PEV (ORCPT + 99 others); Tue, 27 Feb 2018 10:04:21 -0500 Received: from mx2.suse.de ([195.135.220.15]:36490 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932088AbeB0PEU (ORCPT ); Tue, 27 Feb 2018 10:04:20 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay1.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id A8CA8AE1C; Tue, 27 Feb 2018 15:04:18 +0000 (UTC) Date: Tue, 27 Feb 2018 16:03:56 +0100 From: Borislav Petkov To: Yazen Ghannam Cc: linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org, ard.biesheuvel@linaro.org, x86@kernel.org Subject: Re: [PATCH v2 5/8] efi: Decode IA32/X64 Cache, TLB, and Bus Check structures Message-ID: <20180227150356.GH26382@pd.tnic> References: <20180226193904.20532-1-Yazen.Ghannam@amd.com> <20180226193904.20532-6-Yazen.Ghannam@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20180226193904.20532-6-Yazen.Ghannam@amd.com> User-Agent: Mutt/1.9.3 (2018-01-21) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Feb 26, 2018 at 01:39:01PM -0600, Yazen Ghannam wrote: > +static void print_err_info(const char *pfx, u8 err_type, u64 check) > +{ > + u16 validation_bits = CHECK_VALID_BITS(check); > + > + printk("%sValidation Bits: 0x%04x\n", pfx, validation_bits); > + > + if (err_type == ERR_TYPE_MS) > + return; > + > + if (validation_bits & CHECK_VALID_TRANS_TYPE) { > + u8 trans_type = CHECK_TRANS_TYPE(check); > + > + printk("%sTransaction Type: %u, %s\n", pfx, trans_type, > + trans_type < ARRAY_SIZE(ia_check_trans_type_strs) ? > + ia_check_trans_type_strs[trans_type] : "unknown"); > + } > + > + if (validation_bits & CHECK_VALID_OPERATION) { > + u8 op = CHECK_OPERATION(check); > + > + /* > + * CACHE has more operation types than TLB or BUS, though the > + * name and the order are the same. > + */ > + u8 max_ops = (err_type == ERR_TYPE_CACHE) ? 9 : 7; > + > + printk("%sOperation: %u, %s\n", pfx, op, > + op < max_ops ? ia_check_op_strs[op] : "unknown"); > + } > + > + if (validation_bits & CHECK_VALID_LEVEL) > + printk("%sLevel: %llu\n", pfx, CHECK_LEVEL(check)); > + > + if (validation_bits & CHECK_VALID_PCC) > + print_bool("Processor Context Corrupt", pfx, check, CHECK_PCC); I think we want to print PCC here unconditionally and say: PCC: (yes|no|invalid) I don't think the absence of PCC in the error record is a good enough hint that the PCC field is invalid. Ditto for the rest and transaction type above too. I think it would be much easier if we have fixed fields error record. -- Regards/Gruss, Boris. SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) --