riscv: use 16-byte alignment everywhere

Source: https://riscv.org/wp-content/uploads/2015/01/riscv-calling.pdf
This commit is contained in:
Ayke van Laethem
2023-01-10 20:55:29 +01:00
committed by Ayke
parent 35f427c8cc
commit 187d9c6aca
3 changed files with 6 additions and 10 deletions
+6
View File
@@ -6,6 +6,12 @@ import "device/riscv"
const deferExtraRegs = 0
// RISC-V has a maximum alignment of 16 bytes (both for RV32 and for RV64).
// Source: https://riscv.org/wp-content/uploads/2015/01/riscv-calling.pdf
func align(ptr uintptr) uintptr {
return (ptr + 15) &^ 15
}
func getCurrentStackPointer() uintptr {
return uintptr(stacksave())
}
-5
View File
@@ -6,8 +6,3 @@ const GOARCH = "arm" // riscv pretends to be arm
// The bitness of the CPU (e.g. 8, 32, 64).
const TargetBits = 32
// Align on word boundary.
func align(ptr uintptr) uintptr {
return (ptr + 3) &^ 3
}
-5
View File
@@ -6,8 +6,3 @@ const GOARCH = "arm64" // riscv pretends to be arm
// The bitness of the CPU (e.g. 8, 32, 64).
const TargetBits = 64
// Align on word boundary.
func align(ptr uintptr) uintptr {
return (ptr + 7) &^ 7
}