AW: AW: [PATCH 1/3] Remove duplicate GRETH driver

Jiri Gaisler jiri at gaisler.se
Wed Oct 28 14:34:24 UTC 2020


On 10/28/20 8:57 AM, Gabriel.Moyano at dlr.de wrote:
>>>>>> Hi Jiri,
>>>>>>
>>>>>> My understanding was that one driver version was meant to be used 
>>>>>> with
>>>> drvmgr (greth.c) and the other without it (greth2.c). May I ask why 
>>>> do you've chosen to remove greth.c and not greth2.c?
>>>>
>>>> I have fixed-up the greth.c file to avoid inline SPARC assembly code, 
>>>> but the file is not used even when RTEMS is compiled with 
>>>> --enable-drvmgr. The problem is that both greth2.c and greth.c are 
>>>> compiled, and as they define the same symbols, greth2.c is pulled in 
>>>> first by chance.
>  
> I think the symbols of greth.c are linked into the final binary when CONFIGURE_DRIVER_AMBAPP_GAISLER_GRETH is defined (drvmgr_confdefs.h).
> I hope this helps
Thanks, this helped a lot. But I still think that compilation of greth.c
and greth2.c must be mutually exclusive since they define the same
symbols. I will follow Sebastian's advise and use the new waf system
(once I have figured it out ...).
>
>>>> I need to disable the building of the network files 
>>>> in bsps/shared/shared-sources.am when -- enable-drvmgr is defined. 
>>>> Does anyone know how to do this? My skills in m4 etc. are limited ... 
>>>> :-(
>>>>
>>> If 99% of the code are the same, would it be an option to have just one driver implementation and in the drvmgr just use a wrapper for the driver?
>> This is my idea to, but the driver manager code is sprinkled out in the file so it might take quite a few >ifdefs to fix. In any case, I still need to fix the m4 macros to detect if driver manager is defined or not ...
>
>>> Best regards,
>>>
>>>     Jan
>>>
>>>>> The problem I had was that greth.c contains SPARC assembly code and 
>>>>> cannot be built on any other architecture. I will change my patch to 
>>>>> disable greth.c on non-SPARC targets or try to replace the asssembly 
>>>>> code with macros as in greth2.c. Thanks for the feedback!
>>>>>
>>>>> An other issue is that the two files are 99% identical, but only 
>>>>> greth,c seems to be maintained. PHY handling and multi-cast support 
>>>>> are areas where the files have diverged. But this is an other discussion ...



More information about the devel mailing list