> From: Paul Irofti <p...@irofti.net>
> Date: Sat, 30 May 2020 13:53:18 +0300
> 
> On 2020-05-30 12:40, Mark Kettenis wrote:
> >> Date: Sat, 30 May 2020 10:49:07 +0200
> >> From: Robert Nagy <rob...@openbsd.org>
> >>
> >> On 30/05/20 10:40 +0200, Mark Kettenis wrote:
> >>>> Date: Sat, 30 May 2020 10:32:15 +0200
> >>>> From: Robert Nagy <rob...@openbsd.org>
> >>>>
> >>>> On 29/05/20 17:51 +0300, Paul Irofti wrote:
> >>>>> On Fri, May 29, 2020 at 03:00:50PM +0200, Mark Kettenis wrote:
> >>>>>>> Date: Fri, 29 May 2020 13:45:37 +0100
> >>>>>>> From: Stuart Henderson <s...@spacehopper.org>
> >>>>>>>
> >>>>>>> On 2020/05/29 13:50, Paul Irofti wrote:
> >>>>>>>> +struct __timekeep {
> >>>>>>>> +    uint32_t major;         /* version major number */
> >>>>>>>> +    uint32_t minor;         /* version minor number */
> >>>>>>>> +
> >>>>>>>> +    u_int64_t               th_scale;
> >>>>>>>> +    unsigned int            th_offset_count;
> >>>>>>>> +    struct bintime          th_offset;
> >>>>>>>> +    struct bintime          th_naptime;
> >>>>>>>> +    struct bintime          th_boottime;
> >>>>>>>> +    volatile unsigned int   th_generation;
> >>>>>>>> +
> >>>>>>>> +    unsigned int            tc_user;
> >>>>>>>> +    unsigned int            tc_counter_mask;
> >>>>>>>> +};
> >>>>>>>
> >>>>>>> Ah good, you got rid of u_int, that was causing problems with port 
> >>>>>>> builds.
> >>>>>>
> >>>>>> That in itself is a problem.  This means <time.h> is the wrong place
> >>>>>> for this struct.  We need to find a better place for this.
> >>>>>>
> >>>>>> Since this is now closely linked to the timecounter stuff
> >>>>>> <sys/timetc.h> would be an obvious place.  Now that file has:
> >>>>>>
> >>>>>> #ifndef _KERNEL
> >>>>>> #error "no user-serviceable parts inside"
> >>>>>> #endif
> >>>>>>
> >>>>>> you could change that into
> >>>>>>
> >>>>>> #if !defined(_KERNEL) && !defined(_LIBC)
> >>>>>> #error "no user-serviceable parts inside"
> >>>>>> #endif
> >>>>>>
> >>>>>> and make sure you #define _LIBC brefore uncluding this file where it
> >>>>>> is needed.  As few places as possible obviously.
> >>>>>
> >>>>> Done. Also includes claudio@'s observation.
> >>>>
> >>>> I think if there are no more header changes, this should be commited to
> >>>> have wider testing. We are also just after tree unlock so it feels like
> >>>> the right time, and since there is no library bump we can easily revert
> >>>> if there is a need for that.
> >>>
> >>> Not ready yet.
> >>>
> >>> I also would like to see at least one non-amd64 platform supported
> >>> before we settle on this approach.
> >>
> >>
> >> Which one would you prefer? arm64?
> > 
> > yes, arm64 would be good; I can probably give it a go later this weekend
> 
> I was thinking we could have a common name for the MD (arch) files. In 
> my diff it is rdtsc.c, but I think we can switch to have all the arches 
> have a file named usertc.c. What do you think?
> 
>    arch/amd64/gen/rdtsc.c -> arch/amd64/gen/usertc.c

Yes, that would be better.

Reply via email to