Date: Tue, 19 Jul 2016 23:08:54 -0600 From: Warner Losh <imp@bsdimp.com> To: Jan Beich <jbeich@vfemail.net> Cc: Ed Maste <emaste@freebsd.org>, src-committers <src-committers@freebsd.org>, "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org> Subject: Re: svn commit: r303033 - head/share/man/man7 Message-ID: <CANCZdfoCTpRMdrAwBzRTXnhBtph8J15oeZ==PDHF%2BCcJa5Y4XA@mail.gmail.com> In-Reply-To: <wpkh-nhcg-wny@vfemail.net> References: <201607191746.u6JHk9ov092270@repo.freebsd.org> <wpkh-nhcg-wny@vfemail.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jul 19, 2016 at 9:01 PM, Jan Beich <jbeich@vfemail.net> wrote: > Ed Maste <emaste@FreeBSD.org> writes: > >> +.It Sy Architecture Ta Sy Page Sizes >> +.It amd64 Ta 4K, 2M, 1G > > Does FreeBSD support 1G pages nowadays? > > $ sysctl hw.pagesizes > hw.pagesizes: 4096 2097152 0 > > $ dmesg | fgrep -i 1gb > AMD Features=0x2c100800<SYSCALL,NX,Page1GB,RDTSCP,LM> > >> +.Ss Predefined Macros >> +The compiler provides a number of predefined macros. >> +Some of these provide architecture-specific details and are explained below. >> +Other macros, including those required by the language standard, are not >> +included here. > [...] >> +cc -x c -Dm -E /dev/null > > Typo: -Dm vs. -dM > >> +.It Dv BYTE_ORDER Ta Either Dv BIG_ENDIAN or Dv LITTLE_ENDIAN . > > Are these really compiler macros? I think, <machine/endian.h> defines them. sys/endian.h defines them (and it implements that by including machine/endian.h in part). > $ clang38 -x c -dM -E /dev/null | fgrep ENDIAN > #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ > #define __LITTLE_ENDIAN__ 1 > #define __ORDER_BIG_ENDIAN__ 4321 > #define __ORDER_LITTLE_ENDIAN__ 1234 > #define __ORDER_PDP_ENDIAN__ 3412 > > $ gcc5 -x c -dM -E /dev/null | fgrep ENDIAN > #define __ORDER_LITTLE_ENDIAN__ 1234 > #define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ > #define __ORDER_PDP_ENDIAN__ 3412 > #define __ORDER_BIG_ENDIAN__ 4321 > #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ This is why they are defined in machine/endian.h. Compilers have been somewhat inconsistent in the past. Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfoCTpRMdrAwBzRTXnhBtph8J15oeZ==PDHF%2BCcJa5Y4XA>