Subject: Re: Linux 2.6.11.5 on R3912 problems

From: Mark Underwood <[email-masked]>
Date: Mon, 8 Aug 2005 23:47:19 +0100 (BST)

OK. Fixed this one myself :-), I had misunderstood the
MIPS timer stuff and thus the kernel wasn't
scheduling.

Mark

--- Mark Underwood <[email-masked]> wrote:

> Hi,
> 
> I have now been trying to get Linux 2.6.11.5 (built
> with gcc 3.3.3 and binutils 2.15.91.0.2) up and
> running on my Helio PDA, a MIPS R3912 based ASSP
> (the
> emulator to be exact) and have been stuck at the
> last
> step for a while now :-(. 
> 
> The kernel runs up fine, the problem starts when
> init
> is started. Bellow is my kernel log up to freeing
> init.
> 
> Uncompressing
> Linux............................................
> done, booting the kernel.
> done decompressing kernel.
> e_entry: 8016b000, e_ehsize: 52, e_phentsize 32,
> e_phnum 2,
> e_shentsize 40, e_shnum 25
> copying 0x10c320 bytes from file offset 0x80 to
> address 0x80040000
> zeroing from 8014c320 to to 8014c320, 0x0 bytes
> copying 0x36084 bytes from file offset 0x10e000 to
> address 0x8014e000
> zeroing from 80184084 to to 80198b58, 0x14ad4 bytes
> done loading kernel, about to jump in!
> mips_machgroup 0x00000017, mips_machtype 0x00000000
> arcs_cmdline: root=1f01 console=ttyS0,115200n8
> Linux version 2.6.11.5 (mark@stargate) (gcc version
> 3.3.3) #297 Mon Jul 18 20:19
> :39 UTC 2005
> V nasty hack. The Emulator doesn't report which
> subset
> of the TX39 family it bel
> ongs to :,-(. I hope the hardware does!
> Forcing cpu type to CPU_TX3912
> CPU revision is: 00002200
> Determined physical RAM map:
>  memory: 00267000 @ 00199000 (usable)
>  memory: 00400000 @ 02000000 (usable)
>  memory: 00200000 @ 9fc00000 (ROM data)
> Built 1 zonelists
> Kernel command line: root=1f01
> console=ttyS0,115200n8
> Primary instruction cache 1kB, linesize 16 bytes
> Primary data cache 1kB, linesize 4 bytes
> Synthesized TLB handler (17 instructions).
> Synthesized TLB load handler fastpath (37
> instructions).
> Synthesized TLB store handler fastpath (37
> instructions).
> Synthesized TLB modify handler fastpath (29
> instructions).
> PID hash table entries: 256 (order: 8, 4096 bytes)
> r39xx_set_termios
> Dentry cache hash table entries: 8192 (order: 3,
> 32768
> bytes)
> Inode-cache hash table entries: 4096 (order: 2,
> 16384
> bytes)
> Memory: 6168k/6556k available (981k kernel code,
> 348k
> reserved, 212k data, 104k
> init, 0k highmem)
> Mount-cache hash table entries: 512 (order: 0, 4096
> bytes)
> Checking for 'wait' instruction...  unavailable.
> cpu_wait = 0x0
> Linux NoNET1.0 for Linux 2.6
> schedule = 0x801327f8. ret = 0
> Can't analyze prologue code at 80133ea0
> schedule_timeout = 0x80133ea0. ret = -1
> sleep_on = 0x8013395c. ret = 0
> sleep_on_timeout = 0x80133a54. ret = 0
> wait_for_completion = 0x80133148. ret = 0
> Serial: r39xx internal UART driver $
> r39xx_config_port
> r39xx_request_port
> ttyS0 at MMIO 0x0r39xx_type
>  (irq = 74) is a R39XX
> io scheduler noop registered
> io scheduler anticipatory registered
> io scheduler deadline registered
> io scheduler cfq registered
> RAMDISK driver initialized: 16 RAM disks of 4096K
> size
> 1024 blocksize
> loop: loaded (max 8 devices)
> Helio Boot ROM: 0x00200000 at 0x9fc00000
> helio_mtd_map.virt 0x9fc00000
> Helio Boot ROM: probing for ROM
> Creating 2 MTD partitions on "Helio Boot ROM":
> 0x00000000-0x00097eec : "Bootloader + Kernel"
> mtd: Giving out device 0 to Bootloader + Kernel
> 0x00097eec-0x0013deec : "cramfs Filesystem"
> mtd: Giving out device 1 to cramfs Filesystem
> block2mtd: version $Revision: 1.23 $
> VFS: Mounted root (cramfs filesystem) readonly.
> Freeing unused kernel memory: 104k freed
> 
> I have had to write a UART driver so I thought the
> problem might be with that so I put lots of debug in
> tty layer, serial_core and my driver to see what was
> going on. After doing this and changing the
> interrupt
> handler (int-handler.S) I saw the echo that I had
> put
> in my inittab.
> So I started to remove debug and found it stopped
> working. The strange thing is that it stops before
> it
> gets as far as sending the echo from inittab.
> If I don’t have enough debug the kernel stops just
> before printing out:
> 
> Algorithmics/MIPS FPU Emulator v1.5
> 
> When I connect to the emulator with GDB and look at
> the registers I find the CPU is still running and is
> in cpu_idle.
> I wondered if it might be a timer/task scheduler
> related problem but as it gets passed the bogomips
> calculation the timer must be working.
> 
> Any help would be great as I have been stuck here
> for
> a while.
> 
> Many Thanks,
> 
> Mark
> 
> 
> 
> 		
>
___________________________________________________________
> 
> How much free photo storage do you get? Store your
> holiday 
> snaps for FREE with Yahoo! Photos
> http://uk.photos.yahoo.com
> 
> 

___________________________________________________________ 
How much free photo storage do you get? Store your holiday 
snaps for FREE with Yahoo! Photos http://uk.photos.yahoo.com