From: Borislav Petkov <bp@alien8.de>
To: Max Asbock <masbock@linux.vnet.ibm.com>
Cc: tony.luck@intel.com, linux-acpi@vger.kernel.org,
ying.huang@intel.com, naveen.n.rao@in.ibm.com, ananth@in.ibm.com,
lcm@linux.vnet.ibm.com
Subject: Re: [Patch] MCE, APEI: Don't enable CMCI when Firmware First mode is set in HEST for corrected machine checks
Date: Tue, 7 May 2013 20:51:51 +0200 [thread overview]
Message-ID: <20130507185151.GE7633@pd.tnic> (raw)
In-Reply-To: <1367941214.4518.90.camel@oc3432500282.ibm.com>
On Tue, May 07, 2013 at 08:40:14AM -0700, Max Asbock wrote:
> So something like the following patch might be closer:
Yep, we're getting there.
[ … ]
> +static bool cmc_firmware_first;
Why the global variable?
You can pass it as a pointer to apei_hest_parse so that
check_cmc_firmware_first can set its value. See below:
> +static int check_cmc_firmware_first(struct acpi_hest_header *hest_hdr, void *d)
> +{
> + if (hest_hdr->type == ACPI_HEST_TYPE_IA32_CORRECTED_CHECK) {
> + struct acpi_hest_ia_corrected *cmc;
> +
> + cmc = (struct acpi_hest_ia_corrected *)hest_hdr;
> + if (cmc->flags & ACPI_HEST_FIRMWARE_FIRST) {
> + cmc_firmware_first = true;
> + return 1;
> + }
> + }
> + return 0;
> +}
> +
> +static void disable_cmci(void *data)
> +{
> + if (!mce_available(__this_cpu_ptr(&cpu_info)))
> + return;
> + cmci_clear();
> +}
> +
> +static __init int honor_cmc_firmware_first(void)
> +{
> + apei_hest_parse(check_cmc_firmware_first, NULL);
> +
> + if (cmc_firmware_first && !mca_cfg.cmci_disabled) {
> + on_each_cpu(disable_cmci, NULL, 1);
> + mca_cfg.cmci_disabled = true;
Well, in looking at the code more, there's set_cmci_disabled() in mce.c.
You can make a helper which contains only the meat of this function
without the buffer parsing and export it to users.
This way you don't need to touch anything else in mce.c - only this
helper.
IOW, I think it can be as simple as this:
static __init int honor_cmc_firmware_first(void)
{
bool ff = false;
/*
* XXX: you need to check error code here and return early accordingly
*/
apei_hest_parse(check_cmc_firmware_first, &ff);
if (ff)
disable_cmci(); /* <--- helper */
/*
* Perhaps an informational message here:
*/
pr_info("APEI: Switching to Firmware-First mode.\n");
return 0;
}
late_initcall(honor_cmc_firmware_first);
And this chunk should be in drivers/acpi/apei/ and not in arch/x86/.
Thanks.
--
Regards/Gruss,
Boris.
Sent from a fat crate under my desk. Formatting is fine.
--
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2013-05-07 18:51 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-06 22:58 [Patch] MCE, APEI: Don't enable CMCI when Firmware First mode is set in HEST for corrected machine checks Max Asbock
2013-05-06 23:25 ` Borislav Petkov
2013-05-07 3:32 ` Max Asbock
2013-05-07 13:19 ` Borislav Petkov
2013-05-07 15:40 ` Max Asbock
2013-05-07 18:51 ` Borislav Petkov [this message]
2013-05-07 21:34 ` Luck, Tony
2013-05-07 21:55 ` Borislav Petkov
2013-05-08 21:22 ` Borislav Petkov
2013-05-08 21:55 ` Luck, Tony
2013-05-08 22:15 ` Borislav Petkov
2013-05-08 22:22 ` Luck, Tony
2013-05-10 17:59 ` Max Asbock
2013-05-12 14:47 ` Borislav Petkov
2013-06-14 18:17 ` [PATCH] Re: [Patch] MCE, APEI: Don't enable CMCI when Firmware First mode is set in Naveen N. Rao
2013-06-15 14:48 ` Borislav Petkov
2013-06-17 7:00 ` Naveen N. Rao
2013-06-17 7:00 ` Naveen N. Rao
2013-06-17 7:06 ` Borislav Petkov
2013-06-17 8:11 ` Naveen N. Rao
2013-06-17 8:21 ` Borislav Petkov
2013-06-17 10:31 ` Naveen N. Rao
2013-06-18 6:43 ` Naveen N. Rao
2013-06-18 22:29 ` Tony Luck
2013-06-19 6:58 ` Naveen N. Rao
2013-06-16 12:20 ` Borislav Petkov
2013-06-17 7:00 ` Naveen N. Rao
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=20130507185151.GE7633@pd.tnic \
--to=bp@alien8.de \
--cc=ananth@in.ibm.com \
--cc=lcm@linux.vnet.ibm.com \
--cc=linux-acpi@vger.kernel.org \
--cc=masbock@linux.vnet.ibm.com \
--cc=naveen.n.rao@in.ibm.com \
--cc=tony.luck@intel.com \
--cc=ying.huang@intel.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.