From: Christer Weinigel <wingel@hog.ctrl-c.liu.se>
To: hpa@zytor.com
Cc: robert@schwebel.de, linux-kernel@vger.kernel.org,
jason@mugwump.taiga.com, anders@alarsen.net, rkaiser@sysgo.de
Subject: Re: [RFC] Embedded X86 systems Was: [PATCH][RFC] AMD Elan patch
Date: Wed, 2 Jan 2002 02:07:27 +0100 (CET) [thread overview]
Message-ID: <20020102010727.E0BEC36F9F@hog.ctrl-c.liu.se> (raw)
In-Reply-To: <3C32487C.4040006@zytor.com> (hpa@zytor.com)
In-Reply-To: <Pine.LNX.4.33.0201020006240.3056-100000@callisto.local> <3C32487C.4040006@zytor.com>
H. Peter Anvin wrote:
> Robert Schwebel wrote:
> > Hmm, there is no special section for chipset issues, the only ones I could
> > find are "Toshiba Laptop support" and "Dell Laptop Support" (also in
> > "Processor type and features"). Other chipset bugfix options are in the
> > IDE driver section, but this doesn't apply here. So the options would be
> >
> > - add something like "Elan Support" in "Processor type and features"
> > - add a new section for general chipset fixes
>
> "Processor type and features" is good enough for now, I think. It's not
> a very large section.
I belive that we're going to see a lot more x86-based embedded systems
in the future, some that won't even have a normal PC BIOS. So I think
that we ought to do something like the m68k and arm architectures
where it's possible to have different setup code for different CPUs,
chipsets and specific board designs.
I've been working with three different NatSemi Geode based designs
lately (two really PC compatible, one requiring special boot code) and
I think it would be good to come up with some guidelines for where to
put these config options and how to name them.
The different x86 embedded CPUs I've been working with are the AMD
Elan SC410, Cyrix MediaGX/National Semiconducgtor Geode with the
Cx5530 companion chip, National SC2200 (basically a Geode + Cx5530 on
a chip) and ZF Embedded. All of these have some quirks or features
that could use some configuration options.
Some CPUs/Chipsets/Design choices will stop the kernel from working
properly on a normal PC, e.g. an Elan enabled kernel will have the
wrong clock, while some other options such as the National SC2200 only
have some extra chipset features that can be safely detected and
ignored when not present.
Right now I'm working on a Natsemi SC2200 design and this is how I
feel the support for this design should be split up:
Processor family:
Maybe add a CONFIG_GEODE option since all Geode CPUs have a cache line
size of 16 bytes, so CONFIG_X86_L1_CACHE_SHIFT should be 4. How
important is the cache line size for the performance of the kernel,
does it really make a difference, if it doesn't the generic M586
option is enough.
Chipset:
There is the basic Cx5530 chipset, which could have support in the
Linux kernel (IDE, graphics and sound).
"IA on a chip" SCx200 which is an integrated Geode + Cx5530, so most
of the the 5530 options would apply here. Additionally there is a
built in watchdog timer in the CPU, some GPIO lines, and a high
precision timer that could be used instead of the TSC to get a good
time of day reading.
There are three different SCx200 variants, some features are common
for all chips, some are specific for a variant, such as the video
input port and graphics overlay/genlock.
Board design:
There are a lot of different designs based on the Geode family CPUs
and chipsets, and they are all different. Some are mostly PC
compatible and some are wholly customised, the IRQ routing can be
unique for each board and GPIOs can have multiplexed functions, so
that if one isn't careful, it's possible to configure the TFT screen
outputs as an parallell port instead and possibly fry the screen.
Firmware, BIOS or boot loader:
Right now the design I'm working on uses an Insyde BIOS which is a
rather normal PC BIOS, but I'm looking at the possibility of doing my
own bootloader in the future, to lose the licence fees and to
implement some features such as a serial or network console. This
means that right now the board looks and boots like a PC but in the
future there might be no BIOS functions available at all.
So, does anyone have any ideas on how to organize the configuration
options? How should they be named? The choices I've made so far are:
I've added a config option (near CONFIG_VISWS) for the chipset:
bool 'National Geode SCx200 support' CONFIG_ARCH_SCx200
and right after it have an option to do board-specific initialization:
mainmenu_option next_comment
comment 'NatSemi SCx200 implementations'
bool ' My little design' CONFIG_SCx200_MY_LITTLE_DESIGN
For the generic SCx200 features, I've added drivers in the respective
directories such as a watchdog driver in drivers/char:
dep_tristate ' NatSemi SCx200 Watchdog' CONFIG_SCx200_WATCHDOG \
$CONFIG_ARCH_SCx200
Does this organization look good? Any suggestions on what to call a
config option that changes the setup code to work with a custom
bootloader or board:
bool ' Normal PC BIOS support' CONFIG_SETUP_PC_BIOS
bool ' Ericsson eBox boot protocol' CONFIG_SETUP_EB100
bool ' Magic GRUB variant as BIOS' CONFIG_SETUP_MAGIC_GRUB_VARIANT
/Christer (being a wee bit to verbose again)
--
"Just how much can I get away with and still go to heaven?"
next prev parent reply other threads:[~2002-01-02 1:07 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-21 21:26 AMD SC410 boot problems with recent kernels Robert Schwebel
2001-12-21 22:09 ` H. Peter Anvin
2001-12-22 16:13 ` Robert Schwebel
2001-12-23 1:44 ` H. Peter Anvin
2001-12-23 9:45 ` Robert Schwebel
2001-12-23 10:19 ` H. Peter Anvin
2001-12-23 13:16 ` Christer Weinigel
2001-12-23 20:02 ` H. Peter Anvin
2001-12-30 22:02 ` Robert Schwebel
2001-12-30 23:15 ` H. Peter Anvin
2002-01-01 12:30 ` [PATCH][RFC] AMD Elan patch Robert Schwebel
2002-01-01 21:49 ` H. Peter Anvin
2002-01-01 23:27 ` Robert Schwebel
2002-01-01 23:38 ` H. Peter Anvin
2002-01-02 0:05 ` Dave Jones
2002-01-02 0:45 ` H. Peter Anvin
2002-01-02 13:49 ` Robert Schwebel
2002-01-02 14:03 ` Dave Jones
2002-01-02 16:10 ` Alan Cox
2002-01-02 22:40 ` H. Peter Anvin
2002-01-02 23:10 ` Alan Cox
2002-01-02 23:02 ` H. Peter Anvin
2002-01-02 23:50 ` Alan Cox
2002-01-03 9:04 ` Robert Schwebel
2002-01-02 23:56 ` Robert Kaiser
2002-01-03 0:10 ` Alan Cox
2002-01-03 8:52 ` Robert Schwebel
2002-01-02 16:06 ` Alan Cox
2002-01-02 16:56 ` Robert Schwebel
2002-01-02 17:26 ` Robert Schwebel
2002-01-02 23:06 ` Peter Wächtler
2002-01-02 23:21 ` H. Peter Anvin
2002-01-02 1:07 ` Christer Weinigel [this message]
2002-01-02 8:45 ` [RFC] Embedded X86 systems Was: " Alan Cox
2002-01-02 9:05 ` Christer Weinigel
2002-01-02 9:18 ` Alan Cox
2002-01-05 12:23 ` Eric W. Biederman
2002-01-02 0:06 ` Christer Weinigel
2002-01-02 0:48 ` H. Peter Anvin
2002-01-02 1:10 ` Christer Weinigel
2002-01-02 13:58 ` Robert Schwebel
2002-01-02 20:47 ` Christer Weinigel
2002-01-02 13:55 ` Robert Schwebel
2002-01-02 15:54 ` Robert Schwebel
2002-01-11 9:38 ` [PATCH] " Robert Schwebel
2002-01-21 7:28 ` New version of " Robert Schwebel
2002-01-21 20:44 ` Marcelo Tosatti
2002-01-24 8:09 ` Robert Schwebel
2002-01-24 8:39 ` Robert Schwebel
2002-01-23 10:28 ` [PATCH] " Robert Schwebel
2002-01-23 21:30 ` Marcelo Tosatti
2002-01-22 14:47 ` [PATCH][RFC] " Robert Schwebel
2002-01-22 18:01 ` Dave Jones
2002-01-22 22:55 ` New version of AMD Elan patch available Robert Schwebel
2002-02-01 22:01 ` Robert Schwebel
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=20020102010727.E0BEC36F9F@hog.ctrl-c.liu.se \
--to=wingel@hog.ctrl-c.liu.se \
--cc=anders@alarsen.net \
--cc=hpa@zytor.com \
--cc=jason@mugwump.taiga.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rkaiser@sysgo.de \
--cc=robert@schwebel.de \
--cc=wingel@t1.ctrl-c.liu.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome