lib/raid/xor/riscv/xor-glue.c
Source file repositories/reference/linux-study-clean/lib/raid/xor/riscv/xor-glue.c
File Facts
- System
- Linux kernel
- Corpus path
lib/raid/xor/riscv/xor-glue.c- Extension
.c- Size
- 582 bytes
- Lines
- 26
- Domain
- Kernel Services
- Bucket
- lib
- Inferred role
- Kernel Services: implementation source
- Status
- source implementation candidate
Why This File Exists
Shared kernel service surface used by multiple subsystems, including helpers, cryptography, virtualization support, and async I/O infrastructure.
- Shared kernel service surface used by multiple subsystems, including helpers, cryptography, virtualization support, and async I/O infrastructure.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
asm/vector.hasm/switch_to.hasm/asm-prototypes.hxor_impl.hxor_arch.h
Detected Declarations
function xor_gen_vector
Annotated Snippet
// SPDX-License-Identifier: GPL-2.0-or-later
/*
* Copyright (C) 2021 SiFive
*/
#include <asm/vector.h>
#include <asm/switch_to.h>
#include <asm/asm-prototypes.h>
#include "xor_impl.h"
#include "xor_arch.h"
DO_XOR_BLOCKS(vector_inner, xor_regs_2_, xor_regs_3_, xor_regs_4_, xor_regs_5_);
static void xor_gen_vector(void *dest, void **srcs, unsigned int src_cnt,
unsigned int bytes)
{
kernel_vector_begin();
xor_gen_vector_inner(dest, srcs, src_cnt, bytes);
kernel_vector_end();
}
struct xor_block_template xor_block_rvv = {
.name = "rvv",
.xor_gen = xor_gen_vector,
};
Annotation
- Immediate include surface: `asm/vector.h`, `asm/switch_to.h`, `asm/asm-prototypes.h`, `xor_impl.h`, `xor_arch.h`.
- Detected declarations: `function xor_gen_vector`.
- Atlas domain: Kernel Services / lib.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.