1 /* SPDX-License-Identifier: GPL-2.0 */ 1 2 3 /* 4 * Linux-specific definitions for managing int 5 * Hyper-V hypervisor. The definitions in this 6 * the ARM64 architecture. See include/asm-ge 7 * definitions are that architecture independe 8 * 9 * Definitions that are specified in the Hyper 10 * Spec (TLFS) should not go in this file, but 11 * hyperv-tlfs.h. 12 * 13 * Copyright (C) 2021, Microsoft, Inc. 14 * 15 * Author : Michael Kelley <mikelley@microsoft 16 */ 17 18 #ifndef _ASM_MSHYPERV_H 19 #define _ASM_MSHYPERV_H 20 21 #include <linux/types.h> 22 #include <linux/arm-smccc.h> 23 #include <asm/hyperv-tlfs.h> 24 25 /* 26 * Declare calls to get and set Hyper-V VP reg 27 * requires a hypercall. 28 */ 29 30 void hv_set_vpreg(u32 reg, u64 value); 31 u64 hv_get_vpreg(u32 reg); 32 void hv_get_vpreg_128(u32 reg, struct hv_get_v 33 34 static inline void hv_set_msr(unsigned int reg 35 { 36 hv_set_vpreg(reg, value); 37 } 38 39 static inline u64 hv_get_msr(unsigned int reg) 40 { 41 return hv_get_vpreg(reg); 42 } 43 44 /* SMCCC hypercall parameters */ 45 #define HV_SMCCC_FUNC_NUMBER 1 46 #define HV_FUNC_ID ARM_SMCCC_CALL_VAL( 47 ARM_SMCCC_STD_ 48 ARM_SMCCC_SMC_ 49 ARM_SMCCC_OWNE 50 HV_SMCCC_FUNC_ 51 52 #include <asm-generic/mshyperv.h> 53 54 #endif 55
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.