[okl4-developer] Problem with running 'l4test'

Yook shakin at paran.com
Fri Dec 5 04:22:45 EST 2008


Hi, all.

I seem to be experiencing problems same as Yeonju.

My test environments are below :
 - Board : based on s3c2440a(arm920t)
 - L4 ver. : OKL4 2.1
 - Paravirtualized Linux ver. : OK Linux 2.6.23.21 
 - Toolchain :
arm-linux-3.4.4(http://www.ertos.nicta.com.au/downloads/tools/arm-linux-3.4.4.tar.gz)

I had several problem during porting and Rémy Gottschalk's post was a lot of
help.
(http://wiki.ok-labs.com/forum#nabble-td730527%7Ca730527)

However, I fixed CLZ(Count Leading Zero) replacement instruction different
with him because I think the macro revealed on linux that he suggested has
some fault.

In the result, I was able to port OK Linux on my board with the helpful
post.
(I appreciate Rémy and Geoffrey.)

And then now, I'm trying to load l4test image.

My build command line is,
>./tools/build.py machine=gta01 project=l4test mutex_type=user
enable_fastpaths=false

In fact, I used possible options that I know.
>./tools/build.py machine=gta01 project=l4test
>./tools/build.py machine=gta01 project=l4test mutex_type=user
>./tools/build.py machine=gta01 project=l4test mutex_type=user
enable_fastpaths=false

But....
printed messages was same all the time.
http://n2.nabble.com/file/n1614449/scrshot.jpg 
http://n2.nabble.com/file/n1614449/scrshot.jpg scrshot.jpg 

So, I dumped l4test file and a part of the contents are as follows.

0012a278 <malloc>:
{
    Header *p, *prevp;
    unsigned nunits;

    if (nbytes == 0) {
  12a278:	e3500000 	cmp	r0, #0	; 0x0
  12a27c:	e92d4070 	stmdb	sp!, {r4, r5, r6, lr}
        return NULL;
  12a280:	01a02000 	moveq	r2, r0
  12a284:	0a000020 	beq	12a30c <malloc+0x94>
    }

    nunits = ((nbytes + sizeof(Header) - 1) / sizeof(Header)) + 1;
  12a288:	e2803007 	add	r3, r0, #7	; 0x7
  12a28c:	e1a031a3 	mov	r3, r3, lsr #3

    MALLOC_LOCK;
  12a290:	e59f00ac 	ldr	r0, [pc, #172]	; 12a344 <.text+0x2a344>
  12a294:	e2835001 	add	r5, r3, #1	; 0x1
  12a298:	eb000828 	bl	12c340 <okl4_mutex_count_lock>
    if ((prevp = freep) == NULL) {      /* no free list yet */
  12a29c:	e59f60a4 	ldr	r6, [pc, #164]	; 12a348 <.text+0x2a348>
  12a2a0:	e5962000 	ldr	r2, [r6]
  12a2a4:	e3520000 	cmp	r2, #0	; 0x0
  12a2a8:	e1a03002 	mov	r3, r2
        base.s.ptr = freep = prevp = &base;
  12a2ac:	059f2098 	ldreq	r2, [pc, #152]	; 12a34c <.text+0x2a34c>
  12a2b0:	05862000 	streq	r2, [r6]
  12a2b4:	05822000 	streq	r2, [r2]
        base.s.size = 0;
    }
    for (p = prevp->s.ptr;; prevp = p, p = p->s.ptr) {
  12a2b8:	e5924000 	ldr	r4, [r2]    <-- here
  12a2bc:	05823004 	streq	r3, [r2, #4]
  12a2c0:	ea000001 	b	12a2cc <malloc+0x54>
  12a2c4:	e1a02004 	mov	r2, r4
  12a2c8:	e5944000 	ldr	r4, [r4]

I don't guess why that point generate page fault always.(especially only in
l4test case) 

And, I have a plan that development environments migrate to Windows using
ADS(ARM Development Suite), not Linux because I'm not good at debugging on
Linux.

Would you please advise for this?

Regards,
-- 
View this message in context: http://n2.nabble.com/Problem-with-running-%27l4test%27-tp1607028p1614449.html
Sent from the OKL4 Community Forum mailing list archive at Nabble.com.




More information about the Developer mailing list