From: "Adam J. Richter" <adam@yggdrasil.com>
To: linux-kernel@vger.kernel.org
Subject: linux-2.5.18: DRM + cmpxchg issues
Date: Sun, 26 May 2002 01:32:50 -0700 [thread overview]
Message-ID: <200205260832.BAA01132@adam.yggdrasil.com> (raw)
Under linux-2.5.18, several drivers for Direct Render Manager
(drivers/char/drm) call cmpxchg(), which is not defined for many
architectures including base i386 (i.e., if you want a kernel that runs
across the whole x86 processor line).
2.5.18 also removed the cmpxchg() implementation for alpha that
was buried in drivers/char/drm, which I suspect was an incomplete patch
which was supposed to move the definition to somewhere in include/asm-alpha/.
Here is the list of the effected DRM drivers;
gamma.o
i810.o -- Pentium III chipset, requires AGP bus support
i830.o -- Pentium III chipset, requires AGP bus support
mga.o -- requires AGP bus
r128.o
radeon.o -- requires AGP bus
tdfx.o
For, i830 and i830, I can define CONFIG_X86_CMPXCHG and use
the optimized cmpxchg(), because I know the code is running on a
Pentium III, regardless of the kernel compilation options. The question
is what to do with the other drivers. I guess my choices are:
1. Define CONFIG_X86_CMPXCHG in these drivers and have them abort
under x86 if a runtime check shows that the processor lacks
cmpxchg. (It looks like 2.5.17 generated code that uesd
the cmpxchg without checking the processor type).
2. Write a generic cmpxchg routine (or find one in old
kernel sources) and use that in everything except i810.o
and i830.o.
3. Try to rewrite these drivers without cmpxchg.
Any advice would be appreciated.
Adam J. Richter __ ______________ 575 Oroville Road
adam@yggdrasil.com \ / Milpitas, California 95035
+1 408 309-6081 | g g d r a s i l United States of America
"Free Software For The Rest Of Us."
next reply other threads:[~2002-05-26 8:33 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-05-26 8:32 Adam J. Richter [this message]
2002-05-28 8:13 Keith Whitwell
2002-05-29 0:59 ` george anzinger
2002-05-29 7:23 ` Keith Whitwell
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=200205260832.BAA01132@adam.yggdrasil.com \
--to=adam@yggdrasil.com \
--cc=linux-kernel@vger.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®