summaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/hypervisor.h
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2017-08-30 23:15:31 +0200
committerMark Brown <broonie@kernel.org>2017-08-30 23:15:31 +0200
commitb388dc1f62a9bdd9c4758a0664e61d0f9a9da519 (patch)
tree696fd3c245700ee59ebcf3a65b90f8773b904624 /arch/x86/include/asm/hypervisor.h
parentASoC: remove duplicate definition of dapm_routes/num_dapm_routes (diff)
parentLinux 4.13-rc7 (diff)
downloadlinux-b388dc1f62a9bdd9c4758a0664e61d0f9a9da519.tar.xz
linux-b388dc1f62a9bdd9c4758a0664e61d0f9a9da519.zip
Merge tag 'v4.13-rc7' into asoc-component
Linux 4.13-rc7
Diffstat (limited to 'arch/x86/include/asm/hypervisor.h')
-rw-r--r--arch/x86/include/asm/hypervisor.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/x86/include/asm/hypervisor.h b/arch/x86/include/asm/hypervisor.h
index 21126155a739..0ead9dbb9130 100644
--- a/arch/x86/include/asm/hypervisor.h
+++ b/arch/x86/include/asm/hypervisor.h
@@ -43,6 +43,9 @@ struct hypervisor_x86 {
/* pin current vcpu to specified physical cpu (run rarely) */
void (*pin_vcpu)(int);
+
+ /* called during init_mem_mapping() to setup early mappings. */
+ void (*init_mem_mapping)(void);
};
extern const struct hypervisor_x86 *x86_hyper;
@@ -57,8 +60,15 @@ extern const struct hypervisor_x86 x86_hyper_kvm;
extern void init_hypervisor_platform(void);
extern bool hypervisor_x2apic_available(void);
extern void hypervisor_pin_vcpu(int cpu);
+
+static inline void hypervisor_init_mem_mapping(void)
+{
+ if (x86_hyper && x86_hyper->init_mem_mapping)
+ x86_hyper->init_mem_mapping();
+}
#else
static inline void init_hypervisor_platform(void) { }
static inline bool hypervisor_x2apic_available(void) { return false; }
+static inline void hypervisor_init_mem_mapping(void) { }
#endif /* CONFIG_HYPERVISOR_GUEST */
#endif /* _ASM_X86_HYPERVISOR_H */