2
2
mirror of https://github.com/octoleo/restic.git synced 2024-06-03 09:30:50 +00:00
restic/vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go

34 lines
803 B
Go
Raw Normal View History

2018-05-07 20:47:39 +00:00
// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
2019-03-17 11:13:53 +00:00
// +build linux
2018-05-07 20:47:39 +00:00
// +build ppc64 ppc64le
package cpu
const cacheLineSize = 128
2019-01-27 20:07:57 +00:00
// HWCAP/HWCAP2 bits. These are exposed by the kernel.
const (
// ISA Level
_PPC_FEATURE2_ARCH_2_07 = 0x80000000
_PPC_FEATURE2_ARCH_3_00 = 0x00800000
// CPU features
_PPC_FEATURE2_DARN = 0x00200000
_PPC_FEATURE2_SCV = 0x00100000
)
func doinit() {
// HWCAP2 feature bits
2019-03-17 11:13:53 +00:00
PPC64.IsPOWER8 = isSet(hwCap2, _PPC_FEATURE2_ARCH_2_07)
PPC64.IsPOWER9 = isSet(hwCap2, _PPC_FEATURE2_ARCH_3_00)
PPC64.HasDARN = isSet(hwCap2, _PPC_FEATURE2_DARN)
PPC64.HasSCV = isSet(hwCap2, _PPC_FEATURE2_SCV)
2019-01-27 20:07:57 +00:00
}
func isSet(hwc uint, value uint) bool {
return hwc&value != 0
}