mirror of
https://github.com/linux-msm/laptops-kernel.git
synced 2026-08-13 14:19:53 -07:00
raid6: riscv: Allow code to be compiled in userspace
To support userspace raid6test, this patch adds __KERNEL__ ifdef for kernel header inclusions also userspace wrapper definitions to allow code to be compiled in userspace. This patch also drops the NSIZE macro, instead of using the vector length, which can work for both kernel and user space. Reviewed-by: Alexandre Ghiti <alexghiti@rivosinc.com> Signed-off-by: Chunyan Zhang <zhangchunyan@iscas.ac.cn> Link: https://patch.msgid.link/20250718072711.3865118-5-zhangchunyan@iscas.ac.cn Signed-off-by: Paul Walmsley <pjw@kernel.org>
This commit is contained in:
committed by
Paul Walmsley
parent
6fcce9f028
commit
3c58d7a513
@@ -4,13 +4,8 @@
|
||||
* Author: Chunyan Zhang <zhangchunyan@iscas.ac.cn>
|
||||
*/
|
||||
|
||||
#include <asm/vector.h>
|
||||
#include <linux/raid/pq.h>
|
||||
|
||||
static int rvv_has_vector(void)
|
||||
{
|
||||
return has_vector();
|
||||
}
|
||||
#include "rvv.h"
|
||||
|
||||
static void __raid6_2data_recov_rvv(int bytes, u8 *p, u8 *q, u8 *dp,
|
||||
u8 *dq, const u8 *pbmul,
|
||||
|
||||
+152
-145
File diff suppressed because it is too large
Load Diff
@@ -7,6 +7,23 @@
|
||||
* Definitions for RISC-V RAID-6 code
|
||||
*/
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#include <asm/vector.h>
|
||||
#else
|
||||
#define kernel_vector_begin()
|
||||
#define kernel_vector_end()
|
||||
#include <sys/auxv.h>
|
||||
#include <asm/hwcap.h>
|
||||
#define has_vector() (getauxval(AT_HWCAP) & COMPAT_HWCAP_ISA_V)
|
||||
#endif
|
||||
|
||||
#include <linux/raid/pq.h>
|
||||
|
||||
static int rvv_has_vector(void)
|
||||
{
|
||||
return has_vector();
|
||||
}
|
||||
|
||||
#define RAID6_RVV_WRAPPER(_n) \
|
||||
static void raid6_rvv ## _n ## _gen_syndrome(int disks, \
|
||||
size_t bytes, void **ptrs) \
|
||||
|
||||
Reference in New Issue
Block a user