diff options
author | gVisor bot <gvisor-bot@google.com> | 2020-02-27 13:34:23 -0800 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2020-02-27 13:34:23 -0800 |
commit | d9ee81183fee2288681822a179ef230226fb8930 (patch) | |
tree | f7c0edd08467157a68f0509ccc57064b9fe2c594 /pkg/sentry/arch/signal_arm64.go | |
parent | 0eafb7eb278233e7cb3888cc7b674dd5879d4667 (diff) | |
parent | a369c88c0c4ece5239855000d28df045111c1be7 (diff) |
Merge of a369c88c0c4ece5239855000d28df045111c1be7
PiperOrigin-RevId: 297674924
Diffstat (limited to 'pkg/sentry/arch/signal_arm64.go')
-rw-r--r-- | pkg/sentry/arch/signal_arm64.go | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/pkg/sentry/arch/signal_arm64.go b/pkg/sentry/arch/signal_arm64.go index 4f4cc46a8..0c1db4b13 100644 --- a/pkg/sentry/arch/signal_arm64.go +++ b/pkg/sentry/arch/signal_arm64.go @@ -30,14 +30,29 @@ type SignalContext64 struct { Sp uint64 Pc uint64 Pstate uint64 - _pad [8]byte // __attribute__((__aligned__(16))) - Reserved [4096]uint8 + _pad [8]byte // __attribute__((__aligned__(16))) + Fpsimd64 FpsimdContext // size = 528 + Reserved [3568]uint8 +} + +type aarch64Ctx struct { + Magic uint32 + Size uint32 +} + +// FpsimdContext is equivalent to struct fpsimd_context on arm64 +// (arch/arm64/include/uapi/asm/sigcontext.h). +type FpsimdContext struct { + Head aarch64Ctx + Fpsr uint32 + Fpcr uint32 + Vregs [64]uint64 // actually [32]uint128 } // UContext64 is equivalent to ucontext on arm64(arch/arm64/include/uapi/asm/ucontext.h). type UContext64 struct { Flags uint64 - Link *UContext64 + Link uint64 Stack SignalStack Sigset linux.SignalSet // glibc uses a 1024-bit sigset_t |