BIOS/Linux <booting PCI/APIC>

From: Richard B. Johnson (root@chaos.analogic.com)
Date: Wed Apr 05 2000 - 10:02:10 EST


I have made an embeded-system BIOS. It is not a complete BIOS, but
it's smart enough to load MS-DOS from a diskette.

It has the required INT 0x15 virtual block-move that LILO needs
and it also has the memory-sizing, etc.

All of the stuff necessary to run the floppy, i.e., interrupts,
DMA, timer-channel 0, etc. runs.

However, when attempting to load Linux, there seems to be some
things that Linux assumes were set up by the BIOS.... and I
don't have a clue what it was or how to do it!

The first thing that fails is the bogomips, which shows a clock
speed of 0.000 MHz. This is strange because the timers are running
and interrupts, etc., were initialized, both by the my BIOS and
later in setup.S.

The second thing that fails (with a panic, dereferencing a pointer
at virtual address 0x00000030) is the PCI bus initialization.
>From cold-boot, my BIOS has not touched the PCI bus since it doesn't
need it to boot and I assumed that Linux re-did everything anyway.

Apparently, Linux assumes something with the PCI device(s) that
my BIOS hasn't done. It looks like the APIC is probably being used
for timer channel 0, which causes the bogomips loop to fail because
this hasn't been initialized.

Does anybody know what the minimum initialization necessary by the
BIOS is, to make Linux happy?

FYI, a stripped-down, Linux version, with no PCI, etc.
boots fine. However, then it can't access my network card so
that's not an option.

Cheers,
Dick Johnson

Penguin : Linux version 2.3.41 on an i686 machine (800.63 BogoMips).

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Apr 07 2000 - 21:00:14 EST