arch/arm64/kvm/hyp/vgic-v2-cpuif-proxy.c
Source file repositories/reference/linux-study-clean/arch/arm64/kvm/hyp/vgic-v2-cpuif-proxy.c
File Facts
- System
- Linux kernel
- Corpus path
arch/arm64/kvm/hyp/vgic-v2-cpuif-proxy.c- Extension
.c- Size
- 2200 bytes
- Lines
- 94
- Domain
- Architecture Layer
- Bucket
- arch/arm64
- 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
hyp/adjust_pc.hlinux/compiler.hlinux/irqchip/arm-gic.hlinux/kvm_host.hlinux/swab.hasm/kvm_emulate.hasm/kvm_hyp.hasm/kvm_mmu.h
Detected Declarations
function Copyrightfunction __vgic_v2_perform_cpuif_access
Annotated Snippet
if (__is_be(vcpu)) {
/* guest pre-swabbed data, undo this for writel() */
data = __kvm_swab32(data);
}
writel_relaxed(data, addr);
} else {
u32 data = readl_relaxed(addr);
if (__is_be(vcpu)) {
/* guest expects swabbed data */
data = __kvm_swab32(data);
}
vcpu_set_reg(vcpu, rd, data);
}
__kvm_skip_instr(vcpu);
return 1;
}
Annotation
- Immediate include surface: `hyp/adjust_pc.h`, `linux/compiler.h`, `linux/irqchip/arm-gic.h`, `linux/kvm_host.h`, `linux/swab.h`, `asm/kvm_emulate.h`, `asm/kvm_hyp.h`, `asm/kvm_mmu.h`.
- Detected declarations: `function Copyright`, `function __vgic_v2_perform_cpuif_access`.
- Atlas domain: Architecture Layer / arch/arm64.
- 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.