From: Joel Sherrill [j...@rtems.org]
Sent: Monday, February 26, 2018 14:36
>> On Feb 26, 2018 8:27 AM, "Jakob Viketoft" <jakob.viket...@aacmicrotec.com> 
>> wrote:

>> Hello Joel,

>> From: Joel Sherrill [j...@rtems.org]
>> Sent: Monday, February 26, 2018 12:21

>>> On Feb 26, 2018 5:13 AM, "Jakob Viketoft" <jakob.viket...@aacmicrotec.com> 
>>> wrote:
>>>> E.g. could it be possible for the translation mechanism to look if there 
>>>> is already an errno defined and then return this instead of doing the 
>>>> error code translation?

>>>> It seems like the translation I'm talking about happens in the 
>>>> rtems_deviceio_write() function in cpukit/libcsupport/src/sup_fs_deviceio.c

>>> Completely random thought as I sit on a plane without code.

>>> Add a field to the arguments structure for errno. See it to zero before the 
>>> call. If it is set to non-zero after the call, then the driver wanted to 
>>> return errno directly. Otherwise translate.

>> This was my thought as well, I just wanted to bounce it off the RTEMS list 
>> and also possibly get official support for a feature as this.

> Now boarded on a different plane and have had another round of thinking.

> What if an RTEMS status code were added like RTEMS_STATUS_IN_ERRNO and we 
> don't modify the arguments structure. Then a driver could return that status 
> to trip -1 and errno.

Yes, that would work just as well for us and is even less work / impact.

> Just a thought. I think it would make the code cleaner but another core 
> developer should pipe up. I was up at 3am to catch a flight and could be 
> loopy. :)

Anyone else? :)
Btw, how is it with practicalities, should we suggest a patch to implement it, 
is this someone specifics territory, do we need to create some sort of ticket 
to hang the patch on etc? Would love to get this implemented very soon since 
our current error reporting is a bit unsatisfactory.

>> A middle step is to see if any of the unused RTEMS status codes make sense 
>> to use and cover your use cases.

> This is the way we do it today. Unfortunately, so many of the different RTEMS 
> codes are translated into the same errno codes which makes it very hard to 
> have an intelligent error reporting/differentiation.

      /Jakob
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to