fpsimd.h (af7167d6d2675f3343eff3ad6c9b4a8e30122e2c) | fpsimd.h (0033cd9339642f9b7bef23f96aa2e7277ab51cce) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * Copyright (C) 2012 ARM Ltd. 4 */ 5#ifndef __ASM_FP_H 6#define __ASM_FP_H 7 8#include <asm/errno.h> --- 33 unchanged lines hidden (view full) --- 42 43extern void fpsimd_signal_preserve_current_state(void); 44extern void fpsimd_preserve_current_state(void); 45extern void fpsimd_restore_current_state(void); 46extern void fpsimd_update_current_state(struct user_fpsimd_state const *state); 47 48extern void fpsimd_bind_state_to_cpu(struct user_fpsimd_state *state, 49 void *sve_state, unsigned int sve_vl, | 1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * Copyright (C) 2012 ARM Ltd. 4 */ 5#ifndef __ASM_FP_H 6#define __ASM_FP_H 7 8#include <asm/errno.h> --- 33 unchanged lines hidden (view full) --- 42 43extern void fpsimd_signal_preserve_current_state(void); 44extern void fpsimd_preserve_current_state(void); 45extern void fpsimd_restore_current_state(void); 46extern void fpsimd_update_current_state(struct user_fpsimd_state const *state); 47 48extern void fpsimd_bind_state_to_cpu(struct user_fpsimd_state *state, 49 void *sve_state, unsigned int sve_vl, |
50 unsigned int sme_vl, u64 *svcr); | 50 void *za_state, unsigned int sme_vl, 51 u64 *svcr); |
51 52extern void fpsimd_flush_task_state(struct task_struct *target); 53extern void fpsimd_save_and_flush_cpu_state(void); 54 55static inline bool thread_sm_enabled(struct thread_struct *thread) 56{ 57 return system_supports_sme() && (thread->svcr & SYS_SVCR_EL0_SM_MASK); 58} --- 26 unchanged lines hidden (view full) --- 85 86extern void sve_save_state(void *state, u32 *pfpsr, int save_ffr); 87extern void sve_load_state(void const *state, u32 const *pfpsr, 88 int restore_ffr); 89extern void sve_flush_live(bool flush_ffr, unsigned long vq_minus_1); 90extern unsigned int sve_get_vl(void); 91extern void sve_set_vq(unsigned long vq_minus_1); 92extern void sme_set_vq(unsigned long vq_minus_1); | 52 53extern void fpsimd_flush_task_state(struct task_struct *target); 54extern void fpsimd_save_and_flush_cpu_state(void); 55 56static inline bool thread_sm_enabled(struct thread_struct *thread) 57{ 58 return system_supports_sme() && (thread->svcr & SYS_SVCR_EL0_SM_MASK); 59} --- 26 unchanged lines hidden (view full) --- 86 87extern void sve_save_state(void *state, u32 *pfpsr, int save_ffr); 88extern void sve_load_state(void const *state, u32 const *pfpsr, 89 int restore_ffr); 90extern void sve_flush_live(bool flush_ffr, unsigned long vq_minus_1); 91extern unsigned int sve_get_vl(void); 92extern void sve_set_vq(unsigned long vq_minus_1); 93extern void sme_set_vq(unsigned long vq_minus_1); |
94extern void za_save_state(void *state); 95extern void za_load_state(void const *state); |
|
93 94struct arm64_cpu_capabilities; 95extern void sve_kernel_enable(const struct arm64_cpu_capabilities *__unused); 96extern void sme_kernel_enable(const struct arm64_cpu_capabilities *__unused); 97extern void fa64_kernel_enable(const struct arm64_cpu_capabilities *__unused); 98 99extern u64 read_zcr_features(void); 100extern u64 read_smcr_features(void); --- 234 unchanged lines hidden --- | 96 97struct arm64_cpu_capabilities; 98extern void sve_kernel_enable(const struct arm64_cpu_capabilities *__unused); 99extern void sme_kernel_enable(const struct arm64_cpu_capabilities *__unused); 100extern void fa64_kernel_enable(const struct arm64_cpu_capabilities *__unused); 101 102extern u64 read_zcr_features(void); 103extern u64 read_smcr_features(void); --- 234 unchanged lines hidden --- |