From: Andrew Morton <akpm@linux-foundation.org>
To: Juergen Beisert <juergen127@kreuzholzen.de>
Cc: Mikael Pettersson <mikpe@it.uu.se>,
linux-kernel@vger.kernel.org, Andi Kleen <ak@suse.de>
Subject: Re: [PATCH] [1/1] CPU-i386-Geode: Chipset access macros do not work as expected (2nd try)
Date: Tue, 1 May 2007 17:48:08 -0700 [thread overview]
Message-ID: <20070501174808.4ac5378b.akpm@linux-foundation.org> (raw)
In-Reply-To: <200704301733.41903.juergen127@kreuzholzen.de>
On Mon, 30 Apr 2007 17:33:41 +0200
Juergen Beisert <juergen127@kreuzholzen.de> wrote:
> From: Juergen Beisert <juergen.beisert@weihenstephan.org>
>
> Replace NSC/Cyrix specific chipset access macros by inlined functions.
> With the macros a line like this fails (and does nothing):
> setCx86(CX86_CCR2, getCx86(CX86_CCR2) | 0x88);
> With inlined functions this line will work as expected.
>
> Note about a side effect: Seems on Geode GX1 based systems the
> "suspend on halt power saving feature" was never enabled due to this
> wrong macro expansion. With inlined functions it will be enabled, but
> this will stop the TSC when the CPU runs into a HLT instruction.
> Kernel outputs something like this:
> Clocksource tsc unstable (delta = -472746897 ns)
> Tested on a Geode GX1 system.
>
> This is the second version with some modifications suggested by
> Mikael Pettersson
>
> Signed-off-by: Juergen Beisert <juergen.beisert@weihenstephan.org>
>
> Index: linux-2.6.21/include/asm-i386/processor.h
> ===================================================================
> --- linux-2.6.21.orig/include/asm-i386/processor.h
> +++ linux-2.6.21/include/asm-i386/processor.h
> @@ -202,37 +202,6 @@ static inline void clear_in_cr4 (unsigne
> write_cr4(cr4);
> }
>
> -/*
> - * NSC/Cyrix CPU configuration register indexes
> - */
> -
> -#define CX86_PCR0 0x20
> -#define CX86_GCR 0xb8
> -#define CX86_CCR0 0xc0
> -#define CX86_CCR1 0xc1
> -#define CX86_CCR2 0xc2
> -#define CX86_CCR3 0xc3
> -#define CX86_CCR4 0xe8
> -#define CX86_CCR5 0xe9
> -#define CX86_CCR6 0xea
> -#define CX86_CCR7 0xeb
> -#define CX86_PCR1 0xf0
> -#define CX86_DIR0 0xfe
> -#define CX86_DIR1 0xff
> -#define CX86_ARR_BASE 0xc4
> -#define CX86_RCR_BASE 0xdc
This clashes with Andi's "msr-index" patch:
ftp://ftp.firstfloor.org/pub/ak/x86_64/quilt/patches/msr-index
Perhaps it'd be best to wait until msr-index goes upstream and to raise a
patch then. Or to redo and retest against 2.6.21-rc7-mm2, which includes
msr-index.
Also, include/asm-x86_64/processor.h has a getCx86(), too. Does it also
need fixing?
next prev parent reply other threads:[~2007-05-02 0:48 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-30 14:09 [PATCH] [1/1] CPU-i386-Geode: Chipset access macros do not work as expected Mikael Pettersson
2007-04-30 15:33 ` [PATCH] [1/1] CPU-i386-Geode: Chipset access macros do not work as expected (2nd try) Juergen Beisert
2007-05-02 0:48 ` Andrew Morton [this message]
2007-05-02 7:16 ` Juergen Beisert
2007-05-02 7:48 ` Andrew Morton
2007-05-02 9:25 ` Andi Kleen
-- strict thread matches above, loose matches on Subject: below --
2007-04-30 15:40 Mikael Pettersson
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=20070501174808.4ac5378b.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=ak@suse.de \
--cc=juergen127@kreuzholzen.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mikpe@it.uu.se \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.