mshyperv.h (806c89273bab0c8af0202a6fb6279f36042cb2e6) mshyperv.h (7415aea6072bab15969b6c3c5b2a193d88095326)
1#ifndef _ASM_X86_MSHYPER_H
2#define _ASM_X86_MSHYPER_H
3
4#include <linux/types.h>
5#include <linux/atomic.h>
6#include <linux/nmi.h>
7#include <asm/io.h>
8#include <asm/hyperv.h>

--- 268 unchanged lines hidden (view full) ---

277 control |= (u64)rep_comp << HV_HYPERCALL_REP_START_OFFSET;
278
279 touch_nmi_watchdog();
280 } while (rep_comp < rep_count);
281
282 return status;
283}
284
1#ifndef _ASM_X86_MSHYPER_H
2#define _ASM_X86_MSHYPER_H
3
4#include <linux/types.h>
5#include <linux/atomic.h>
6#include <linux/nmi.h>
7#include <asm/io.h>
8#include <asm/hyperv.h>

--- 268 unchanged lines hidden (view full) ---

277 control |= (u64)rep_comp << HV_HYPERCALL_REP_START_OFFSET;
278
279 touch_nmi_watchdog();
280 } while (rep_comp < rep_count);
281
282 return status;
283}
284
285/*
286 * Hypervisor's notion of virtual processor ID is different from
287 * Linux' notion of CPU ID. This information can only be retrieved
288 * in the context of the calling CPU. Setup a map for easy access
289 * to this information.
290 */
291extern u32 *hv_vp_index;
292
293/**
294 * hv_cpu_number_to_vp_number() - Map CPU to VP.
295 * @cpu_number: CPU number in Linux terms
296 *
297 * This function returns the mapping between the Linux processor
298 * number and the hypervisor's virtual processor number, useful
299 * in making hypercalls and such that talk about specific
300 * processors.
301 *
302 * Return: Virtual processor number in Hyper-V terms
303 */
304static inline int hv_cpu_number_to_vp_number(int cpu_number)
305{
306 return hv_vp_index[cpu_number];
307}
308
285void hyperv_init(void);
286void hyperv_report_panic(struct pt_regs *regs);
287bool hv_is_hypercall_page_setup(void);
288void hyperv_cleanup(void);
289#else /* CONFIG_HYPERV */
290static inline void hyperv_init(void) {}
291static inline bool hv_is_hypercall_page_setup(void) { return false; }
292static inline void hyperv_cleanup(void) {}

--- 57 unchanged lines hidden ---
309void hyperv_init(void);
310void hyperv_report_panic(struct pt_regs *regs);
311bool hv_is_hypercall_page_setup(void);
312void hyperv_cleanup(void);
313#else /* CONFIG_HYPERV */
314static inline void hyperv_init(void) {}
315static inline bool hv_is_hypercall_page_setup(void) { return false; }
316static inline void hyperv_cleanup(void) {}

--- 57 unchanged lines hidden ---