On Sun, Jan 10, 2021 at 5:44 PM Jessica Clarke <jrt...@freebsd.org> wrote:
>
> On 10 Jan 2021, at 21:41, Konstantin Belousov <kostik...@gmail.com> wrote:
> > On Sun, Jan 10, 2021 at 09:33:16PM +0000, Jessica Clarke wrote:
> >> On 10 Jan 2021, at 21:31, Konstantin Belousov <kostik...@gmail.com> wrote:
> >>> On Sun, Jan 10, 2021 at 09:17:48PM +0000, Jessica Clarke wrote:
> >>>> On 10 Jan 2021, at 20:53, Mitchell Horne <mho...@freebsd.org> wrote:
> >>>>> diff --git a/sys/dev/cadence/if_cgem.c b/sys/dev/cadence/if_cgem.c
> >>>>> index 3c5277452469..77337e977dcc 100644
> >>>>> --- a/sys/dev/cadence/if_cgem.c
> >>>>> +++ b/sys/dev/cadence/if_cgem.c
> >>>>> @@ -77,6 +77,14 @@ __FBSDID("$FreeBSD$");
> >>>>> #include <dev/mii/mii.h>
> >>>>> #include <dev/mii/miivar.h>
> >>>>>
> >>>>> +#ifdef EXT_RESOURCES
> >>>>> +#include <dev/extres/clk/clk.h>
> >>>>> +#endif
> >>>>> +
> >>>>> +#if INTPTR_MAX == INT64_MAX
> >>>>> +#define CGEM64
> >>>>> +#endif
> >>>>
> >>>> This isn't going to work with CHERI. Perhaps a BUS_SPACE_MAXADDR check,
> >>>> or SIZE_MAX? The former is probably preferable for PAE systems.
> >>>
> >>> Wouldn't it be spelled as __LP64__ ?
> >>
> >> It shouldn't be, because the P stands for pointer(s), which we make
> >> 128-bit, though in practice for compatibility we have a hack to define
> >> it anyway (but the compiler *won't*, it's in bsd.cpu.mk or similar).
> >> Only the integer addresses are 128-bit.
> >
> > I have no idea about CHERI, I mean how this statement should be handled
> > for FreeBSD.
>
> Well, ideally in a way that works for FreeBSD and CHERI. This one
> happens to do that, though it doesn't feel very idiomatic, and a
> comparison against SIZE_MAX or BUS_SPACE_MAXADDR would seem more
> accurate (depending on the behaviour you want for PAE systems). FreeBSD
> *can* use __LP64__ but it causes pain for us downstream so we prefer
> people to be more specific in what they mean (i.e., do you care about
> the size of the address space or the size of the representation of
> pointers).
>
> Jess
>

Indeed, the committed version is not very idiomatic. In this case I
would think that a comparison like `#if BUS_SPACE_MAXADDR >
BUS_SPACE_MAXADDR_32BIT` describes the intent, but I don't see
anything like that in the tree already. I do see several occurrences
of `#ifdef __LP64__` under sys/dev/.
_______________________________________________
dev-commits-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-all
To unsubscribe, send any mail to "dev-commits-src-all-unsubscr...@freebsd.org"

Reply via email to