[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <86802c440805071540i71f9d0c4y2eaf97e170ee538e@mail.gmail.com>
Date: Wed, 7 May 2008 15:40:38 -0700
From: "Yinghai Lu" <yhlu.kernel@...il.com>
To: "Pavel Machek" <pavel@...e.cz>
Cc: "Thomas Gleixner" <tglx@...utronix.de>,
"Adrian Bunk" <bunk@...nel.org>,
"Rene Herman" <rene.herman@...access.nl>,
"Ingo Molnar" <mingo@...e.hu>,
"Linux Kernel" <linux-kernel@...r.kernel.org>, hpa@...or.com,
torvalds@...ux-foundation.org, akpm@...ux-foundation.org
Subject: Re: 2.6.26, PAT and AMD family 6
On Wed, May 7, 2008 at 3:37 PM, Pavel Machek <pavel@...e.cz> wrote:
> On Wed 2008-05-07 15:22:37, Yinghai Lu wrote:
> > On Wed, May 7, 2008 at 3:14 PM, Pavel Machek <pavel@...e.cz> wrote:
> > > 3) copy&paste code remained in the patch
> >
> > i thought to keep the stub so could add more other stuff in the switch
> > like 64 bit
>
> This is _not_ good enough reason to copy&paste. Just do it like this:
>
>
> > switch (c->x86_vendor) {
> > case X86_VENDOR_AMD:
> > early_init_amd(c);
>
> > break;
> > case X86_VENDOR_INTEL:
> > early_init_intel(c);
>
> > break;
> > case X86_VENDOR_CENTAUR:
> > early_init_centaur(c);
> > break;
> > }
>
> # clear_cpu_cap(c, X86_FEATURE_PAT);
>
> #
> # switch (c->x86_vendor) {
> # case X86_VENDOR_AMD:
> # if (c->x86 >= 0xf && c->x86 <= 0x11)
>
> # set_cpu_cap(c, X86_FEATURE_PAT);
> # break;
> # case X86_VENDOR_INTEL:
> # if (c->x86 == 0xF || (c->x86 == 6 && c->x86_model >= 15))
>
> # set_cpu_cap(c, X86_FEATURE_PAT);
> # break;
> # }
>
> And then, factor out code marked # into separate function, and call it
> from all three places.
still need two copies or ifdef, otherwise you will check some 32bit
only cpu fam/model in 64bit node.
YH
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists