include/hyperv/hvhdk_mini.h
Source file repositories/reference/linux-study-clean/include/hyperv/hvhdk_mini.h
File Facts
- System
- Linux kernel
- Corpus path
include/hyperv/hvhdk_mini.h- Extension
.h- Size
- 13097 bytes
- Lines
- 551
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
hvgdk_mini.h
Detected Declarations
struct hv_partition_property_vmm_capabilitiesstruct hv_input_get_system_propertystruct hv_output_get_system_propertystruct hv_sleep_state_infostruct hv_input_set_system_propertystruct hv_input_enter_sleep_statestruct hv_input_map_stats_pagestruct hv_input_map_stats_page2struct hv_output_map_stats_pagestruct hv_input_unmap_stats_pagestruct hv_proximity_domain_flagsstruct hv_proximity_domain_infostruct hv_deposit_memorystruct hv_input_withdraw_memorystruct hv_output_withdraw_memorystruct hv_input_map_gpa_pagesstruct hv_input_get_gpa_pages_access_statestruct hv_partition_event_root_crashdump_inputstruct hv_input_disable_hyp_exstruct hv_crashdump_areastruct hv_input_notify_partition_eventstruct hv_input_get_logical_processor_run_timestruct hv_output_get_logical_processor_run_timestruct hv_lp_startup_statusstruct hv_input_add_logical_processorstruct hv_output_add_logical_processorstruct hv_create_vpstruct hv_device_interrupt_descriptorstruct hv_input_map_device_interruptstruct hv_output_map_device_interruptstruct hv_input_unmap_device_interruptstruct hv_send_ipi_exenum hv_generic_set_formatenum hv_scheduler_typeenum hv_stats_area_typeenum hv_stats_object_typeenum hv_partition_property_codeenum hv_snp_statusenum hv_system_propertyenum hv_sleep_stateenum hv_dynamic_processor_feature_propertyenum hv_crashdump_actionenum hv_partition_eventenum hv_interrupt_trigger_modeenum hv_device_type
Annotated Snippet
struct hv_partition_property_vmm_capabilities {
u16 bank_count;
u16 reserved[3];
union {
u64 as_uint64[HV_PARTITION_VMM_CAPABILITIES_BANK_COUNT];
struct {
u64 map_gpa_preserve_adjustable: 1;
u64 vmm_can_provide_overlay_gpfn: 1;
u64 vp_affinity_property: 1;
#if IS_ENABLED(CONFIG_ARM64)
u64 vmm_can_provide_gic_overlay_locations: 1;
#else
u64 reservedbit3: 1;
#endif
u64 assignable_synthetic_proc_features: 1;
u64 reservedbit5: 1;
u64 vmm_enable_integrated_scheduler : 1;
u64 reserved0: HV_PARTITION_VMM_CAPABILITIES_RESERVED_BITFIELD_COUNT;
} __packed;
};
} __packed;
enum hv_snp_status {
HV_SNP_STATUS_NONE = 0,
HV_SNP_STATUS_AVAILABLE = 1,
HV_SNP_STATUS_INCOMPATIBLE = 2,
HV_SNP_STATUS_PSP_UNAVAILABLE = 3,
HV_SNP_STATUS_PSP_INIT_FAILED = 4,
HV_SNP_STATUS_PSP_BAD_FW_VERSION = 5,
HV_SNP_STATUS_BAD_CONFIGURATION = 6,
HV_SNP_STATUS_PSP_FW_UPDATE_IN_PROGRESS = 7,
HV_SNP_STATUS_PSP_RB_INIT_FAILED = 8,
HV_SNP_STATUS_PSP_PLATFORM_STATUS_FAILED = 9,
HV_SNP_STATUS_PSP_INIT_LATE_FAILED = 10,
};
enum hv_system_property {
/* Add more values when needed */
HV_SYSTEM_PROPERTY_SLEEP_STATE = 3,
HV_SYSTEM_PROPERTY_SCHEDULER_TYPE = 15,
HV_DYNAMIC_PROCESSOR_FEATURE_PROPERTY = 21,
HV_SYSTEM_PROPERTY_CRASHDUMPAREA = 47,
};
#define HV_PFN_RANGE_PGBITS 24 /* HV_SPA_PAGE_RANGE_ADDITIONAL_PAGES_BITS */
union hv_pfn_range { /* HV_SPA_PAGE_RANGE */
u64 as_uint64;
struct {
/* 39:0: base pfn. 63:40: additional pages */
u64 base_pfn : 64 - HV_PFN_RANGE_PGBITS;
u64 add_pfns : HV_PFN_RANGE_PGBITS;
} __packed;
};
enum hv_sleep_state {
HV_SLEEP_STATE_S1 = 1,
HV_SLEEP_STATE_S2 = 2,
HV_SLEEP_STATE_S3 = 3,
HV_SLEEP_STATE_S4 = 4,
HV_SLEEP_STATE_S5 = 5,
/*
* After hypervisor has received this, any follow up sleep
* state registration requests will be rejected.
*/
HV_SLEEP_STATE_LOCK = 6
};
enum hv_dynamic_processor_feature_property {
/* Add more values when needed */
HV_X64_DYNAMIC_PROCESSOR_FEATURE_MAX_ENCRYPTED_PARTITIONS = 13,
HV_X64_DYNAMIC_PROCESSOR_FEATURE_SNP_STATUS = 16,
};
struct hv_input_get_system_property {
u32 property_id; /* enum hv_system_property */
union {
u32 as_uint32;
#if IS_ENABLED(CONFIG_X86)
/* enum hv_dynamic_processor_feature_property */
u32 hv_processor_feature;
#endif
/* More fields to be filled in when needed */
};
} __packed;
struct hv_output_get_system_property {
union {
u32 scheduler_type; /* enum hv_scheduler_type */
#if IS_ENABLED(CONFIG_X86)
u64 hv_processor_feature_value;
Annotation
- Immediate include surface: `hvgdk_mini.h`.
- Detected declarations: `struct hv_partition_property_vmm_capabilities`, `struct hv_input_get_system_property`, `struct hv_output_get_system_property`, `struct hv_sleep_state_info`, `struct hv_input_set_system_property`, `struct hv_input_enter_sleep_state`, `struct hv_input_map_stats_page`, `struct hv_input_map_stats_page2`, `struct hv_output_map_stats_page`, `struct hv_input_unmap_stats_page`.
- Atlas domain: Repository Root And Misc / include.
- 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.