arch/powerpc/kvm/book3s_pr.c
Source file repositories/reference/linux-study-clean/arch/powerpc/kvm/book3s_pr.c
File Facts
- System
- Linux kernel
- Corpus path
arch/powerpc/kvm/book3s_pr.c- Extension
.c- Size
- 55175 bytes
- Lines
- 2116
- Domain
- Architecture Layer
- Bucket
- arch/powerpc
- 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.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Allocates kernel memory; connect allocation flags and lifetime to context constraints.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/kvm_host.hlinux/export.hlinux/err.hlinux/slab.hasm/reg.hasm/cputable.hasm/cacheflush.hlinux/uaccess.hasm/interrupt.hasm/io.hasm/kvm_ppc.hasm/kvm_book3s.hasm/mmu_context.hasm/switch_to.hasm/firmware.hasm/setup.hlinux/gfp.hlinux/sched.hlinux/vmalloc.hlinux/highmem.hlinux/module.hlinux/miscdevice.hasm/asm-prototypes.hasm/tm.hbook3s.htrace_pr.h
Detected Declarations
function kvmppc_is_split_realfunction kvmppc_fixup_split_realfunction kvmppc_unfixup_split_realfunction kvmppc_inject_interrupt_prfunction kvmppc_core_vcpu_load_prfunction kvmppc_core_vcpu_put_prfunction kvmppc_copy_to_svcpufunction kvmppc_recalc_shadow_msrfunction kvmppc_copy_from_svcpufunction kvmppc_save_tm_sprsfunction kvmppc_restore_tm_sprsfunction kvmppc_handle_lost_math_extsfunction kvmppc_save_tm_prfunction kvmppc_restore_tm_prfunction kvmppc_core_check_requests_prfunction do_kvm_unmap_gfnfunction kvm_unmap_gfn_range_prfunction kvm_age_gfn_prfunction kvm_test_age_gfn_prfunction kvmppc_set_msr_prfunction kvmppc_set_pvr_prfunction kvmppc_patch_dcbzfunction kvmppc_visible_gpafunction kvmppc_handle_pagefaultfunction kvmppc_giveup_extfunction kvmppc_giveup_facfunction kvmppc_handle_extfunction kvmppc_handle_lost_extfunction kvmppc_trigger_fac_interruptfunction kvmppc_emulate_facfunction kvmppc_handle_facfunction kvmppc_set_fscrfunction kvmppc_setup_debugfunction kvmppc_clear_debugfunction kvmppc_exit_pr_progintfunction kvmppc_handle_exit_prfunction kvm_arch_vcpu_ioctl_get_sregs_prfunction kvm_arch_vcpu_ioctl_set_sregs_prfunction kvmppc_get_one_reg_prfunction kvmppc_set_lpcr_prfunction kvmppc_set_one_reg_prfunction kvmppc_core_vcpu_create_prfunction kvmppc_core_vcpu_free_prfunction kvmppc_vcpu_run_prfunction Getfunction kvmppc_core_flush_memslot_prfunction kvmppc_core_prepare_memory_region_prfunction kvmppc_core_commit_memory_region_pr
Annotated Snippet
module_init(kvmppc_book3s_init_pr);
module_exit(kvmppc_book3s_exit_pr);
MODULE_DESCRIPTION("KVM on Book3S without using hypervisor mode");
MODULE_LICENSE("GPL");
MODULE_ALIAS_MISCDEV(KVM_MINOR);
MODULE_ALIAS("devname:kvm");
#endif
Annotation
- Immediate include surface: `linux/kvm_host.h`, `linux/export.h`, `linux/err.h`, `linux/slab.h`, `asm/reg.h`, `asm/cputable.h`, `asm/cacheflush.h`, `linux/uaccess.h`.
- Detected declarations: `function kvmppc_is_split_real`, `function kvmppc_fixup_split_real`, `function kvmppc_unfixup_split_real`, `function kvmppc_inject_interrupt_pr`, `function kvmppc_core_vcpu_load_pr`, `function kvmppc_core_vcpu_put_pr`, `function kvmppc_copy_to_svcpu`, `function kvmppc_recalc_shadow_msr`, `function kvmppc_copy_from_svcpu`, `function kvmppc_save_tm_sprs`.
- Atlas domain: Architecture Layer / arch/powerpc.
- Implementation status: integration implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
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.