From: Borislav Petkov <bp@suse.de>
To: Yazen Ghannam <Yazen.Ghannam@amd.com>
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
Date: Tue, 27 Feb 2018 16:03:56 +0100 [thread overview]
Message-ID: <20180227150356.GH26382@pd.tnic> (raw)
In-Reply-To: <20180226193904.20532-6-Yazen.Ghannam@amd.com>
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)
--
next prev parent reply other threads:[~2018-02-27 15:03 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-26 19:38 [PATCH v2 0/8] Decode IA32/X64 CPER Yazen Ghannam
2018-02-26 19:38 ` [PATCH v2 1/8] efi: Fix IA32/X64 Processor Error Record definition Yazen Ghannam
2018-02-27 10:47 ` Borislav Petkov
2018-02-27 15:05 ` Ghannam, Yazen
2018-02-26 19:38 ` [PATCH v2 2/8] efi: Decode IA32/X64 Processor Error Section Yazen Ghannam
2018-02-27 11:22 ` Borislav Petkov
2018-02-27 15:13 ` Ghannam, Yazen
2018-02-27 17:00 ` Borislav Petkov
2018-02-27 17:27 ` Ghannam, Yazen
2018-02-27 17:44 ` Borislav Petkov
2018-02-27 18:06 ` Ghannam, Yazen
2018-02-27 18:34 ` Borislav Petkov
2018-02-26 19:38 ` [PATCH v2 3/8] efi: Decode IA32/X64 Processor Error Info Structure Yazen Ghannam
2018-02-27 14:25 ` Borislav Petkov
2018-02-27 15:25 ` Ghannam, Yazen
2018-02-27 17:04 ` Borislav Petkov
2018-02-27 17:46 ` Ghannam, Yazen
2018-02-27 18:02 ` Borislav Petkov
2018-02-27 18:40 ` Ghannam, Yazen
2018-02-27 19:09 ` Borislav Petkov
2018-02-27 21:32 ` Ghannam, Yazen
2018-02-27 22:10 ` Borislav Petkov
2018-02-26 19:39 ` [PATCH v2 4/8] efi: Decode UEFI-defined IA32/X64 Error Structure GUIDs Yazen Ghannam
2018-02-27 14:30 ` Borislav Petkov
2018-02-27 15:28 ` Ghannam, Yazen
2018-02-27 15:31 ` Ard Biesheuvel
2018-02-26 19:39 ` [PATCH v2 5/8] efi: Decode IA32/X64 Cache, TLB, and Bus Check structures Yazen Ghannam
2018-02-27 15:03 ` Borislav Petkov [this message]
2018-02-27 15:33 ` Ghannam, Yazen
2018-02-27 17:06 ` Borislav Petkov
2018-02-26 19:39 ` [PATCH v2 6/8] efi: Decode additional IA32/X64 Bus Check fields Yazen Ghannam
2018-02-26 19:39 ` [PATCH v2 7/8] efi: Decode IA32/X64 MS Check structure Yazen Ghannam
2018-02-26 19:39 ` [PATCH v2 8/8] efi: Decode IA32/X64 Context Info structure Yazen Ghannam
2018-02-28 8:43 ` [PATCH v2 0/8] Decode IA32/X64 CPER Borislav Petkov
2018-02-28 15:12 ` Ghannam, Yazen
2018-02-28 16:35 ` Borislav Petkov
2018-02-28 20:58 ` Ghannam, Yazen
2018-03-01 11:59 ` Borislav Petkov
2018-03-23 0:19 ` Ghannam, Yazen
2018-03-23 15:29 ` Borislav Petkov
2018-03-01 16:38 ` Luck, Tony
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180227150356.GH26382@pd.tnic \
--to=bp@suse.de \
--cc=Yazen.Ghannam@amd.com \
--cc=ard.biesheuvel@linaro.org \
--cc=linux-efi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox