diff options
author | K. Y. Srinivasan <kys@microsoft.com> | 2017-01-19 11:51:49 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-01-20 14:48:03 +0100 |
commit | 73638cddaad861a5ebb2b119d8b318d4bded8f8d (patch) | |
tree | e9d9d003f6b14b8fd7d29b4e99f2aa174659bd50 /arch/x86/hyperv | |
parent | d058fa7e98ff01a4b4750a2210fc19906db3cbe1 (diff) | |
download | talos-op-linux-73638cddaad861a5ebb2b119d8b318d4bded8f8d.tar.gz talos-op-linux-73638cddaad861a5ebb2b119d8b318d4bded8f8d.zip |
Drivers: hv: vmbus: Move the check for hypercall page setup
As part of the effort to separate out architecture specific code, move the
check for detecting if the hypercall page is setup.
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch/x86/hyperv')
-rw-r--r-- | arch/x86/hyperv/hv_init.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c index ce5fc7394814..d289bc29d282 100644 --- a/arch/x86/hyperv/hv_init.c +++ b/arch/x86/hyperv/hv_init.c @@ -235,3 +235,18 @@ void hyperv_report_panic(struct pt_regs *regs) wrmsrl(HV_X64_MSR_CRASH_CTL, HV_CRASH_CTL_CRASH_NOTIFY); } EXPORT_SYMBOL_GPL(hyperv_report_panic); + +bool hv_is_hypercall_page_setup(void) +{ + union hv_x64_msr_hypercall_contents hypercall_msr; + + /* Check if the hypercall page is setup */ + hypercall_msr.as_uint64 = 0; + rdmsrl(HV_X64_MSR_HYPERCALL, hypercall_msr.as_uint64); + + if (!hypercall_msr.enable) + return false; + + return true; +} +EXPORT_SYMBOL_GPL(hv_is_hypercall_page_setup); |