AW: AW: AW: [PATCH 11/12] kern_ntptime: Add define in order to remove warning

Gabriel.Moyano at dlr.de Gabriel.Moyano at dlr.de
Thu Apr 7 14:05:38 UTC 2022


> On 07/04/2022 14:51, Gabriel.Moyano at dlr.de wrote:
> >> On 07/04/2022 11:56, Gabriel.Moyano at dlr.de wrote:
> >>>> On 07/04/2022 10:36, Gabriel Moyano wrote:
> >>>>> ---
> >>>>>     cpukit/score/src/kern_ntptime.c | 3 +++
> >>>>>     1 file changed, 3 insertions(+)
> >>>>>
> >>>>> diff --git a/cpukit/score/src/kern_ntptime.c
> >>>>> b/cpukit/score/src/kern_ntptime.c index d4a233f67e..d6ea739f5b
> >>>>> 100644
> >>>>> --- a/cpukit/score/src/kern_ntptime.c
> >>>>> +++ b/cpukit/score/src/kern_ntptime.c
> >>>>> @@ -58,6 +58,9 @@ __FBSDID("$FreeBSD$");
> >>>>>     #include <sys/time.h>
> >>>>>     #include <sys/timex.h>
> >>>>>     #include <sys/timetc.h>
> >>>>> +#ifdef __rtems__
> >>>>> +#define	_KERNEL
> >>>>> +#endif /* __rtems__ */
> >>>>>     #include <sys/timepps.h>
> >>>>>     #ifndef __rtems__
> >>>>>     #include <sys/syscallsubr.h>
> >>>> Who is supposed to use the _KERNEL <sys/timepps.h.> API?
> >>>>
> >>> hardpps()
> >>
> >> The pps_*() API should be accessible for RTEMS drivers without having to define _KERNEL.
> >
> > The API functions start with time_pps_*().
> 
> This is the user space API. It uses a file descriptor.
> 
> PPS device drivers should use the kernel space API. Since we don't have a user and kernel space in RTEMS, the kerne space API should
> be available also if __rtems__ is defined.

So, you mean to remove the #ifdef _KERNEL using #ifndef__rtems__.

> >
> > hardpps() is declared if _KERNEL is defined. That's why I added it
> > before including timepps.h in kern_ntptime.c It was for removing a warning.
> >
> >> The hardpps() needs to be added to the _ namespace, for example _NTP_Pulse_per_second_event().
> >
> > Here I didn't follow you
> 
> The FreeBSD kernel has its own symbol namespace which is separated from the application. In RTEMS, the kernel and application
> share a symbol namespace. Kernel functions should use the _ namespace.
> 
And here you mean to do something similar to what have to be done for tc_getfrequency() ( declare _Timecounter_Get_frequency())?


More information about the devel mailing list