Lines Matching +full:platform +full:- +full:specific
1 .\" Copyright (c) 2016-2017 The FreeBSD Foundation.
32 .Nd Architecture-specific details
40 For full details consult the processor-specific ABI supplement
85 .Bl -column -offset indent "Architecture" "Initial Release"
96 .Bl -column -offset indent "Architecture" "Initial Release" "Final Release"
127 .Bl -tag -width "Dv ILP32"
132 types machine representations all have 4-byte size.
146 Typically these are 64-bit machines, where the
152 environment, which was the historical 32-bit predecessor for 64-bit evolution.
154 .Bl -column -offset indent "powerpc64" "ILP32 counterpart"
170 .Bl -column -offset indent "long long" "Size"
185 require only 4-byte alignment for 64-bit integers.
187 Machine-dependent type sizes:
188 .Bl -column -offset indent "Architecture" "void *" "long double" "time_t"
204 .Bl -column -offset indent "Architecture" "Endianness" "char Signedness"
217 .Bl -column -offset indent "Architecture" "Page Sizes"
230 .Bl -column -offset indent "riscv64 (Sv48)" "0x0001000000000000" "NNNU"
250 Historically, amd64 CPUs were limited to a 48-bit virtual address space.
251 Newer CPUs support 5-level page tables, which extend the significant bits of
256 tunable to 0 forces the system into 4-level paging mode, even on hardware that
257 supports 5-level paging.
258 In this mode, all processes get a 48-bit address space.
262 a 48-bit address space by default.
268 utility can be used to request LA48 or LA57 mode for specific executables.
273 The RISC-V specification permits 3-level (Sv39), 4-level (Sv48), and
274 5-level (Sv57) page tables.
284 .Bl -column -offset indent "Architecture" "float, double" "long double"
313 should be preferred when there is something specific to a particular type of
317 when referring to the kernel, interfaces dependent on a specific type of kernel
319 .Bl -column -offset indent "Dv MACHINE" "Dv MACHINE_CPUARCH" "Dv MACHINE_ARCH"
330 Some of these provide architecture-specific details and are explained below.
335 .Bd -literal -offset indent
336 cc -x c -dM -E /dev/null
340 .Bl -column -offset indent "BYTE_ORDER" "Meaning"
342 .It Dv __LP64__ Ta 64-bit (8-byte) long and pointer, 32-bit (4-byte) int
343 .It Dv __ILP32__ Ta 32-bit (4-byte) int, long and pointer
350 Architecture-specific macros:
351 .Bl -column -offset indent "Architecture" "Predefined macros"
364 Compilers may define additional variants of architecture-specific macros.
373 .Bl -tag -width "MACHINE_CPUARCH"
375 Represents the hardware platform.
376 This is the same as the native platform's
393 hardware platforms, one hardware platform may support multiple CPU
397 of i386 supported the IBM-AT hardware platform while the
399 of pc98 supported the Japanese company NEC's PC-9801 and PC-9821
404 userland interfaces relating to underlying hardware platform
417 It may also encode a variation in the byte ordering of multi-byte
431 If we ever were to support the so-called x32 ABI (using 32-bit
433 as amd64-x32.
434 It is unfortunate that amd64 specifies the 64-bit evolution of the x86 platform
459 It is used to optimize the build for a specific CPU / core that the
462 between optimization for specific cases.