arch/riscv/crypto/aes-riscv64-glue.c
Source file repositories/reference/linux-study-clean/arch/riscv/crypto/aes-riscv64-glue.c
File Facts
- System
- Linux kernel
- Corpus path
arch/riscv/crypto/aes-riscv64-glue.c- Extension
.c- Size
- 17103 bytes
- Lines
- 567
- Domain
- Architecture Layer
- Bucket
- arch/riscv
- Inferred role
- Architecture Layer: exported/initcall integration point
- Status
- integration implementation candidate
Why This File Exists
CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- Exports symbols or registers init work; inspect boot/module ordering and who consumes the exported contract.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
asm/simd.hasm/vector.hcrypto/aes.hcrypto/internal/simd.hcrypto/internal/skcipher.hcrypto/scatterwalk.hcrypto/xts.hlinux/linkage.hlinux/minmax.hlinux/module.h
Detected Declarations
struct riscv64_aes_xts_ctxfunction riscv64_aes_setkeyfunction riscv64_aes_setkey_skcipherfunction riscv64_aes_ecb_cryptfunction riscv64_aes_ecb_encryptfunction riscv64_aes_ecb_decryptfunction riscv64_aes_cbc_cryptfunction riscv64_aes_cbc_encryptfunction riscv64_aes_cbc_decryptfunction riscv64_aes_cbc_cts_cryptfunction riscv64_aes_cbc_cts_encryptfunction riscv64_aes_cbc_cts_decryptfunction riscv64_aes_ctr_cryptfunction riscv64_aes_xts_setkeyfunction riscv64_aes_xts_cryptfunction riscv64_aes_xts_encryptfunction riscv64_aes_xts_decryptfunction riscv64_aes_xts_supportedfunction riscv64_aes_mod_initfunction riscv64_aes_mod_exitmodule init riscv64_aes_mod_init
Annotated Snippet
module_init(riscv64_aes_mod_init);
module_exit(riscv64_aes_mod_exit);
MODULE_DESCRIPTION("AES-ECB/CBC/CTS/CTR/XTS (RISC-V accelerated)");
MODULE_AUTHOR("Jerry Shih <jerry.shih@sifive.com>");
MODULE_LICENSE("GPL");
MODULE_ALIAS_CRYPTO("aes");
MODULE_ALIAS_CRYPTO("ecb(aes)");
MODULE_ALIAS_CRYPTO("cbc(aes)");
MODULE_ALIAS_CRYPTO("cts(cbc(aes))");
MODULE_ALIAS_CRYPTO("ctr(aes)");
MODULE_ALIAS_CRYPTO("xts(aes)");
Annotation
- Immediate include surface: `asm/simd.h`, `asm/vector.h`, `crypto/aes.h`, `crypto/internal/simd.h`, `crypto/internal/skcipher.h`, `crypto/scatterwalk.h`, `crypto/xts.h`, `linux/linkage.h`.
- Detected declarations: `struct riscv64_aes_xts_ctx`, `function riscv64_aes_setkey`, `function riscv64_aes_setkey_skcipher`, `function riscv64_aes_ecb_crypt`, `function riscv64_aes_ecb_encrypt`, `function riscv64_aes_ecb_decrypt`, `function riscv64_aes_cbc_crypt`, `function riscv64_aes_cbc_encrypt`, `function riscv64_aes_cbc_decrypt`, `function riscv64_aes_cbc_cts_crypt`.
- Atlas domain: Architecture Layer / arch/riscv.
- Implementation status: integration 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.