1/****************************************************************************** 2 * hypervisor.h 3 * 4 * Linux-specific hypervisor handling. 5 * 6 * Copyright (c) 2002, K A Fraser 7 */ 8 9#ifndef __XEN_HYPERVISOR_H__ 10#define __XEN_HYPERVISOR_H__ 11 12#include <sys/cdefs.h> 13#include <sys/systm.h> 14#include <contrib/xen/xen.h> 15#include <contrib/xen/platform.h> 16#include <contrib/xen/event_channel.h> 17#include <contrib/xen/physdev.h> 18#include <contrib/xen/sched.h> 19#include <contrib/xen/callback.h> 20#include <contrib/xen/memory.h> 21#include <contrib/xen/hvm/dm_op.h> 22#include <machine/xen/hypercall.h> 23 24static inline int 25HYPERVISOR_console_write(const char *str, int count) 26{ 27 return HYPERVISOR_console_io(CONSOLEIO_write, count, str); 28} 29 30static inline int 31HYPERVISOR_yield(void) 32{ 33 34 return (HYPERVISOR_sched_op(SCHEDOP_yield, NULL)); 35} 36 37static inline void 38HYPERVISOR_shutdown(unsigned int reason) 39{ 40 struct sched_shutdown sched_shutdown = { 41 .reason = reason 42 }; 43 44 HYPERVISOR_sched_op(SCHEDOP_shutdown, &sched_shutdown); 45} 46 47#endif /* __XEN_HYPERVISOR_H__ */ 48