Subject: booting kernel on EBSA285

From: "Paul Robertson" <[email-masked]>
Date: Thu, 11 Nov 1999 13:10:44 -0000

I have a zImage configured for EBSA-285, and some boot code which loads the zImage at 0x8000, then executes it.
decompress_kernel() outputs its messages:

Uncompressing Linux...done.
Now booting the kernel

After that nothing.
Any ideas how I could move on from here?

The boot code is Russell King's Bios 1.05, but hacked so that it doesn't use any peripheral devices, simply copies the zImage from Flash into RAM.

Paul Robertson
LocSoft Limited
"The key to your embedded solutions"
www.locsoft.com
Phone +44 (0) 1793 432557 
Fax     +44 (0) 1793 432727

---

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Thu, 11 Nov 1999 19:54:30 +0000 (GMT)

> the zImage at 0x8000, then executes it.

Is it an EBSA285 board that you're trying to get it running on, or an
EBSA285-alike board?

>From what's been discussed previously when this happens, and it's running
on an EBSA285-alike board, it normally turns out to be missing pull-up
resistors on the PCI arbiter signals (iirc).

> The boot code is Russell King's Bios 1.05, but hacked so that it doesn't
> use any peripheral devices, simply copies the zImage from Flash into
> RAM.

I do hope that it initialises the DC21285 still.  If not, this is probably
your problem.
   _____
  |_____| ------------------------------------------------- ---+---+-
  |   |        Russell King       [email-masked]      --- ---
  | | | |  http://www.arm.linux.org.uk/~rmk/armlinux.html    /  /  |
  | +-+-+                                                     --- -+-
  /   |               THE developer of ARM Linux              |+| /|\
 /  | | |                                                     ---  |
    +-+-+ -------------------------------------------------  /\\\  |

unsubscribe: body of `unsubscribe linux-arm-kernel' to [email-masked]

---

From: Francois Desloges <[email-masked]>
Date: Fri, 12 Nov 1999 13:38:21 -0500

> > Any ideas how I could move on from here?

Wow! I've got the exact same situation here!
On our two different systems.
First system is an EBSA plugged in its backplane (which provide the Arbiter)
Second system is a one board solution including the PCI slots. Since we don't
need the X-Bus, we have plugged 21285 PCI Bus Master Request signal (req_l)
directly into 21285 Bus Master Grant signal (gnt_l), so that 21285 is the
Arbiter.

> resistors on the PCI arbiter signals (iirc).

If a system has the 21285 as the Arbiter, is the kernel configured for
EBSA able to deal with this or I must configure it otherwise (CATS?)

> I do hope that it initialises the DC21285 still.  If not, this is probably
I load the kernel from a RawPartition device on an ide drive (in a hacked
version of  ide_load() in ide.c), so I guess the BIOS normal PCI initialization
has been done at this point?

Where is this basic 21285 initialization performed in the BIOS ?

-- 
François Desloges
[email-masked]

---

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Fri, 12 Nov 1999 21:53:46 +0000 (GMT)

> directly into 21285 Bus Master Grant signal (gnt_l), so that 21285 is the

Ok, here is a "generic" way of finding out what's going wrong...

Do a make config (or menuconfig or xconfig depending on your taste).  You should
find an option called CONFIG_DEBUG_LL (Kernel low-level debugging functions).
Turn this on.  Also, turn on CONFIG_DEBUG_DC21285_PORT
(Kernel low-level debugging messages via DC21285 port).  Then, add into
kernel/printk.c a "printascii(buf+3) as shown below:

        va_start(args, fmt);
        i = vsprintf(buf + 3, fmt, args); /* hopefully i < sizeof(buf)-4 */
        buf_end = buf + 3 + i;
        va_end(args);
printascii(buf+3);
        for (p = buf + 3; p < buf_end; p++) {

You can add other printascii(), printhex() etc calls in start_kernel if you
so desire to find out where it's going wrong.

The above will write messages passed to printk() to the DC21285's serial port
before the kernel initialises any console.

> Where is this basic 21285 initialization performed in the BIOS ?

drivers/pci.c

   _____