[okl4-developer] the memory overlap between iguana/vtimer and oklinux

Guanghui, Cheng cheng.guanghui.ml at gmail.com
Sat Jan 17 19:57:48 EST 2009


Hello:
	I configure the 2 oklinux instance and iguana/vtimer in the OKL4 system but 
when i merge these files there is an memory overlap as following:

Error: Virtual Memory: Parts of "/oklinux0/rwx" (0x801b9000-0x80200fff, size 
0x48000) overlap with "/iguana_server/vtimer/rx" (0x80200000-0x80206fff, size 
0x7000).
Now printing a traceback.

Traceback (most recent call last):
  File "./tools/pyelf/elfweaver.py", line 79, in <module>
    main(sys.argv)
  File "/home/cheng/pistachio/OKL4/okl4_3.0/tools/pyelf/weaver/main.py", line 
108, in main
    __commands__[args[1]](args[2:])
  File "/home/cheng/pistachio/OKL4/okl4_3.0/tools/pyelf/weaver/merge.py", line 
270, in merge_cmd
    merge(spec_file, options)
  File "/home/cheng/pistachio/OKL4/okl4_3.0/tools/pyelf/weaver/merge.py", line 
166, in merge
    namespace, image)
  File "/home/cheng/pistachio/OKL4/okl4_3.0/tools/pyelf/weaver/merge.py", line 
129, in collect_image_objects
    kernel, image)
  
File "/home/cheng/pistachio/OKL4/okl4_3.0/tools/pyelf/weaver/cells/okl4_cell.py", 
line 279, in collect_xml
    machine, pools)
  
File "/home/cheng/pistachio/OKL4/okl4_3.0/tools/pyelf/weaver/segments_xml.py", 
line 289, in collect_elf_segments
    pools           = pools)
  File "/home/cheng/pistachio/OKL4/okl4_3.0/tools/pyelf/weaver/image.py", line 
1012, in add_segment
    attrs, pools)
  File "/home/cheng/pistachio/OKL4/okl4_3.0/tools/pyelf/weaver/image.py", line 
452, in __init__
    self.attrs.cache_policy)
  File "/home/cheng/pistachio/OKL4/okl4_3.0/tools/pyelf/weaver/pools.py", line 
435, in mark_virtual
    if alloc.mark(base, size, cache_policy):
  File "/home/cheng/pistachio/OKL4/okl4_3.0/tools/pyelf/weaver/allocator.py", 
line 420, in mark
    self.tracker.track_mark(base, end)
  File "/home/cheng/pistachio/OKL4/okl4_3.0/tools/pyelf/weaver/pools.py", line 
260, in track_mark
    self.__add(self.alloc_name, base, end, can_match_exact = True)
  File "/home/cheng/pistachio/OKL4/okl4_3.0/tools/pyelf/weaver/pools.py", line 
337, in __add
    self.__check(name, base, end, can_match_exact)
  File "/home/cheng/pistachio/OKL4/okl4_3.0/tools/pyelf/weaver/pools.py", line 
326, in __check
    alloc_end - alloc_base + 1)
MergeError: Virtual Memory: Parts of "/oklinux0/rwx" (0x801b9000-0x80200fff, 
size 0x48000) overlap with "/iguana_server/vtimer/rx" (0x80200000-0x80206fff, 
size 0x7000).

	In this system the memory calculation is like this:
name: virtual base=80000000 end=cfffffff
name: rom base=7900000 end=7ffffff
name: physical base=4100000 end=78fffff
name: /kernel/rwx base=f0000000 end=f00276cf
name: /kernel/rw base=f0028000 end=f002dfff
name: /iguana_server/rw base=80014000 end=80014fff
name: /iguana_server/event/rx base=80100000 end=80105fff
name: /iguana_server/event/rw base=8010d000 end=8010dfff
name: /iguana_server/vtimer/rx base=80200000 end=80206fff
name: /iguana_server/vtimer/rw base=8020f000 end=8020ffff
name: /iguana_server/vserial/rx base=80300000 end=80306fff
name: /iguana_server/vserial/rw base=8030f000 end=8030ffff
name: /oklinux0/rx base=80000000 end=801b8fff
name: unknown base=80000000 end=801b8fff
name: unknown base=80000000 end=801b8fff
name: unknown base=80000000 end=801b8fff
name: /oklinux0/rwx base=801b9000 end=80200fff

	In the attachment there is my weaver.xml file. I think it could be fixed by 
increasing the linkaddress of oklinux. But it seems that i can't modify 
linkaddress of vmlinux from default 0x80200000. The vtimer link addrerss is 
0x80200000
	Thanks a lot.
													Cheng Guanghui
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2linux-weaver.xml
Type: text/xml
Size: 5760 bytes
Desc: not available
Url : http://lists.okl4.org/pipermail/developer/attachments/20090117/aabb1de0/attachment.bin 


More information about the Developer mailing list