diff options
author | Robin Luk <lubin.lu@antgroup.com> | 2021-01-14 19:06:46 +0800 |
---|---|---|
committer | Robin Luk <lubin.lu@antgroup.com> | 2021-02-03 11:50:36 +0000 |
commit | 6eb80b2e2df4a7e0a0b9dcfc99906a84fd8fc3f0 (patch) | |
tree | 4b04266e0608caf4c661b56d4ef7cb7731ba334d /pkg/ring0/offsets_arm64.go | |
parent | 25130d6183d399fc3bfa93385aeba6819437ea6c (diff) |
arm64 kvm:implement basic lazy save and restore for FPSIMD registers
Implement basic lazy save and restore for FPSIMD registers, which only
restore FPSIMD state on el0_fpsimd_acc and save FPSIMD state in switch().
Signed-off-by: Robin Luk <lubin.lu@antgroup.com>
Diffstat (limited to 'pkg/ring0/offsets_arm64.go')
-rw-r--r-- | pkg/ring0/offsets_arm64.go | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/pkg/ring0/offsets_arm64.go b/pkg/ring0/offsets_arm64.go index 164db6d5a..03adaa6b0 100644 --- a/pkg/ring0/offsets_arm64.go +++ b/pkg/ring0/offsets_arm64.go @@ -36,6 +36,7 @@ func Emit(w io.Writer) { fmt.Fprintf(w, "#define CPU_ERROR_CODE 0x%02x\n", reflect.ValueOf(&c.errorCode).Pointer()-reflect.ValueOf(c).Pointer()) fmt.Fprintf(w, "#define CPU_ERROR_TYPE 0x%02x\n", reflect.ValueOf(&c.errorType).Pointer()-reflect.ValueOf(c).Pointer()) fmt.Fprintf(w, "#define CPU_FAULT_ADDR 0x%02x\n", reflect.ValueOf(&c.faultAddr).Pointer()-reflect.ValueOf(c).Pointer()) + fmt.Fprintf(w, "#define CPU_FPSTATE_EL0 0x%02x\n", reflect.ValueOf(&c.el0Fp).Pointer()-reflect.ValueOf(c).Pointer()) fmt.Fprintf(w, "#define CPU_TTBR0_KVM 0x%02x\n", reflect.ValueOf(&c.ttbr0Kvm).Pointer()-reflect.ValueOf(c).Pointer()) fmt.Fprintf(w, "#define CPU_TTBR0_APP 0x%02x\n", reflect.ValueOf(&c.ttbr0App).Pointer()-reflect.ValueOf(c).Pointer()) fmt.Fprintf(w, "#define CPU_VECTOR_CODE 0x%02x\n", reflect.ValueOf(&c.vecCode).Pointer()-reflect.ValueOf(c).Pointer()) |