cpu_aix.mx raw

   1  // Copyright 2019 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  //go:build aix
   6  
   7  package cpu
   8  
   9  const (
  10  	// getsystemcfg constants
  11  	_SC_IMPL     = 2
  12  	_IMPL_POWER8 = 0x10000
  13  	_IMPL_POWER9 = 0x20000
  14  )
  15  
  16  func archInit() {
  17  	impl := getsystemcfg(_SC_IMPL)
  18  	if impl&_IMPL_POWER8 != 0 {
  19  		PPC64.IsPOWER8 = true
  20  	}
  21  	if impl&_IMPL_POWER9 != 0 {
  22  		PPC64.IsPOWER8 = true
  23  		PPC64.IsPOWER9 = true
  24  	}
  25  
  26  	Initialized = true
  27  }
  28  
  29  func getsystemcfg(label int) (n uint64) {
  30  	r0, _ := callgetsystemcfg(label)
  31  	n = uint64(r0)
  32  	return
  33  }
  34