fpsimd.h (c37fe6aff89cb0d842993fe2f69e48bf3ebe0ab0) fpsimd.h (ad4711f962e08eff8d6e9b03f9670b1af6ea9395)
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>

--- 55 unchanged lines hidden (view full) ---

64static inline void *sve_pffr(struct thread_struct *thread)
65{
66 return (char *)thread->sve_state + sve_ffr_offset(thread->sve_vl);
67}
68
69extern void sve_save_state(void *state, u32 *pfpsr);
70extern void sve_load_state(void const *state, u32 const *pfpsr,
71 unsigned long vq_minus_1);
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>

--- 55 unchanged lines hidden (view full) ---

64static inline void *sve_pffr(struct thread_struct *thread)
65{
66 return (char *)thread->sve_state + sve_ffr_offset(thread->sve_vl);
67}
68
69extern void sve_save_state(void *state, u32 *pfpsr);
70extern void sve_load_state(void const *state, u32 const *pfpsr,
71 unsigned long vq_minus_1);
72extern void sve_flush_live(void);
72extern void sve_flush_live(unsigned long vq_minus_1);
73extern void sve_load_from_fpsimd_state(struct user_fpsimd_state const *state,
74 unsigned long vq_minus_1);
75extern unsigned int sve_get_vl(void);
76extern void sve_set_vq(unsigned long vq_minus_1);
77
78struct arm64_cpu_capabilities;
79extern void sve_kernel_enable(const struct arm64_cpu_capabilities *__unused);
80

--- 107 unchanged lines hidden ---
73extern void sve_load_from_fpsimd_state(struct user_fpsimd_state const *state,
74 unsigned long vq_minus_1);
75extern unsigned int sve_get_vl(void);
76extern void sve_set_vq(unsigned long vq_minus_1);
77
78struct arm64_cpu_capabilities;
79extern void sve_kernel_enable(const struct arm64_cpu_capabilities *__unused);
80

--- 107 unchanged lines hidden ---