[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
pc386 BSP and PowerPC questions.
- Date: Tue, 23 Feb 1999 07:52:10 -0600 (CST)
- From: joel at OARcorp.com (joel at OARcorp.com)
- Subject: pc386 BSP and PowerPC questions.
On Tue, 23 Feb 1999 robini at icecube-consulting.com wrote:
> Hi,
>
> I have a question about using the pc386 BSP and RTEMS on a number of PC targets.
>
> Build Environment
> -----------------
>
> RedHat Linux 5.2
> RTEMS-4.0.0
> egcs-1.1.1
> binutils-2.9.1.0.15
> newlib-1.8.1
>
> patches *-rtems-diff-19981027
>
> I applied the patches from RTEMS-4.0.0 release by hand, as they were for egcs-1.1b, binutils-2.9.1 and
> newlib-1.8.0. Most of them appeared to still be relevant.
Most are still relevant for versions newer than the above.
> Targets
> -------
> 1. Current target is an old 486SX-50 laptop using grub-0.5/1.44Mb floppy to boot.
>
> * I had to manually #ifdef out the floating point setup code in _CPU_Initialize in order to bypass the
> hard wired floating point assembler in there (causes exception on my machine). Was there a better way to
> avoid this problem?
RTEMS is based on the concept of CPU families and CPU models. The pc386
BSP is currently targetting an i386/i387 combination. Other BSPs
(gen68360, mvme162, etc) use a concept of "BSP models" to use the same BSP
with different CPU models. This allows you to (1) optimize code for a
specific CPU model, (2) avoid illegal instructions, (3) take into account
minor hardware variations.
This concept needs to be applied to the pc386 BSP so there are some
variants like pc486sx or (better) pc386sx. This would change the CPU
model, CPU_CFLAGS, and standard libraries for the BSP to avoid FP.
> * I also noticed that the call to main in bspstartup.c appeared to get
> linked to a __main not _main in the same file; I renamed it tmain to
> make it link, but maybe this was a mistake - does this have something to
> do with calling global constructors?
main.c in lib/libbsp/shared is where most BSPs get their main fomr and
this is where the global constructors get invoked.
> * grub-0.5 appears to support .exe.gz formats, but they don't work
> (appears to fail somehow then revert to first target in grubmenu). Has
> anyone made this work - I would like to be able to squeeze most/all of
> the sptests on a single floppy for easy regression testing.
:( Report this to the grub maintainers.
> * Other than these issues it seems to work OK, allthough I still have to
> run the bulk of the test suite.
Most will run but be warned some tests have known race conditions that
need to be addressed in a future release. Don't bother running spfatal
(broken) or paranoia (since you don't have FP).
> 2. I want to be able to run this on a Gateway Pentium-133 with PCI and dual PCI-based 10/100 ethernet adapters.
> I don't care about VGA-console support in the long run (but is nice to have for now).
>
> * Currently I cannot get the BSP to run on either a P233MMX machine or a
> PentiumII-333 machine.
>
> 3. The next step will be to move to a Motorola Yellowknife 740 with the
> same ethernet boards.
>
> 4. Finally the whole thing will move to a custom board - PowerPC 740
> with PCI and dual 10/100 Ethernet adapters.
>
> Questions
> ---------
>
> Has anyone made the pc386 BSP run on a Pentium/PCI system of any sort -
> what do I need to do to make it work?
Probably a video card combination that has not been seen. I personally
ran it on a Gateway 300 Mhz PII/PCI system. There are some debug
conditionals you can turn on in the BSP that should help.
> If there is much work to do would it make sense to introduce a new BSP
> or should the pc386 BSP be updated. I suppose that will depend on how
> much code changes.
The CPU model variation is small -- look in make/custom at the BSPs I
mentioned above (or grep for include and ignore the ones that include
default.cfg).
The problem of not running on a particular PC is probably a minor change
as well. Probably just an assumption in the console driver that is
invalid on that system.
> Has anyone got experience of the 740/PCI environment - either eval
> boards or custom - what BSP is best to start with, and are there any
> pitfalls I should watch out for.
There are other uses beginning to use PPC7xx systems. My personal
experience is with VMEbus boards with PMC (PCI mezzanine). The
development/support code base has a number of new PowerPC BSPs (at least
4).
> Thanks in advance for any help - reply to list or private email as you see fit.
>
> Robin
> robini at icecube-consulting.com
--joel
Joel Sherrill Director of Research & Development
joel at OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985