[okl4-developer] About Iguana_ex_pagefault.
유호철
hcyoo at cuwave.co.kr
Wed Jul 9 04:31:13 EST 2008
Dear all,
Hi.
My L4 version ---> okl4 1.4.1.1
I make 'dynamic server loader'.
This 'dynamic server loader' is able to load server during system
opearating.
But, Loaded server by this loader meet a problem.
###### Dynamic Server loader Sequence layout
Let's assume new server name is TCS.
[1] Build system make TCS elf file at 'build/iguana/bin'.
But kernel image(zImage.bin) do not include TCS Server.
kernel image download and system boot....
[2] I give order that TCS server load.
'dynamic server loader' make boot record.(bootinfo same format)
[3] 'Dynamic server loader' call bi_execute() with boot record.
And TCS server loaded successfully.
In this case, we must verify TCS server`s operating.
So, I add printf() in TCS server`s main function,. follow as...
-------------------------------------------------------------------
int main(int argc, char **argv)
{
iguana_cb_handle = cb_attach(__callback_buffer);
printf("Server load success.\n");
server_loop();
assert(!"Should reach here\n");
return 0;
}
-------------------------------------------------------------------
But, occur error in printf(). error message follow....
--------------------------------------------------------------------
<iguana_server> No memory section
Invalid read fault (4): 0x00000024 Thread: 26c001 Module: (unknown module)
IP: 0x00d01b08 SP: 0x00510ee0
Stack trace back:
<0x00510ee0> : 0x00000024
<0x00510ee4> : (nil)
<0x00510ee8> : 0x00d01aa4
<0x00510eec> : 0x00510ef7
<0x00510ef0> : 0x00d015f8
<0x00510ef4> : 0x4950b000
<0x00510ef8> : 0x00d06648
<0x00510efc> : 0x00d0f004
<0x00510f00> : (nil)
<0x00510f04> : (nil)
Objtable:
B-tree 0x00119068
Page address[0x001137fc]
0x001110e0 12b000 0x001113b0 12c000 0x00111320 130000 0x00111170 140000
0x00111368 150000 0x00111560 160000 0x00111758 170000 <00116000:00116fff>
0x001110e0
<0012b000:0012bfff> 0x001113b0
<0012c000:0012ffff> 0x00111320
<00130000:0013ffff> 0x00111170
<00140000:0014ffff> 0x00111368
<00150000:0015ffff> 0x00111560
<00160000:0016ffff> 0x00111758
<00170000:0017ffff> 0x00111998
<00180000:0018ffff> 0x00111ab8
<00200000:00208fff> 0x00111200
<0020a000:0020afff> 0x001111b8
<0020b000:0020bfff> 0x001112d8
<0020c000:0020ffff> 0x00111128
<00210000:00210fff> 0x00111248
<00300000:00308fff> 0x001113f8
<00309000:00309fff> 0x001114d0
<0030a000:0030afff> 0x001115a8
<0030b000:0030bfff> 0x001116c8
<0030c000:0030ffff> 0x00111518
<00310000:00310fff> 0x00111440
<00400000:00408fff> 0x001115f0
<00409000:00409fff> 0x001117a0
<0040a000:0040afff> 0x00111878
<0040b000:0040bfff> 0x001118c0
<0040c000:0040ffff> 0x00111710
<00410000:00410fff> 0x00111638
<00500000:00509fff> 0x001117e8
<0050a000:0050afff> 0x00111908
<0050b000:0050bfff> 0x00111a28
<0050c000:0050ffff> 0x00111a70
<00510000:00510fff> 0x00111b00
<00511000:00511fff> 0x00111830
<00600000:00601fff> 0x00111050
<00700000:007fffff> 0x00111098
<00800000:008fffff> 0x00111290
<00900000:009fffff> 0x00111488
<00a00000:00afffff> 0x00111680
<00b00000:00bfffff> 0x00111950
<00c00000:00cfffff> 0x001119e0
<00d00000:00d06fff> 0x00111b48
<00d0f000:00d0ffff> 0x00111b90
------------------------------------------------------------------------
if delete printf(), not occur anything error.
Above error occur iguana_ex_pagefault_impl() function.
well then, Why call "iguana_ex_pagefault_impl" fundtion in printf().
I do not find where call iguana_ex_pagefault_impl().
I think that unterstanding is difficult.
At result, most important question is follow.
[1] Why call "iguana_ex_pagefault_impl" fundtion in printf().
[2] In this case, between [My TCS server] and [Serial server] use IPC ?
Thank in advance.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.okl4.org/pipermail/developer/attachments/20080709/478298cf/attachment.htm
More information about the Developer
mailing list