On Sat, Jul 31, 1999 at 08:44:18PM -0700, AurobindoTripathy wrote:
>
> Question on RT Linux for those in the know about the boot sequence.
>
> I am designing a PCI add-in card that needs to start working within 1-2
> seconds of power-on, i.e., it cannot wait for a full linux boot which is in
> the order of tens of seconds.
>
> How can I solve this with RT Linux?
>
> Can the real-time kernel, which I assume "boots" first in a few
> milliseconds, initialize the card and devote a few cpu cycles to it (oops,
> I forget to mention that the card need to talk to the CPU periodically)
> while the rest of the non-real-time part system is booting?
The Linux boot sequence goes as follows:
1. BIOS initialization
2. LILO boot loader (typically)
3. loading and uncompression of the kernel
4. initialization of protected memory
5. interrupt (and RTL) initialization
6. driver initialization
7. everything else
During the time of (1), you have absolutely no control over the
system. This time can be up to a minute (i.e., like on my server),
although you can tune the system for less. You can concievably
hack every other step to do what you want, but it is a lot of
work, because: steps 1-3 are in 16 bit mode, whereas 5-7 are
in 32 bit mode; PCI isn't initialized (as far as Linux is
concerned) until step 6; and you have to comfortably be "out of
the way" while all the magic of system booting is going on.
What you really are asking for is a DSP, which can execute the
first instruction of your code within microseconds of coming out
of reset. RTLinux is not a DSP.
By the way, what is the difference between "power off" and "power
on, but not ready yet"? I hope you are designing your board so
that it doesn't do random things before it is initialized...
My preferred solution, however, is to never reboot the computer.
dave...
--- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
----
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/