[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