arch/loongarch/include/asm/inst.h
Source file repositories/reference/linux-study-clean/arch/loongarch/include/asm/inst.h
File Facts
- System
- Linux kernel
- Corpus path
arch/loongarch/include/asm/inst.h- Extension
.h- Size
- 20926 bytes
- Lines
- 810
- 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.
- CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/bitops.hlinux/types.hasm/asm.hasm/ptrace.h
Detected Declarations
struct reg0i15_formatstruct reg0i26_formatstruct reg1i20_formatstruct reg1i21_formatstruct reg2_formatstruct reg2i5_formatstruct reg2i6_formatstruct reg2i12_formatstruct reg2i14_formatstruct reg2i16_formatstruct reg2bstrd_formatstruct reg2csr_formatstruct reg3_formatstruct reg3sa2_formatstruct pt_regsenum reg0i15_openum reg0i26_openum reg1i20_openum reg1i21_openum reg2_openum reg2i5_openum reg2i6_openum reg2i12_openum reg2i14_openum reg2i16_openum reg2bstrd_openum reg3_openum reg3sa2_openum loongarch_gprfunction is_imm_negativefunction is_break_insfunction is_pc_insfunction is_branch_insfunction is_ra_save_insfunction is_stack_alloc_insfunction is_self_loop_insfunction signed_imm_checkfunction unsigned_imm_checkfunction emit_jirl
Annotated Snippet
struct reg0i15_format {
unsigned int immediate : 15;
unsigned int opcode : 17;
};
struct reg0i26_format {
unsigned int immediate_h : 10;
unsigned int immediate_l : 16;
unsigned int opcode : 6;
};
struct reg1i20_format {
unsigned int rd : 5;
unsigned int immediate : 20;
unsigned int opcode : 7;
};
struct reg1i21_format {
unsigned int immediate_h : 5;
unsigned int rj : 5;
unsigned int immediate_l : 16;
unsigned int opcode : 6;
};
struct reg2_format {
unsigned int rd : 5;
unsigned int rj : 5;
unsigned int opcode : 22;
};
struct reg2i5_format {
unsigned int rd : 5;
unsigned int rj : 5;
unsigned int immediate : 5;
unsigned int opcode : 17;
};
struct reg2i6_format {
unsigned int rd : 5;
unsigned int rj : 5;
unsigned int immediate : 6;
unsigned int opcode : 16;
};
struct reg2i12_format {
unsigned int rd : 5;
unsigned int rj : 5;
unsigned int immediate : 12;
unsigned int opcode : 10;
};
struct reg2i14_format {
unsigned int rd : 5;
unsigned int rj : 5;
unsigned int immediate : 14;
unsigned int opcode : 8;
};
struct reg2i16_format {
unsigned int rd : 5;
unsigned int rj : 5;
unsigned int immediate : 16;
unsigned int opcode : 6;
};
struct reg2bstrd_format {
unsigned int rd : 5;
unsigned int rj : 5;
unsigned int lsbd : 6;
unsigned int msbd : 6;
unsigned int opcode : 10;
};
struct reg2csr_format {
unsigned int rd : 5;
unsigned int rj : 5;
unsigned int csr : 14;
unsigned int opcode : 8;
};
struct reg3_format {
unsigned int rd : 5;
unsigned int rj : 5;
unsigned int rk : 5;
unsigned int opcode : 17;
};
struct reg3sa2_format {
unsigned int rd : 5;
unsigned int rj : 5;
Annotation
- Immediate include surface: `linux/bitops.h`, `linux/types.h`, `asm/asm.h`, `asm/ptrace.h`.
- Detected declarations: `struct reg0i15_format`, `struct reg0i26_format`, `struct reg1i20_format`, `struct reg1i21_format`, `struct reg2_format`, `struct reg2i5_format`, `struct reg2i6_format`, `struct reg2i12_format`, `struct reg2i14_format`, `struct reg2i16_format`.
- Atlas domain: Architecture Layer / arch/loongarch.
- 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.