2018-12-28 15:30:48 +00:00
|
|
|
// Copyright 2017 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.
|
|
|
|
|
|
|
|
package cpu
|
|
|
|
|
2022-10-27 18:55:19 +00:00
|
|
|
// const CacheLinePadSize = 64
|
2018-12-28 15:30:48 +00:00
|
|
|
|
2019-06-02 15:48:37 +00:00
|
|
|
func doinit() {
|
|
|
|
options = []option{
|
|
|
|
{Name: "aes", Feature: &ARM64.HasAES},
|
|
|
|
{Name: "pmull", Feature: &ARM64.HasPMULL},
|
|
|
|
{Name: "sha1", Feature: &ARM64.HasSHA1},
|
|
|
|
{Name: "sha2", Feature: &ARM64.HasSHA2},
|
|
|
|
{Name: "crc32", Feature: &ARM64.HasCRC32},
|
|
|
|
{Name: "atomics", Feature: &ARM64.HasATOMICS},
|
|
|
|
{Name: "cpuid", Feature: &ARM64.HasCPUID},
|
2022-10-27 18:55:19 +00:00
|
|
|
{Name: "isNeoverseN1", Feature: &ARM64.IsNeoverseN1},
|
|
|
|
{Name: "isZeus", Feature: &ARM64.IsZeus},
|
2019-06-02 15:48:37 +00:00
|
|
|
}
|
|
|
|
|
2022-10-27 18:55:19 +00:00
|
|
|
// arm64 uses different ways to detect CPU features at runtime depending on the operating system.
|
|
|
|
osInit()
|
2018-12-28 15:30:48 +00:00
|
|
|
}
|
|
|
|
|
2022-10-27 18:55:19 +00:00
|
|
|
func getisar0() uint64
|
|
|
|
|
|
|
|
func getMIDR() uint64
|