hypervisor.h (3a6d1fcf9c8ed864c98e449a0b7696be6c838aea) | hypervisor.h (126780243806a6b6cf345b9b548f68010e921aec) |
---|---|
1/****************************************************************************** 2 * hypervisor.h 3 * 4 * Linux-specific hypervisor handling. 5 * 6 * Copyright (c) 2002, K A Fraser 7 * 8 * $FreeBSD$ 9 */ 10 | 1/****************************************************************************** 2 * hypervisor.h 3 * 4 * Linux-specific hypervisor handling. 5 * 6 * Copyright (c) 2002, K A Fraser 7 * 8 * $FreeBSD$ 9 */ 10 |
11#ifndef __HYPERVISOR_H__ 12#define __HYPERVISOR_H__ | 11#ifndef __XEN_HYPERVISOR_H__ 12#define __XEN_HYPERVISOR_H__ |
13 | 13 |
14#ifdef XENHVM 15 16#define is_running_on_xen() (HYPERVISOR_shared_info != NULL) 17 18#else 19 |
|
14#define is_running_on_xen() 1 15 | 20#define is_running_on_xen() 1 21 |
22#endif 23 |
|
16#ifdef PAE 17#ifndef CONFIG_X86_PAE 18#define CONFIG_X86_PAE 19#endif 20#endif 21 22#include <sys/cdefs.h> 23#include <sys/systm.h> 24#include <xen/interface/xen.h> 25#include <xen/interface/platform.h> 26#include <xen/interface/event_channel.h> 27#include <xen/interface/physdev.h> 28#include <xen/interface/sched.h> 29#include <xen/interface/callback.h> | 24#ifdef PAE 25#ifndef CONFIG_X86_PAE 26#define CONFIG_X86_PAE 27#endif 28#endif 29 30#include <sys/cdefs.h> 31#include <sys/systm.h> 32#include <xen/interface/xen.h> 33#include <xen/interface/platform.h> 34#include <xen/interface/event_channel.h> 35#include <xen/interface/physdev.h> 36#include <xen/interface/sched.h> 37#include <xen/interface/callback.h> |
38#include <xen/interface/memory.h> |
|
30#include <machine/xen/hypercall.h> 31 32#if defined(__amd64__) 33#define MULTI_UVMFLAGS_INDEX 2 34#define MULTI_UVMDOMID_INDEX 3 35#else 36#define MULTI_UVMFLAGS_INDEX 3 37#define MULTI_UVMDOMID_INDEX 4 --- 88 unchanged lines hidden (view full) --- 126static inline void 127MULTI_update_va_mapping( 128 multicall_entry_t *mcl, unsigned long va, 129 uint64_t new_val, unsigned long flags) 130{ 131 mcl->op = __HYPERVISOR_update_va_mapping; 132 mcl->args[0] = va; 133#if defined(__amd64__) | 39#include <machine/xen/hypercall.h> 40 41#if defined(__amd64__) 42#define MULTI_UVMFLAGS_INDEX 2 43#define MULTI_UVMDOMID_INDEX 3 44#else 45#define MULTI_UVMFLAGS_INDEX 3 46#define MULTI_UVMDOMID_INDEX 4 --- 88 unchanged lines hidden (view full) --- 135static inline void 136MULTI_update_va_mapping( 137 multicall_entry_t *mcl, unsigned long va, 138 uint64_t new_val, unsigned long flags) 139{ 140 mcl->op = __HYPERVISOR_update_va_mapping; 141 mcl->args[0] = va; 142#if defined(__amd64__) |
134 mcl->args[1] = new_val.pte; | 143 mcl->args[1] = new_val; |
135#elif defined(PAE) 136 mcl->args[1] = (uint32_t)(new_val & 0xffffffff) ; 137 mcl->args[2] = (uint32_t)(new_val >> 32); 138#else 139 mcl->args[1] = new_val; 140 mcl->args[2] = 0; 141#endif 142 mcl->args[MULTI_UVMFLAGS_INDEX] = flags; 143} 144 | 144#elif defined(PAE) 145 mcl->args[1] = (uint32_t)(new_val & 0xffffffff) ; 146 mcl->args[2] = (uint32_t)(new_val >> 32); 147#else 148 mcl->args[1] = new_val; 149 mcl->args[2] = 0; 150#endif 151 mcl->args[MULTI_UVMFLAGS_INDEX] = flags; 152} 153 |
145#endif /* __HYPERVISOR_H__ */ | 154#endif /* __XEN_HYPERVISOR_H__ */ |