...

Source file src/pkg/vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go

     1	// Copyright 2018 The Go Authors. All rights reserved.
     2	// Use of this source code is governed by a BSD-style
     3	// license that can be found in the LICENSE file.
     4	
     5	// +build linux
     6	// +build ppc64 ppc64le
     7	
     8	package cpu
     9	
    10	const cacheLineSize = 128
    11	
    12	// HWCAP/HWCAP2 bits. These are exposed by the kernel.
    13	const (
    14		// ISA Level
    15		_PPC_FEATURE2_ARCH_2_07 = 0x80000000
    16		_PPC_FEATURE2_ARCH_3_00 = 0x00800000
    17	
    18		// CPU features
    19		_PPC_FEATURE2_DARN = 0x00200000
    20		_PPC_FEATURE2_SCV  = 0x00100000
    21	)
    22	
    23	func doinit() {
    24		// HWCAP2 feature bits
    25		PPC64.IsPOWER8 = isSet(hwCap2, _PPC_FEATURE2_ARCH_2_07)
    26		PPC64.IsPOWER9 = isSet(hwCap2, _PPC_FEATURE2_ARCH_3_00)
    27		PPC64.HasDARN = isSet(hwCap2, _PPC_FEATURE2_DARN)
    28		PPC64.HasSCV = isSet(hwCap2, _PPC_FEATURE2_SCV)
    29	}
    30	
    31	func isSet(hwc uint, value uint) bool {
    32		return hwc&value != 0
    33	}
    34	

View as plain text