Messages in this thread | | | Date | Thu, 8 May 2008 00:37:06 +0200 | From | Pavel Machek <> | Subject | Re: 2.6.26, PAT and AMD family 6 |
| |
On Wed 2008-05-07 15:22:37, Yinghai Lu wrote: > On Wed, May 7, 2008 at 3:14 PM, Pavel Machek <pavel@suse.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. Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
| |