initialize an empty fp state area for sentry on Arm64

We need to initialize an empty fp state area for the sentry.

Signed-off-by: Bin Lu <bin.lu@arm.com>
This commit is contained in:
Bin Lu
2020-06-09 05:01:03 -04:00
parent 420b791a3d
commit 5ad1025d2d
+7 -3
View File
@@ -17,7 +17,6 @@
package arch
import (
"encoding/binary"
"fmt"
"io"
@@ -49,9 +48,14 @@ const ARMTrapFlag = uint64(1) << 21
type aarch64FPState []byte
// initAarch64FPState sets up initial state.
//
// Related code in Linux kernel: fpsimd_flush_thread().
// FPCR = FPCR_RM_RN (0x0 << 22).
//
// Currently, aarch64FPState is only a space of 0x210 length for fpstate.
// The fp head is useless in sentry/ptrace/kvm.
//
func initAarch64FPState(data aarch64FPState) {
binary.LittleEndian.PutUint32(data, fpsimdMagic)
binary.LittleEndian.PutUint32(data[4:], fpsimdContextSize)
}
func newAarch64FPStateSlice() []byte {