lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090511140754.GB6175@elte.hu>
Date:	Mon, 11 May 2009 16:07:54 +0200
From:	Ingo Molnar <mingo@...e.hu>
To:	Jaswinder Singh Rajput <jaswinder@...nel.org>
Cc:	"H. Peter Anvin" <hpa@...or.com>, x86 maintainers <x86@...nel.org>,
	LKML <linux-kernel@...r.kernel.org>,
	Alan Cox <alan@...rguk.ukuu.org.uk>
Subject: Re: [RFC][git-pull -tip] x86: cpu_debug and cpufeature patches


* Jaswinder Singh Rajput <jaswinder@...nel.org> wrote:

> On Wed, 2009-05-06 at 15:27 +0530, Jaswinder Singh Rajput wrote:
> > On Sun, 2009-05-03 at 11:09 +0200, Ingo Molnar wrote:
> > > * Jaswinder Singh Rajput <jaswinder@...nel.org> wrote:
> > > 
> > > > We can use cpu_has tests for unknown processors but 'cpu model' is 
> > > > accurate and cover all range.
> > > > 
> > > > cpu_has does not cover following registers:
> > > > 1. platform
> > > > 2. poweron
> > > > 3. control
> > > > 4. bios
> > > > 5. freq
> > > > 6. cache
> > > > 7. misc
> > > > 8. base
> > > > 9. ver
> > > > 10. conf
> > > 
> > > Firstly these should be added to cpufeatures.h.
> > > 
> > > Then add cpu_has_xxx() accessors need to be added for them and 
> > > during CPU init they have to be properly set, via two methods:
> > > 
> > >  - via CPUID (where this is possible+specified in docs)
> > >  - or via "later than CPU version X" checks
> > > 
> > > Your cpu-model table is equivalent to an explicitly enumerated CPU 
> > > version check, but this breaks every time a new CPU comes out. 
> > > 
> > > "Later than" or CPUID based feature bits are a lot more future-proof 
> > > - we only have to add support for new _features_ (and quirks, 
> > > occasionally), and dont have to maintain that full table of specific 
> > > models to specific features mapping tables.
> > > 
> > 
> > I add some cpufeatures for review, I am still adding rest of them.
> > 
> > The following changes since commit c861b6f8ea9b39699f4a35bbf7dc06eb937a34de:
> >   Ingo Molnar (1):
> >         Merge branch 'irq/urgent'
> > 
> > are available in the git repository at:
> > 
> >   git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/linux-2.6-tip.git master
> 
> 
> I added some more patches for the review.
> 
> The following changes since commit c861b6f8ea9b39699f4a35bbf7dc06eb937a34de:
>   Ingo Molnar (1):
>         Merge branch 'irq/urgent'
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/jaswinder/linux-2.6-tip.git master
> 
> Jaswinder Singh Rajput (17):
>       x86: cpu_debug.c avoid storing cpu_descriptors locally
>       x86: cpu_debug update Kconfig entry
>       x86: cpu_debug.c remove unwanted header files
>       x86: Add cpufeature for Processor Name
>       x86: Add cpufeatures for Advanced Power Management
>       x86: Add cpufeature for Microcode update
>       x86: Add cpufeature for Cache MSRs
>       x86: Add cpufeature for Hard and Soft Poweron configuration
>       x86: Add cpufeature for Scaleable bus speed
>       x86: Add cpufeature for Miscellaneous Features
>       x86: Add cpufeature for Platform feature
>       x86: Add cpufeature for Hardware configuration
>       x86: Add cpufeature for System configuration
>       x86: Add cpufeature for System management mode (SMM)
>       x86: Add cpufeature for MM configuration
>       x86: Add cpufeature for Bus configuration
>       x86: cpu_debug replace cpu_modelflag with cpu_has
> 
>  arch/x86/Kconfig                  |   11 +-
>  arch/x86/include/asm/cpu_debug.h  |  169 +-----------
>  arch/x86/include/asm/cpufeature.h |   33 ++-
>  arch/x86/include/asm/processor.h  |    1 -
>  arch/x86/kernel/cpu/Makefile      |    2 +-
>  arch/x86/kernel/cpu/amd.c         |   33 ++-
>  arch/x86/kernel/cpu/common.c      |   17 +-
>  arch/x86/kernel/cpu/cpu_debug.c   |  542 ++++++++++++-------------------------
>  arch/x86/kernel/cpu/intel.c       |   93 ++++++-
>  arch/x86/kernel/cpu/powerflags.c  |   20 --
>  arch/x86/kernel/cpu/proc.c        |   14 -
>  arch/x86/kernel/microcode_amd.c   |    3 +
>  arch/x86/kernel/microcode_intel.c |    3 +
>  13 files changed, 339 insertions(+), 602 deletions(-)
>  delete mode 100644 arch/x86/kernel/cpu/powerflags.c

ok, this removes a ton of code, so it's a big step forward.

Logistics-wise, it would be nice to separate out the CPU features 
bits, and submit them in a separate thread, right now. Please base 
that branch on the latest version of tip:x86/cpufeature.

That is where most of the discussion/tweaking will be. The 
arch/x86/kernel/cpu/cpu_debug.c bits then will be obvious cleanups 
and obvious enhancements.

Thanks,

	Ingo
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ