diff options
author | Will Deacon <will@kernel.org> | 2022-12-06 11:27:28 +0000 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2022-12-06 11:27:28 +0000 |
commit | 75bc81d08fda1b90dcc09dd068d144398ddd9a2d (patch) | |
tree | 57acc3748f81e7f97ccd2310d3fbc4c0d98b97b3 /arch/arm64/include/asm/processor.h | |
parent | 595a121e8901c4f1c0a876cbd6322a0f418791e1 (diff) | |
parent | 1192b93ba3528feaf37dc4b5d8d6bdbb475791ad (diff) | |
download | linux-75bc81d08fda1b90dcc09dd068d144398ddd9a2d.tar.bz2 |
Merge branch 'for-next/sve-state' into for-next/core
* for-next/sve-state:
arm64/fp: Use a struct to pass data to fpsimd_bind_state_to_cpu()
arm64/sve: Leave SVE enabled on syscall if we don't context switch
arm64/fpsimd: SME no longer requires SVE register state
arm64/fpsimd: Load FP state based on recorded data type
arm64/fpsimd: Stop using TIF_SVE to manage register saving in KVM
arm64/fpsimd: Have KVM explicitly say which FP registers to save
arm64/fpsimd: Track the saved FPSIMD state type separately to TIF_SVE
KVM: arm64: Discard any SVE state when entering KVM guests
Diffstat (limited to 'arch/arm64/include/asm/processor.h')
-rw-r--r-- | arch/arm64/include/asm/processor.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/processor.h b/arch/arm64/include/asm/processor.h index b15fd6c11294..0dcb1f7f485d 100644 --- a/arch/arm64/include/asm/processor.h +++ b/arch/arm64/include/asm/processor.h @@ -122,6 +122,12 @@ enum vec_type { ARM64_VEC_MAX, }; +enum fp_type { + FP_STATE_CURRENT, /* Save based on current task state. */ + FP_STATE_FPSIMD, + FP_STATE_SVE, +}; + struct cpu_context { unsigned long x19; unsigned long x20; @@ -152,6 +158,7 @@ struct thread_struct { struct user_fpsimd_state fpsimd_state; } uw; + enum fp_type fp_type; /* registers FPSIMD or SVE? */ unsigned int fpsimd_cpu; void *sve_state; /* SVE registers, if any */ void *za_state; /* ZA register, if any */ |