## Documentation ¶

### Overview ¶

package sys contains system- and configuration- and architecture-specific constants used by the runtime.

### Index ¶

- Constants
- func Bswap32(x uint32) uint32
- func Bswap64(x uint64) uint64
- func Ctz32(x uint32) int
- func Ctz64(x uint64) int
- func Ctz8(x uint8) int
- func LeadingZeros64(x uint64) int
- func LeadingZeros8(x uint8) int
- func Len64(x uint64) (n int)
- func Len8(x uint8) int
- func OnesCount64(x uint64) int
- func TrailingZeros64(x uint64) int
- func TrailingZeros8(x uint8) int
- type ArchFamilyType

### Constants ¶

`const BigEndian = GoarchArmbe|GoarchArm64be|GoarchMips|GoarchMips64|GoarchPpc|GoarchPpc64|GoarchS390|GoarchS390x|GoarchSparc|GoarchSparc64 == 1`

BigEndian reports whether the architecture is big-endian.

`const DefaultPhysPageSize = _DefaultPhysPageSize`

DefaultPhysPageSize is the default physical page size.

`const GOARCH = `amd64``

`const GOOS = `linux``

`const Goarch386 = 0`

`const GoarchAmd64 = 1`

`const GoarchAmd64p32 = 0`

`const GoarchArm = 0`

`const GoarchArm64 = 0`

`const GoarchArm64be = 0`

`const GoarchArmbe = 0`

`const GoarchLoong64 = 0`

`const GoarchMips = 0`

`const GoarchMips64 = 0`

`const GoarchMips64le = 0`

`const GoarchMips64p32 = 0`

`const GoarchMips64p32le = 0`

`const GoarchMipsle = 0`

`const GoarchPpc = 0`

`const GoarchPpc64 = 0`

`const GoarchPpc64le = 0`

`const GoarchRiscv = 0`

`const GoarchRiscv64 = 0`

`const GoarchS390 = 0`

`const GoarchS390x = 0`

`const GoarchSparc = 0`

`const GoarchSparc64 = 0`

`const GoarchWasm = 0`

`const GoosAix = 0`

`const GoosAndroid = 0`

`const GoosDarwin = 0`

`const GoosDragonfly = 0`

`const GoosFreebsd = 0`

`const GoosHurd = 0`

`const GoosIllumos = 0`

`const GoosIos = 0`

`const GoosJs = 0`

`const GoosLinux = 1`

`const GoosNacl = 0`

`const GoosNetbsd = 0`

`const GoosOpenbsd = 0`

`const GoosPlan9 = 0`

`const GoosSolaris = 0`

`const GoosWindows = 0`

`const GoosZos = 0`

`const Int64Align = PtrSize`

Int64Align is the required alignment for a 64-bit integer (4 on 32-bit systems, 8 on 64-bit).

`const MinFrameSize = _MinFrameSize`

MinFrameSize is the size of the system-reserved words at the bottom of a frame (just above the architectural stack pointer). It is zero on x86 and PtrSize on most non-x86 (LR-based) systems. On PowerPC it is larger, to cover three more reserved words: the compiler word, the link editor word, and the TOC save word.

`const PCQuantum = _PCQuantum`

PCQuantum is the minimal unit for a program counter (1 on x86, 4 on most other systems). The various PC tables record PC deltas pre-divided by PCQuantum.

`const PtrSize = 4 << (^uintptr(0) >> 63)`

PtrSize is the size of a pointer in bytes - unsafe.Sizeof(uintptr(0)) but as an ideal constant. It is also the size of the machine's native word size (that is, 4 on 32-bit systems, 8 on 64-bit).

`const StackAlign = _StackAlign`

StackAlign is the required alignment of the SP register. The stack must be at least word aligned, but some architectures require more.

`const StackGuardMultiplier = StackGuardMultiplierDefault*(1-GoosAix) + 2*GoosAix`

AIX requires a larger stack for syscalls.

### Variables ¶

This section is empty.

### Functions ¶

#### func Bswap32 ¶ added in go1.7

Bswap32 returns its input with byte order reversed 0x01020304 -> 0x04030201

#### func Bswap64 ¶ added in go1.7

Bswap64 returns its input with byte order reversed 0x0102030405060708 -> 0x0807060504030201

#### func Ctz8 ¶ added in go1.7

Ctz8 returns the number of trailing zero bits in x; the result is 8 for x == 0.

#### func LeadingZeros64 ¶ added in go1.14

LeadingZeros64 returns the number of leading zero bits in x; the result is 64 for x == 0.

#### func LeadingZeros8 ¶ added in go1.14

LeadingZeros8 returns the number of leading zero bits in x; the result is 8 for x == 0.

#### func Len64 ¶ added in go1.14

len64 returns the minimum number of bits required to represent x; the result is 0 for x == 0.

#### func Len8 ¶ added in go1.14

Len8 returns the minimum number of bits required to represent x; the result is 0 for x == 0.

#### func OnesCount64 ¶ added in go1.14

OnesCount64 returns the number of one bits ("population count") in x.

#### func TrailingZeros64 ¶ added in go1.14

TrailingZeros64 returns the number of trailing zero bits in x; the result is 64 for x == 0.

#### func TrailingZeros8 ¶ added in go1.14

TrailingZeros8 returns the number of trailing zero bits in x; the result is 8 for x == 0.

### Types ¶

#### type ArchFamilyType ¶ added in go1.7

type ArchFamilyType int

const ( AMD64 ArchFamilyType = iota ARM ARM64 I386 MIPS MIPS64 PPC64 RISCV64 S390X WASM )

`const ArchFamily ArchFamilyType = _ArchFamily`

ArchFamily is the architecture family (AMD64, ARM, ...)