From: Borislav Petkov <bp@alien8.de>
To: Fenghua Yu <fenghua.yu@intel.com>
Cc: H Peter Anvin <hpa@zytor.com>, Ingo Molnar <mingo@elte.hu>,
Thomas Gleixner <tglx@linutronix.de>,
Asit K Mallick <asit.k.mallick@intel.com>,
Tigran Aivazian <tigran@aivazian.fsnet.co.uk>,
Andreas Herrmann <andreas.herrmann3@amd.com>,
Borislav Petkov <borislav.petkov@amd.com>,
Yinghai Lu <yinghai@kernel.org>,
linux-kernel <linux-kernel@vger.kernel.org>, x86 <x86@kernel.org>
Subject: Re: [PATCH v3 04/10] x86/microcode_core_early.c: Define interfaces for early loading ucode
Date: Sun, 16 Dec 2012 18:57:22 +0100 [thread overview]
Message-ID: <20121216175722.GA14678@liondog.tnic> (raw)
In-Reply-To: <1355654609-16800-5-git-send-email-fenghua.yu@intel.com>
On Sun, Dec 16, 2012 at 02:43:23AM -0800, Fenghua Yu wrote:
> +#define QCHAR(a, b, c, d) ((a) + ((b) << 8) + ((c) << 16) + ((d) << 24))
> +#define CPUID_INTEL1 QCHAR('G', 'e', 'n', 'u')
> +#define CPUID_INTEL2 QCHAR('i', 'n', 'e', 'I')
> +#define CPUID_INTEL3 QCHAR('n', 't', 'e', 'l')
> +#define CPUID_AMD1 QCHAR('A', 'u', 't', 'h')
> +#define CPUID_AMD2 QCHAR('e', 'n', 't', 'i')
> +#define CPUID_AMD3 QCHAR('c', 'A', 'M', 'D')
> +
> +#define CPUID_IS(a, b, c) (!((ebx ^ (a))|(edx ^ (b))|(ecx ^ (c))))
What, this macro is relying on external variable names and doesn't have
them as its own macro arguments? Why? This is really fragile and very
much prone to errors.
What's wrong with doing:
#define CPUID_IS(a, b, c, ebx, ecx, edx) (!(((ebx) ^ (a))|((edx) ^ (b))|((ecx) ^ (c))))
?
--
Regards/Gruss,
Boris.
Sent from a fat crate under my desk. Formatting is fine.
--
next prev parent reply other threads:[~2012-12-16 17:57 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-16 10:43 [PATCH v3 00/10] x86/microcode: Early load microcode Fenghua Yu
2012-12-16 10:43 ` [PATCH v3 01/10] Documentation/x86: " Fenghua Yu
2012-12-16 10:43 ` [PATCH v3 02/10] x86/microcode_intel.h: Define functions and macros for early loading ucode Fenghua Yu
2012-12-16 10:43 ` [PATCH v3 03/10] x86/common.c: Make have_cpuid_p() a global function Fenghua Yu
2012-12-16 10:43 ` [PATCH v3 04/10] x86/microcode_core_early.c: Define interfaces for early loading ucode Fenghua Yu
2012-12-16 17:57 ` Borislav Petkov [this message]
2012-12-16 18:09 ` Yu, Fenghua
2012-12-16 18:17 ` Borislav Petkov
2012-12-16 10:43 ` [PATCH v3 05/10] x86/microcode_intel_lib.c: Early update ucode on Intel's CPU Fenghua Yu
2012-12-16 10:43 ` [PATCH v3 06/10] x86/microcode_intel_early.c: " Fenghua Yu
2012-12-16 10:43 ` [PATCH v3 07/10] x86/head_32.S: Early update ucode in 32-bit Fenghua Yu
2012-12-16 10:43 ` [PATCH v3 08/10] x86/head64.c: Early update ucode in 64-bit Fenghua Yu
2012-12-16 17:59 ` Yinghai Lu
2012-12-16 18:38 ` Yu, Fenghua
2012-12-16 21:43 ` H. Peter Anvin
2012-12-16 23:35 ` Yinghai Lu
2012-12-16 23:59 ` Yu, Fenghua
2012-12-17 0:42 ` Yinghai Lu
2012-12-17 2:02 ` Yinghai Lu
2012-12-17 7:14 ` Yu, Fenghua
2012-12-17 23:30 ` Yu, Fenghua
2012-12-17 23:34 ` Yinghai Lu
2012-12-18 0:32 ` Yu, Fenghua
2012-12-18 0:36 ` Yinghai Lu
2012-12-18 22:55 ` Yu, Fenghua
2012-12-18 22:57 ` Yinghai Lu
2012-12-16 10:43 ` [PATCH v3 09/10] x86/mm/init.c: Copy ucode from initrd image to memory Fenghua Yu
2012-12-16 10:43 ` [PATCH v3 10/10] x86/Kconfig: Configurations to enable/disable the feature Fenghua Yu
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=20121216175722.GA14678@liondog.tnic \
--to=bp@alien8.de \
--cc=andreas.herrmann3@amd.com \
--cc=asit.k.mallick@intel.com \
--cc=borislav.petkov@amd.com \
--cc=fenghua.yu@intel.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
--cc=tigran@aivazian.fsnet.co.uk \
--cc=x86@kernel.org \
--cc=yinghai@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
all inboxes | Powered by JetHome®