[okl4-developer] elfweaver with several IO regions per server

Lukas HANEL lukas.hanel at st.com
Mon Aug 4 18:28:11 EST 2008


Hi Oliver,

Thanks to your proposition I was giving the new system another try. 
Unfortunatly, I have to confirm my previous assumption: My 7 IO-Regions 
are in a random-order. (Note: with two regions you cannot really tell, 
whether it is random or not). However, I got it working. As I have an 
ARM platform, I could make use of the ARM Primecell registers, to tell 
the regions appart. For the one device, that occurs several times, I use 
one big region.

thanks,
Lukas Hänel

Oliver Mayer-Buschmann wrote:
> Hi Lukas,
> 
> I spent some time in debugging, using the kernel debugger, and I can
> tell, that everything did look like I've expected!
> (both memsections have been successfully created, no caching, correct
> size, etc.) My driver is working, too.
> One hint: the order of iguana_granted_physmem is visa versa to the
> machines.py declaration.
> 
> I'm still wondering about the exact reason for putting the following
> lines to a vserver main():
> 
>     vmtd_server_loop();
>     return 0;
> 
>     (void)iguana_granted_physmem;
>     (void)iguana_granted_interrupt;
>     (void)buffer;
>     (void)virtual_device_instance;
> 
> Is it for elfweaver to find and patch the iguana_granted_physmem?
> 
> Does anybody have a flexible implementation for the virtual devices?
> The fixed size of four clients is a quite poor solution.
> 
> Greetings,
> 
> Oliver
> 
> 
>> Date: Thu, 31 Jul 2008 16:32:49 +0200
>> From: Lukas HANEL <lukas.hanel at st.com>
>> Subject: Re: [okl4-developer] elfweaver with several IO regions per
>> 	server
>> To: Oliver Mayer-Buschmann <omb at opensynergy.com>
>> Cc: developer at okl4.org
>> Message-ID: <4891CD11.4050803 at st.com>
>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>>
>> Hi Oliver,
>>
>> As you saw, I had the same problem before. I was solving the problem 
>> using the old, deprecated scheme. So I requested the IORegions at 
>> runtime with hardware_back_memsection(Attributes=L4_IOMemory). With the 
>> arrival of the patch I tried to use the normal scheme. However, it did 
>> not work. I seemed to me, as if the order of the IORegions is not 
>> preserved through the elfweaving. So in my driver the mapping between 
>> name and address of the regions is not available. Hence the driver, 
>> through working with h_b_m, does not work.
>>
>> Can you tell me, wether in the end, not only elfweaving, but also your 
>> driver, works?
>>
>> thanks,
>> Lukas H?nel
>>
>> Oliver Mayer-Buschmann wrote:
>>> Hello Jonathan,
>>>
>>> thank you very much for the fast delivery of your patch.
>>> After modifying tools/pyelf/weaver/device.py,
>>> the elfweaver error has disappeared and all images have been created
>>> successfully!
>>>
>>> Best regards,
>>>
>>> Oliver
>>>
>>>> Date: Tue, 29 Jul 2008 16:44:39 +1000
>>>> From: Jonathan Sokolowski <jsok at ok-labs.com>
>>>> Subject: Re: [okl4-developer] elfweaver with several IO regions per
>>>> 	server
>>>> To: developer at okl4.org
>>>> Message-ID: <856AD81C-D934-4877-9009-3C229623F7F6 at ok-labs.com>
>>>> Content-Type: text/plain; charset="us-ascii"
>>>>
>>>> Hi Oliver,
>>>>
>>>> Please try the attached patch. It should allow you to specify multiple  
>>>> io regions per device.
>>>>
>>>> For example:
>>>>      memory_serial = [(0x40100000, 0x40101000), (0x40102000,  
>>>> 0x40105000)]
>>>>
>>>> What you do with that list is entirely up to the driver! To my  
>>>> knowledge none of our drivers use multiple io regions, but it  
>>>> shouldn't be too much of a stretch to get it working.
>>>>
>>>> Thanks,
>>>> Jonathan Sokolowski
>>>>
>>>> On 29/07/2008, at 1:50 AM, Oliver Mayer-Buschmann wrote:
>>>>
>>>>> Hi Geoffrey,
>>>>>
>>>>> what's the status of this issue?!!
>>>>>
>>>>> I've almost completed my migration of an Atmel NAND-FLASH driver to  
>>>>> OKL
>>>>> and now I'm getting this mysterious elfweaver "Object name "master"
>>>>> already in use" error, after defining the 2 needed memsections in
>>>>> machines.py. This can't be true!
>>>>>
>>>>> The OKL sample code implies, that the driver framework supports
>>>>> multiple memsections and this is definitely needed to access  
>>>>> hardware on
>>>>> ARM-platforms! And why is the minimum size 4k?
>>>>>
>>>>> Oliver
>>>>>
>>>>> _______________________________________________
>>>>> Developer mailing list
>>>>> Developer at okl4.org
>>>>> https://lists.okl4.org/mailman/listinfo/developer
>>>> -------------- next part --------------
>>>> A non-text attachment was scrubbed...
>>>> Name: regions.diff
>>>> Type: application/octet-stream
>>>> Size: 749 bytes
>>>> Desc: not available
>>>> Url : http://lists.okl4.org/pipermail/developer/attachments/20080729/10d33532/attachment-0001.obj 
>>>>
>>>> ------------------------------
>>>
>>> _______________________________________________
>>> Developer mailing list
>>> Developer at okl4.org
>>> https://lists.okl4.org/mailman/listinfo/developer
>>>
>>
>>
>>
>> ------------------------------
>>
>> _______________________________________________
>> Developer mailing list
>> Developer at okl4.org
>> https://lists.okl4.org/mailman/listinfo/developer
>>
>>
>> End of Developer Digest, Vol 17, Issue 1
>> ****************************************
> 
> _______________________________________________
> Developer mailing list
> Developer at okl4.org
> https://lists.okl4.org/mailman/listinfo/developer




More information about the Developer mailing list