drivers/hv/mshv.h

Source file repositories/reference/linux-study-clean/drivers/hv/mshv.h

File Facts

System
Linux kernel
Corpus path
drivers/hv/mshv.h
Extension
.h
Size
775 bytes
Lines
29
Domain
Driver Families
Bucket
drivers/hv
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef _MSHV_H_
#define _MSHV_H_

#include <linux/stddef.h>
#include <linux/string.h>
#include <hyperv/hvhdk.h>

#define mshv_field_nonzero(STRUCT, MEMBER) \
	memchr_inv(&((STRUCT).MEMBER), \
		   0, sizeof_field(typeof(STRUCT), MEMBER))

int hv_call_get_vp_registers(u32 vp_index, u64 partition_id, u16 count,
			     union hv_input_vtl input_vtl,
			     struct hv_register_assoc *registers);

int hv_call_set_vp_registers(u32 vp_index, u64 partition_id, u16 count,
			     union hv_input_vtl input_vtl,
			     struct hv_register_assoc *registers);

int hv_call_get_partition_property(u64 partition_id, u64 property_code,
				   u64 *property_value);

#endif /* _MSHV_H */

Annotation

Implementation Notes