No subject
Mon Apr 14 11:21:15 EST 2008
<physical_memory name= ....
....
</physical_memory>
and
<physical_pool name= ....
....
</physical_pool>
and not for the memsection entries for my user program
<memsection name = ....>
Thank you,
Gabi Voiculescu
--------------------------------------------------------------------------------------------------------------
weaver.xml file:
<?xml version="1.0"?>
<!DOCTYPE image SYSTEM "weaver-1.1.dtd">
<image>
<machine>
<word_size size="0x20" />
<virtual_memory name="virtual">
<region base="0x1000" size="0xdffff000" />
</virtual_memory>
<physical_memory name="physical">
<region base="0x100000" size="0x7eff000" type="conventional" />
</physical_memory>
<physical_memory name="etm_mem">
<region base="0x10132000" size="0x1000" />
</physical_memory>
<physical_memory name="meter_mem">
<region base="0xc0000000" size="0x1000" />
</physical_memory>
<physical_memory name="meter_ram_mem">
<region base="0xe0000000" size="0x1000" />
</physical_memory>
<physical_memory name="tpiu_mem">
<region base="0x10135000" size="0x1000" />
</physical_memory>
<page_size size="0x1000" />
<page_size size="0x10000" />
<page_size size="0x100000" />
</machine>
<virtual_pool name="virtual">
<memory src="virtual" />
</virtual_pool>
<physical_pool name="physical" direct="true">
<memory src="physical" />
</physical_pool>
<physical_pool name="etm_pool" direct="true">
<memory src="etm_mem" />
</physical_pool>
<physical_pool name="meter_pool" direct="true">
<memory src="meter_mem" />
</physical_pool>
<physical_pool name="meter_ram_pool" direct="true">
<memory src="meter_ram_mem" />
</physical_pool>
<physical_pool name="tpiu_pool" direct="true">
<memory src="tpiu_mem" />
</physical_pool>
<kernel file="/tst/port_2.1/build/pistachio/bin/kernel" xip="false" >
<dynamic max_threads="0x400" />
<config>
<option key="root_caps" value="1024"/>
</config>
</kernel>
<rootprogram file="/tst/port_2.1/build/iguana_server/bin/ig_server" virtpool="virtual" physpool="physical" >
</rootprogram>
<program name="empty_example" file="/tst/port_2.1/build/iguana/bin/empty_example" >
<memsection name="etm_memsect" size="0x1000" physpool="etm_pool" />
<memsection name="tpiu_memsect" size="0x1000" physpool="tpiu_pool" />
<memsection name="meter_memsect" size="0x1000" physpool="meter_pool" />
<memsection name="meter_ram_memsect" size="0x1000" physpool="meter_ram_pool" />
</program>
</image>
--0-628959004-1211671640=:12076
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Hello<br><br>I am trying to access a few register sets directly from an iguana example build on top of the OKL4 2.1 'empty' example.<br><br><span style="font-weight: bold;" class="a">I have tried using hardware_back_memsection without success. </span><span style="font-weight: bold;">I have also seen a previous post on this matter:</span><br style="font-weight: bold;"><span class="a"><a style="font-weight: bold;" href="http://lists.okl4.org/pipermail/developer/2008-February/000607.html">http://lists.okl4.org/pipermail/developer/2008-February/000607.html</a><span style="font-weight: bold;"> </span><br style="font-weight: bold;"><span style="font-weight: bold;">and tried to apply the same rules to my weaver.xml. Obtained the file below. That does not map the physical page(s) either.</span><br><br><span style="font-weight: bold;">My problem is that I don't see the sections added in the page table, and the mapping_test function does not work.<br><br>On top of that, whenever I
change something in the code machines.py gets overwritten with a file that has nothing defined in the <program_name section of the weaver file. I have to execute my build script twice, copying the weaver.xml back into build/images/ the second time to have the images build correctly.<br><br></span>q0: Is hardware_back_memsection usefull in the OKL4 2.1? It always returns an error -1 when I try to use it in my example user application. I have tried the following code, not having the physical memory region premapped in the kernel (plat.cc) or in machies.py.<span style="font-weight: bold;"><br><br></span>struct etm_struct<br>{<br> memsection_ref_t ms;<br> uintptr_t ms_base;<br>};<br>....<br> struct etm_struct etm;<br> int res;<br> res = hardware_back_memsection(etm.ms, 0x10132000, L4_IOMemory);<span style="font-weight: bold;"><br><br><br></span>q1: Is the above mentioned email
procedure still valid in OKL4 2.1?<br><br>q2: what am I doing wrong in weaver.xml?<br><br>q3: Do I need to modify machines.py or the SConstruct file from iguana/examples/empty folder to keep weaver.xml unchanged when I change my code?<br><br>q4: Where do I need to modify so that the <br><memsection name= ..../><br>lines don't disappear each time I change a file. <br><br>From what I can see adding more memory['xxx'] = [Region(....)] in machines.py only creates entries for <br><br></span><span class="a"><physical_memory name= ....<br> ....<br> </physical_memory><br><br>and <br></span><span class="a"><br></span><span class="a"> <physical_pool name= ....<br> ....<br> </physical_pool><br><br>and not for the memsection entries for my user program<br><br><memsection name = ....><br><br><br>Thank you,<br>Gabi Voiculescu<br><br><br></span><span
class="a">--------------------------------------------------------------------------------------------------------------<br>weaver.xml file:<br><?xml version="1.0"?><br><!DOCTYPE image SYSTEM "weaver-1.1.dtd"><br><image><br> <machine><br> <word_size size="0x20" /><br> <virtual_memory name="virtual"><br> <region base="0x1000" size="0xdffff000" /><br> </virtual_memory><br> <physical_memory name="physical"><br> <region base="0x100000" size="0x7eff000" type="conventional" /><br> </physical_memory><br> <physical_memory name="etm_mem"><br> <region base="0x10132000" size="0x1000" /><br> </physical_memory><br> <physical_memory
name="meter_mem"><br> <region base="0xc0000000" size="0x1000" /><br> </physical_memory><br> <physical_memory name="meter_ram_mem"><br> <region base="0xe0000000" size="0x1000" /><br> </physical_memory><br> <physical_memory name="tpiu_mem"><br> <region base="0x10135000" size="0x1000" /><br> </physical_memory> <br> <page_size size="0x1000" /><br> <page_size size="0x10000" /><br> <page_size size="0x100000" /><br> </machine><br><br> <virtual_pool name="virtual"><br> <memory src="virtual" /><br> </virtual_pool><br> <br> <physical_pool name="physical" direct="true"><br>
<memory src="physical" /><br> </physical_pool><br><br> <physical_pool name="etm_pool" direct="true"><br> <memory src="etm_mem" /><br> </physical_pool> <br> <physical_pool name="meter_pool" direct="true"><br> <memory src="meter_mem" /><br> </physical_pool><br> <physical_pool name="meter_ram_pool" direct="true"><br> <memory src="meter_ram_mem" /><br> </physical_pool><br> <physical_pool name="tpiu_pool" direct="true"><br> <memory src="tpiu_mem" /><br> </physical_pool><br> <br> <kernel file="/tst/port_2.1/build/pistachio/bin/kernel" xip="false" ><br> <dynamic max_threads="0x400" /><br> <config><br> <option key="root_caps" value="1024"/><br>
</config><br> </kernel><br><br> <rootprogram file="/tst/port_2.1/build/iguana_server/bin/ig_server" virtpool="virtual" physpool="physical" ><br> </rootprogram><br><br> <program name="empty_example" file="/tst/port_2.1/build/iguana/bin/empty_example" ><br> <memsection name="etm_memsect" size="0x1000" physpool="etm_pool" /><br> <memsection name="tpiu_memsect" size="0x1000" physpool="tpiu_pool" /><br> <memsection name="meter_memsect" size="0x1000" physpool="meter_pool" /><br> <memsection name="meter_ram_memsect" size="0x1000" physpool="meter_ram_pool" /><br> </program><br><br></image><br><br></span><p> 
--0-628959004-1211671640=:12076--
More information about the Developer
mailing list