mirror of
https://github.com/rwinkhart/sys.git
synced 2026-09-01 14:47:28 -04:00
cpu: refactor parsing of ARM64 registers into separate function
This will allow to re-use the implementation when adding support for netbsd/arm64 which will retreive these register values using sysctl(3). Change-Id: I2414cc4c6d1a91fff946466e4bf6d95d07f30137 Reviewed-on: https://go-review.googlesource.com/c/sys/+/264377 Trust: Tobias Klauser <tobias.klauser@gmail.com> Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Martin Möhrmann <moehrmann@google.com>
This commit is contained in:
committed by
Tobias Klauser
parent
6e5568b54d
commit
fb209a7c41
+4
-6
@@ -64,9 +64,11 @@ func archInit() {
|
|||||||
func readARM64Registers() {
|
func readARM64Registers() {
|
||||||
Initialized = true
|
Initialized = true
|
||||||
|
|
||||||
// ID_AA64ISAR0_EL1
|
parseARM64SystemRegisters(getisar0(), getisar1(), getpfr0())
|
||||||
isar0 := getisar0()
|
}
|
||||||
|
|
||||||
|
func parseARM64SystemRegisters(isar0, isar1, pfr0 uint64) {
|
||||||
|
// ID_AA64ISAR0_EL1
|
||||||
switch extractBits(isar0, 4, 7) {
|
switch extractBits(isar0, 4, 7) {
|
||||||
case 1:
|
case 1:
|
||||||
ARM64.HasAES = true
|
ARM64.HasAES = true
|
||||||
@@ -124,8 +126,6 @@ func readARM64Registers() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ID_AA64ISAR1_EL1
|
// ID_AA64ISAR1_EL1
|
||||||
isar1 := getisar1()
|
|
||||||
|
|
||||||
switch extractBits(isar1, 0, 3) {
|
switch extractBits(isar1, 0, 3) {
|
||||||
case 1:
|
case 1:
|
||||||
ARM64.HasDCPOP = true
|
ARM64.HasDCPOP = true
|
||||||
@@ -147,8 +147,6 @@ func readARM64Registers() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ID_AA64PFR0_EL1
|
// ID_AA64PFR0_EL1
|
||||||
pfr0 := getpfr0()
|
|
||||||
|
|
||||||
switch extractBits(pfr0, 16, 19) {
|
switch extractBits(pfr0, 16, 19) {
|
||||||
case 0:
|
case 0:
|
||||||
ARM64.HasFP = true
|
ARM64.HasFP = true
|
||||||
|
|||||||
Reference in New Issue
Block a user