[U-Boot-Users] Wrong board info for ML403

Leonid Leonid at a-k-a.net
Thu Mar 15 15:38:42 CET 2007


Hi:

 

I'm trying to bring up Linux on Xilinx ML403 reference board.

 

I took 2.6.19.2 kernel from DENX. EDK project for ML403 I took from
official Xilinx site.

 

I could bring up u-boot on the board, everything is working fine (see
ml403.h file attached). Then I compiled uImage for kernel and tried to
download it - I don't see any kernel's outputs:

 

TFTP from server 192.168.0.141; our IP address is 192.168.0.203

Filename 'LM200/rel/1.0.1d-403/uImage'.

Load address: 0x1000000

Loading: T
#################################################################

 
#################################################################

         #######################################

done

Bytes transferred = 861735 (d2627 hex)

## Booting image at 01000000 ...

   Image Name:   Linux-2.6.19.2

   Image Type:   PowerPC Linux Kernel Image (gzip compressed)

   Data Size:    861671 Bytes = 841.5 kB

   Load Address: 00000000

   Entry Point:  00000000

   Verifying Checksum ... OK

   Uncompressing Kernel Image ... OK

## Current stack ends at 0x03E676F0 => set upper limit to 0x00800000

## cmdline at 0x007FFF00 ... 0x007FFFF8

memstart    = 0x00000000

memsize     = 0x04000000

flashstart  = 0x28000000

flashsize   = 0x00800000

flashoffset = 0x00000000

sramstart   = 0x00000000

sramsize    = 0x00000000

bootflags   = 0x0000003C

procfreq    =    300 MHz

plb_busfreq =    100 MHz

ethaddr     = 00:01:02:CB:CB:71

IP addr     = 192.168.0.203

baudrate    = 115200 bps

No initrd

## Transferring control to Linux (at address 00000000) ...

 

I have read a lot of posts and reviewed the source code and I think
these kernel trees I'm using are properly patched for using u-boot; I
only included asm/ppcboot.h into xilinx_403.h:

 

/* U-boot expects the bd_t to look like the one in ppcboot.h, not like
this. */

#ifdef NOT_USING_UBOOT

typedef struct board_info {

      unsigned int      bi_memsize;            /* DRAM installed, in
bytes */

      unsigned char     bi_enetaddr[6];  /* Local Ethernet MAC address
*/

      unsigned int      bi_intfreq;            /* Processor speed, in Hz
*/

      unsigned int      bi_busfreq;            /* PLB Bus speed, in Hz
*/

      unsigned int      bi_pci_busfreq;  /* PCI Bus speed, in Hz */

} bd_t;

 

/* Some 4xx parts use a different timebase frequency from the internal
clock.

*/

#define bi_tbfreq bi_intfreq

 

#else

#include <asm/ppcboot.h>

#endif /* UBOOT */

 

Anyway I tried to compile zImage.elf and download it directly to RAM
using XMD. Here I had partial success: first time after FPGA image
downloading I try it, I see the following (it doesn't happen if I try to
repeat downloading again without reloading FPGA image first):

 

====

loaded at:     00400000 004DA13C

board data at: 004D8124 004D813C

relocated to:  00404090 004040A8

zimage at:     00404E1D 004D7401

avail ram:     004DB000 04000000

 

Linux/PPC load: console=ttyS0,115200

Uncompressing Linux...done.

Now booting the kernel

[    0.000000] Linux version 2.6.19.2 (root at mylinux.a-k-a.local) (gcc
version 4.0.0 (DENX ELDK 4.1 4.0.0)) #6 Thu Mar 15 05:46:09 PST 2007

[    0.000000] Xilinx ML403 Reference System (Virtex-4 FX)

[    0.000000] Zone PFN ranges:

[    0.000000]   DMA             0 ->    16384

[    0.000000]   Normal      16384 ->    16384

[    0.000000] early_node_map[1] active PFN ranges

[    0.000000]     0:        0 ->    16384

[    0.000000] Built 1 zonelists.  Total pages: 16256

[    0.000000] Kernel command line: console=ttyS0,115200

[    0.000000] Xilinx INTC #0 at 0xD1000FC0 mapped to 0xFDFFEFC0

[    0.000000] PID hash table entries: 256 (order: 8, 1024 bytes)

[    0.000188] Console: colour dummy device 80x25

[    0.000701] Dentry cache hash table entries: 8192 (order: 3, 32768
bytes)

[    0.001489] Inode-cache hash table entries: 4096 (order: 2, 16384
bytes)

[    0.015326] Memory: 63104k available (1324k kernel code, 436k data,
92k init, 0k highmem)

[    0.108476] Mount-cache hash table entries: 512

[    0.114051] NET: Registered protocol family 16

[    0.128395] NET: Registered protocol family 2

[    0.168472] IP route cache hash table entries: 512 (order: -1, 2048
bytes)

[    0.169340] TCP established hash table entries: 2048 (order: 1, 8192
bytes)

[    0.169539] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)

[    0.169648] TCP: Hash tables configured (established 2048 bind 1024)

[    0.169679] TCP reno registered

[    0.173555] io scheduler noop registered

[    0.173600] io scheduler anticipatory registered (default)

[    0.173630] io scheduler deadline registered

[    0.173756] io scheduler cfq registered

[    0.221629] Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ
sharing disabled

[    0.227023] serial8250.0: ttyS0 at MMIO 0xa0001003 (irq = 9) is a
16450

[    0.398738] RAMDISK driver initialized: 16 RAM disks of 65536K size
1024 blocksize

[    0.407941] tun: Universal TUN/TAP device driver, 1.6

[    0.412993] tun: (C) 1999-2004 Max Krasnyansky <maxk at qualcomm.com>

[    0.420583] mice: PS/2 mouse device common for all mice

[    0.426040] TCP cubic registered

[    0.429347] NET: Registered protocol family 1

[    0.433727] NET: Registered protocol family 17

[    0.439482] VFS: Cannot open root device "<NULL>" or
unknown-block(0,0)

[    0.446095] Please append a correct "root=" boot option

[    0.451282] Kernel panic - not syncing: VFS: Unable to mount root fs
on unknown-block(0,0)

[    0.459492]  <0>Rebooting in 180 seconds..

 

I don't care about kernel panic for now - it's to be expected since I
don't provide any filesystem. 

 

So, kernel itself is workable, it looks like uImage doesn't pick up
correct board info parameters from u-boot. Where u-boot write them and
where Linux looks for them? What is the simplest way to sync between
u-boot and kernel?

 

Thanks,

 

Leonid.

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.denx.de/pipermail/u-boot/attachments/20070315/3f1f3328/attachment.htm 


More information about the U-Boot mailing list