mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-03 02:27:48 +00:00
runtime: reuse common code between 32 and 64-bit RISC-V
This commit is contained in:
@@ -1,19 +1,9 @@
|
||||
// +build tinygo.riscv32
|
||||
// +build tinygo.riscv
|
||||
|
||||
package runtime
|
||||
|
||||
import "device/riscv"
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
func getCurrentStackPointer() uintptr {
|
||||
return riscv.AsmFull("mv {}, sp", nil)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
// +build tinygo.riscv32
|
||||
|
||||
package runtime
|
||||
|
||||
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
|
||||
}
|
||||
@@ -2,8 +2,6 @@
|
||||
|
||||
package runtime
|
||||
|
||||
import "device/riscv"
|
||||
|
||||
const GOARCH = "arm64" // riscv pretends to be arm
|
||||
|
||||
// The bitness of the CPU (e.g. 8, 32, 64).
|
||||
@@ -13,7 +11,3 @@ const TargetBits = 64
|
||||
func align(ptr uintptr) uintptr {
|
||||
return (ptr + 7) &^ 7
|
||||
}
|
||||
|
||||
func getCurrentStackPointer() uintptr {
|
||||
return riscv.AsmFull("mv {}, sp", nil)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user