Linux on custom Xilinx board with PPC405 hangs on boot

Liu Dave-r63238 DaveLiu at freescale.com
Thu Sep 21 13:42:00 EST 2006


 

	I have a custom Xilinx FPGA board which is similar to ML300 but
uses Uartllite and does not have disk or display.
	When I start the Linux kernel I end up with an exception during
the probe for Flash - I think. 
	I have added a bunch of printk lines in order to see what is
happening but I am a little stuck at the moment. 
	The Flash chip is an AM29LV320D 4Mbyte in 16-bit access mode,
and it sits on address 0xFF80'0000
	This is what I get on my terminal. I would be happy to hear your
advice.
	Peter
	
	
	
	loaded at:     00400000 004CF1E0 
	board data at: 004CC138 004CC150
	relocated to:  004052F4 0040530C
	zimage at:     00405801 00472CFB
	initrd at:     00473000 004CB2FF
	avail ram:     004D0000 02000000
	
	Linux/PPC load: root=/dev/ram rw console=ttl0 
	Uncompressing Linux...done.
	Now booting the kernel
	
	id mach(): done
	MMU:enter
	MMU:hw init
	MMU:mapin
	MMU:mapin_ram done
	MMU:setio
	MMU:exit
	
	Linux version 2.4.26 (pna at glazedevel) (gcc version 3.4.1) #50
Wed Sep 20 11:06:12 CEST 2006
	setup_arch: enter
	setup_arch: bootmem
	Xilinx Virtex-II Pro port (C) 2002 MontaVista Software, Inc.
(source at mvista.com)
	arch: exit 
	On node 0 totalpages: 8192
	zone(0): 8192 pages.
	zone(1): 0 pages.
	zone(2): 0 pages.
	Kernel command line: root=/dev/ram rw console=ttl0
	(start) init/main.c: parse_options
	(end) parse_options
	(start) arch/ppc/mm/pgtable.c: __ioremap 
	(end) arch/ppc/mm/pgtable.c: __ioremap
	Xilinx INTC #0 at 0x81200000 mapped to 0xFDFFF000
	(start) arch/ppc/mm/pgtable.c: __ioremap
	(end) arch/ppc/mm/pgtable.c: __ioremap
	Calibrating delay loop... 287.53 BogoMIPS 
	Memory: 30924k available (776k kernel code, 276k data, 44k init,
0k highmem)
	Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
	Inode cache hash table entries: 2048 (order: 2, 16384 bytes)
	Mount cache hash table entries: 512 (order: 0, 4096 bytes) 
	Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)
	Page-cache hash table entries: 8192 (order: 3, 32768 bytes)
	POSIX conformance testing by UNIFIX
	(start) init/main.c: init
	(start) init/main.c: do_basic_setup 
	             
	Linux NET4.0 for Linux 2.4
	Based upon Swansea University Computer Society NET3.039
	Initializing RT netlink socket
	(start) init/main.c: do_initcalls
	Starting kswapd
	devfs: v1.12c (20020818) Richard Gooch ( rgooch at atnf.csiro.au)
	devfs: boot_options: 0x1
	JFFS version 1.0, (C) 1999, 2000  Axis Communications AB
	JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis
Communications AB. 
	Generic RTC Driver v1.07
	RAMDISK driver initialized: 16 RAM disks of 4096K size 1024
blocksize
	loop: loaded (max 8 devices)
	(start) drivers/mtd/maps/physmap.c: init_physmap
	physmap flash device: 4000000 at ff800000 
	(start) arch/ppc/mm/pgtable.c: __ioremap
	(end) arch/ppc/mm/pgtable.c: __ioremap
	(start) drivers/mtd/chips/chipreg.c: do_map_probe
	(start) drivers/mtd/chips/chipreg.c: get_mtd_chip_driver
	(end) drivers/mtd/chips/chipreg.c: get_mtd_chip_driver 
	(after get_mtd_chip_driver) drivers/mtd/chips/chipreg.c:
do_map_probe
	(start) drivers/mtd/chips/gen_probe.c: mtd_do_chip_probe
	(start) drivers/mtd/chips/gen_probe.c: genprobe_ident_chips
	Instruction machine check in kernel mode.  
	^^^^^^^^^
	You should make sure if it is instruction or data machinecheck.
	The kernel you using is very old.
	 
	Oops: machine check, sig: 7
	NIP: C00A2960 XER: 40000000 LR: C009CBD8 SP: C04D9D90 REGS:
c04d9ce0 TRAP: 0200    Not tainted 
	
^^^^^^^^^^^
	It has really machinecheck.
	 
	MSR: 00009030 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11
	TASK = c04d8000[1] 'swapper' Last syscall: 120 
	last math 00000000 last altivec 00000000
	GPR00: C00A2958 C04D9D90 C04D8000 C00DC1C8 000000F0 00400000
C04D9DD0 C00DB387 
	GPR08: 00000002 C307D000 C0176360 00000001 C00F0000 000057E0
80001040 80000820 
	GPR16: 00001020 00000840 10021000 08040800 C00D0000 C00EAC18
C00D0000 00000000 
	GPR24: C00C0000 00000001 C04D9DD0 C04D9E10 C04D9E10 00400000
C04D9DD0 C00DC1C8 
	Call backtrace: 
	C009CE80 C00A26D0 C009D3A0 C009C750 C00E9BB0 C00024F4 C0005ED4  
	 
	You need dump more register to find the cause. eg. ESR. MCSR...
	 
	Kernel panic: Attempted to kill init!
	 <0>Rebooting in 180 seconds.. 
	
	

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20060921/b61c0ac2/attachment.htm>


More information about the Linuxppc-dev mailing list