github.com/arthurnavah/cpuid/v2@v2.0.14/os_darwin_arm64.go (about)

     1  // Copyright (c) 2020 Klaus Post, released under MIT License. See LICENSE file.
     2  
     3  package cpuid
     4  
     5  import "runtime"
     6  
     7  func detectOS(c *CPUInfo) bool {
     8  	// There are no hw.optional sysctl values for the below features on Mac OS 11.0
     9  	// to detect their supported state dynamically. Assume the CPU features that
    10  	// Apple Silicon M1 supports to be available as a minimal set of features
    11  	// to all Go programs running on darwin/arm64.
    12  	// TODO: Add more if we know them.
    13  	c.featureSet.setIf(runtime.GOOS != "ios", AESARM, PMULL, SHA1, SHA2)
    14  	c.PhysicalCores = runtime.NumCPU()
    15  	// For now assuming 1 thread per core...
    16  	c.ThreadsPerCore = 1
    17  	c.LogicalCores = c.PhysicalCores
    18  	return true
    19  }