mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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.
--

  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®