Hi Beniamino,

(Cc: to the mailing list as it may be of interest to others)

thanks for the patch, I will definitely give it a try during my next
gta02 session.

Today, I verified that the latest mainline kind of still boots on gta02,
at least to the point when the frame buffer is initialized and a couple
of init tasks are running. Then the fat task crashes in futex_up(). This
appears to be related to the problem you are experiencing, because your
vfs crash seems to happen in futex_down().

I suspect that something non entirely armv4 managed to sneak into the
code used by futex_down/up().

Cheers,
Jakub

On 12/28/2012 08:17 PM, Beniamino Galvani wrote:
> the attached patch enables ARM caches in the boot stage of HelenOS
> to speed up the decompression. It's quite dirty, but with it I get a
> decompression time of 8 seconds on a mini2440 board; let me know if
> it works also on GTA02.
> 
> I have pasted a log of the boot which shows the problem I'm having on
> my board. Do you have any clue about it?
> If I manage to solve this problem, I would like to start adding support
> for devices on the mini2440 (for example, the Davicom dm9000 network card).
> 
> Beniamino
> 
> --
> U-Boot 1.3.2-mini2440 (Apr 16 2011 - 10:03:07)
> 
> I2C:   ready
> DRAM:  64 MB
> NOR Flash not found. Use hardware switch and 'flinit'
> Flash:  0 kB
> NAND:  Bad block table not found for chip 0
> Bad block table not found for chip 0
> 256 MiB
> Found Environment offset in OOB..
> USB:   S3C2410 USB Deviced
> In:    serial
> Out:   serial
> Err:   serial
> MAC: 08:08:11:18:12:27
> Hit any key to stop autoboot:  0 
> dm9000 i/o: 0x20000300, id: 0x90000a46 
> DM9000: running in 16 bit mode
> MAC: 08:08:11:18:12:27
> TFTP from server 10.0.0.1; our IP address is 10.0.0.20
> Filename 'helenos.bin'.
> Load address: 0x32000000
> Loading: checksum bad
> T #################################################################
>          #################################################################
>          #################################################################
>          ######################checksum bad
> ###########################################
>          #################################################################
>          #################################################################
>          #################################################################
>          #################################################################
>          #################################################################
>          #################################################################
>          ###############################
> done
> Bytes transferred = 9989312 (986cc0 hex)
> ## Booting kernel from Legacy Image at 32000000 ...
>    Image Name:   HelenOS-0.5.0
>    Created:      2012-12-28  18:09:05 UTC
>    Image Type:   ARM Linux Kernel Image (uncompressed)
>    Data Size:    9989248 Bytes =  9.5 MB
>    Load Address: 30008000
>    Entry Point:  30008000
>    Verifying Checksum ... OK
>    Loading Kernel Image ... OK
> OK
> 
> Starting kernel ...
> 
> HelenOS bootloader, release 0.5.0 (Fajtl), revision 1737M 
> ([email protected])
> Built on 2012-12-28 19:07:44 for arm32
> Copyright (c) 2001-2012 HelenOS project
> 
> Memory statistics
>  0x30015000|0x30015000: bootstrap stack
>  0x30010000|0x30010000: bootstrap page table
>  0x30015700|0x30015700: boot info structure
>  0xb0a08000|0x30a08000: kernel entry point
>  0x30015c04|0x30015c04: kernel image (421856/124257 bytes)
>  0x30034165|0x30034165: ns image (210074/89621 bytes)
>  0x30049f7a|0x30049f7a: loader image (208344/89372 bytes)
>  0x3005fc96|0x3005fc96: init image (209995/89924 bytes)
>  0x30075bda|0x30075bda: locsrv image (216763/93462 bytes)
>  0x3008c8f0|0x3008c8f0: rd image (207741/88914 bytes)
>  0x300a2442|0x300a2442: vfs image (224096/97120 bytes)
>  0x300b9fa2|0x300b9fa2: logger image (213002/91109 bytes)
>  0x300d0387|0x300d0387: fat image (268181/117457 bytes)
>  0x300ece58|0x300ece58: initrd image (23066624/9051688 bytes)
> 
> Inflating components ... initrd fat logger vfs rd locsrv init loader ns 
> kernel .
> Booting the kernel... 
> SPARTAN kernel, release 0.5.0 (Fajtl), revision 1737M 
> ([email protected])
> Built on 2012-12-28 19:07:44 for arm32
> Copyright (c) 2001-2012 HelenOS project
> Detected 1 CPU(s), 131040 KiB free memory
> cpu0: spurious interrupt (inum=25)
> Kernel console ready (press any key to activate)
> Program loader at 0xf0080000
> RAM disk at 0x30c20000 (size 23066624 bytes)
> init: HelenOS init
> ns: HelenOS IPC Naming Service
> ns: Accepting connections
> loc: HelenOS Location Service
> loc: Accepting connections
> rd: HelenOS RAM disk server
> rd: Found RAM disk at 0x30c20000, 23066624 bytes
> rd: Accepting connections
> vfs: HelenOS VFS server
> logger: HelenOS Logging Service
> logger: Accepting connections
> fat: HelenOS FAT file system server
> vfs: Accepting connections
> fat: Accepting connections
> init: Root filesystem mounted on / (fat at bd/initrd)
> init: Starting /srv/tmpfs
> Task init:vfs (6) killed due to an exception at program counter 0x00000000.
> r0 =0x0002eb9c  r1 =0xf0002000  r2 =0xffffffff  r3 =0x00000001
> r4 =0x00000000  r5 =0x0002eb0c  r6 =0x00000001  r7 =0x00031240
> r8 =0x00031660  r9 =0x00030b3c  r10=0x00152fa0  fp =0x00152f4c
> r12=0x00152f50  sp =0x00152f28  lr =0x000089ac  spsr=0x20000050
> 0x00152f4c: 0x00000000()
> 0x00152f7c: 0x000089ac()
> 0x00152fdc: 0x000143e4()
> 0x00152ff4: 0x00008984()
> Kill message: Page fault: 0x00000000.
> init: Error spawning /srv/tmpfs (Invalid value)
> init: Unable to stat /srv/locfs
> init: Unable to stat /srv/taskmon
> init: Location service filesystem unknown type (locfs)
> init: Exiting
> kconsole> 
> 


_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/cgi-bin/listinfo/helenos-devel

Reply via email to