arch/loongarch/include/asm/asm-prototypes.h

Source file repositories/reference/linux-study-clean/arch/loongarch/include/asm/asm-prototypes.h

File Facts

System
Linux kernel
Corpus path
arch/loongarch/include/asm/asm-prototypes.h
Extension
.h
Size
1207 bytes
Lines
43
Domain
Architecture Layer
Bucket
arch/loongarch
Inferred role
Architecture Layer: implementation source
Status
source 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.

Dependency Surface

Detected Declarations

Annotated Snippet

#include <linux/uaccess.h>
#include <asm/fpu.h>
#include <asm/lbt.h>
#include <asm/mmu_context.h>
#include <asm/page.h>
#include <asm/ftrace.h>
#include <asm-generic/asm-prototypes.h>

#ifdef CONFIG_ARCH_SUPPORTS_INT128
__int128_t __ashlti3(__int128_t a, int b);
__int128_t __ashrti3(__int128_t a, int b);
__int128_t __lshrti3(__int128_t a, int b);
#endif

asmlinkage void noinstr __no_stack_protector ret_from_fork(struct task_struct *prev,
							   struct pt_regs *regs);

asmlinkage void noinstr __no_stack_protector ret_from_kernel_thread(struct task_struct *prev,
								    struct pt_regs *regs,
								    int (*fn)(void *),
								    void *fn_arg);

struct kvm_run;
struct kvm_vcpu;
struct loongarch_fpu;

void kvm_exc_entry(void);
int  kvm_enter_guest(struct kvm_run *run, struct kvm_vcpu *vcpu);

void kvm_save_fpu(struct loongarch_fpu *fpu);
void kvm_restore_fpu(struct loongarch_fpu *fpu);

#ifdef CONFIG_CPU_HAS_LSX
void kvm_save_lsx(struct loongarch_fpu *fpu);
void kvm_restore_lsx(struct loongarch_fpu *fpu);
#endif

#ifdef CONFIG_CPU_HAS_LASX
void kvm_save_lasx(struct loongarch_fpu *fpu);
void kvm_restore_lasx(struct loongarch_fpu *fpu);
#endif

Annotation

Implementation Notes