arch/s390/include/asm/kvm_host.h
Source file repositories/reference/linux-study-clean/arch/s390/include/asm/kvm_host.h
File Facts
- System
- Linux kernel
- Corpus path
arch/s390/include/asm/kvm_host.h- Extension
.h- Size
- 20650 bytes
- Lines
- 779
- Domain
- Architecture Layer
- Bucket
- arch/s390
- 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.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hlinux/hrtimer.hlinux/interrupt.hlinux/kvm_types.hlinux/kvm.hlinux/seqlock.hlinux/module.hlinux/pci.hlinux/mmu_notifier.hasm/kvm_host_types.hasm/debug.hasm/cpu.hasm/fpu.hasm/isc.hasm/guarded_storage.h
Detected Declarations
struct kvm_vcpu_statstruct kvm_s390_interrupt_infostruct kvm_s390_irq_payloadstruct kvm_s390_local_interruptstruct kvm_s390_float_interruptstruct kvm_hw_wp_info_archstruct kvm_hw_bp_info_archstruct kvm_guestdbg_info_archstruct kvm_s390_pv_vcpustruct kvm_vcpu_archstruct kvm_vm_statstruct kvm_arch_memory_slotstruct s390_map_infostruct s390_io_adapterstruct kvm_s390_cpu_modelstruct kvm_s390_flcb2struct kvm_s390_cryptostruct kvm_s390_apcb0struct kvm_s390_apcb1struct kvm_s390_crypto_cbstruct kvm_s390_gisastruct kvm_s390_gibstruct sie_page2struct vsie_pagestruct kvm_s390_vsiestruct kvm_s390_gisa_iamstruct kvm_s390_gisa_interruptstruct kvm_s390_pvstruct kvm_s390_mmu_cachestruct kvm_archstruct kvm_arch_async_pfstruct zpci_kvm_hookenum irq_typesfunction kvm_is_error_hvafunction kvm_arch_async_page_present_queuedfunction sie64afunction kvm_arch_free_memslot
Annotated Snippet
struct kvm_vcpu_stat {
struct kvm_vcpu_stat_generic generic;
u64 exit_userspace;
u64 exit_null;
u64 exit_external_request;
u64 exit_io_request;
u64 exit_external_interrupt;
u64 exit_stop_request;
u64 exit_validity;
u64 exit_instruction;
u64 exit_pei;
u64 halt_no_poll_steal;
u64 instruction_lctl;
u64 instruction_lctlg;
u64 instruction_stctl;
u64 instruction_stctg;
u64 exit_program_interruption;
u64 exit_instr_and_program;
u64 exit_operation_exception;
u64 deliver_ckc;
u64 deliver_cputm;
u64 deliver_external_call;
u64 deliver_emergency_signal;
u64 deliver_service_signal;
u64 deliver_virtio;
u64 deliver_stop_signal;
u64 deliver_prefix_signal;
u64 deliver_restart_signal;
u64 deliver_program;
u64 deliver_io;
u64 deliver_machine_check;
u64 exit_wait_state;
u64 inject_ckc;
u64 inject_cputm;
u64 inject_external_call;
u64 inject_emergency_signal;
u64 inject_mchk;
u64 inject_pfault_init;
u64 inject_program;
u64 inject_restart;
u64 inject_set_prefix;
u64 inject_stop_signal;
u64 instruction_epsw;
u64 instruction_gs;
u64 instruction_io_other;
u64 instruction_lpsw;
u64 instruction_lpswe;
u64 instruction_lpswey;
u64 instruction_pfmf;
u64 instruction_ptff;
u64 instruction_sck;
u64 instruction_sckpf;
u64 instruction_stidp;
u64 instruction_spx;
u64 instruction_stpx;
u64 instruction_stap;
u64 instruction_iske;
u64 instruction_ri;
u64 instruction_rrbe;
u64 instruction_sske;
u64 instruction_ipte_interlock;
u64 instruction_stsi;
u64 instruction_stfl;
u64 instruction_tb;
u64 instruction_tpi;
u64 instruction_tprot;
u64 instruction_tsch;
u64 instruction_sie;
u64 instruction_essa;
u64 instruction_sthyi;
u64 instruction_sigp_sense;
u64 instruction_sigp_sense_running;
u64 instruction_sigp_external_call;
u64 instruction_sigp_emergency;
u64 instruction_sigp_cond_emergency;
u64 instruction_sigp_start;
u64 instruction_sigp_stop;
u64 instruction_sigp_stop_store_status;
u64 instruction_sigp_store_status;
u64 instruction_sigp_store_adtl_status;
u64 instruction_sigp_arch;
u64 instruction_sigp_prefix;
u64 instruction_sigp_restart;
u64 instruction_sigp_init_cpu_reset;
u64 instruction_sigp_cpu_reset;
u64 instruction_sigp_unknown;
u64 instruction_diagnose_10;
u64 instruction_diagnose_44;
u64 instruction_diagnose_9c;
u64 diag_9c_ignored;
Annotation
- Immediate include surface: `linux/types.h`, `linux/hrtimer.h`, `linux/interrupt.h`, `linux/kvm_types.h`, `linux/kvm.h`, `linux/seqlock.h`, `linux/module.h`, `linux/pci.h`.
- Detected declarations: `struct kvm_vcpu_stat`, `struct kvm_s390_interrupt_info`, `struct kvm_s390_irq_payload`, `struct kvm_s390_local_interrupt`, `struct kvm_s390_float_interrupt`, `struct kvm_hw_wp_info_arch`, `struct kvm_hw_bp_info_arch`, `struct kvm_guestdbg_info_arch`, `struct kvm_s390_pv_vcpu`, `struct kvm_vcpu_arch`.
- Atlas domain: Architecture Layer / arch/s390.
- Implementation status: source 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.