## Documentation ¶

### Overview ¶

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

### Index ¶

- Constants
- Variables
- 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
- type Uintreg

### Constants ¶

const ( ArchFamily = AMD64 BigEndian = false DefaultPhysPageSize = 4096 PCQuantum = 1 Int64Align = 8 MinFrameSize = 0 )

`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 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 PtrSize = 4 << (^uintptr(0) >> 63) // unsafe.Sizeof(uintptr(0)) but an ideal const
```

```
const RegSize = 4 << (^Uintreg(0) >> 63) // unsafe.Sizeof(uintreg(0)) but an ideal const
```

```
const SpAlign = 1*(1-GoarchArm64) + 16*GoarchArm64 // SP alignment: 1 normally, 16 for ARM64
```

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

AIX requires a larger stack for syscalls.

### Variables ¶

```
var DefaultGoroot string // set at link time
```

### 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 )