Messages in this thread | | | Date | Thu, 3 Oct 2013 08:27:25 -0700 | From | Sukadev Bhattiprolu <> | Subject | Re: [PATCH 6/9][v5] powerpc/perf: Define big-endian version of perf_mem_data_src |
| |
Michael Ellerman [michael@ellerman.id.au] wrote: | On Tue, Oct 01, 2013 at 05:15:07PM -0700, Sukadev Bhattiprolu wrote: | > perf_mem_data_src is an union that is initialized via the ->val field | > and accessed via the bitmap fields. For this to work on big endian | > platforms, we also need a big-endian represenation of perf_mem_data_src. | > | > diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h | > index ca1d90b..846f399 100644 | > --- a/include/uapi/linux/perf_event.h | > +++ b/include/uapi/linux/perf_event.h | > @@ -19,6 +19,50 @@ | > #include <asm/byteorder.h> | > | > /* | > + * Kernel and userspace check for endianness in incompatible ways. | > + * In user space, <endian.h> defines both __BIG_ENDIAN and __LITTLE_ENDIAN | > + * but sets __BYTE_ORDER to one or the other. So user space uses checks are: | | | Why can't you use __BIG_ENDIAN_BITFIELD ?
BTW, any clues on why there are so many different ways of checking endianness ?
Any standards related stuff or just evolution ?
Sukadev
| |