ia64/xen-unstable

annotate linux-2.6-xen-sparse/include/asm-ia64/hypercall.h @ 12794:9787cb7262e8

[IA64] changed foreign domain page mapping semantic.

x86 foreign HVM domain page mapping semantic was changed to use gmfn
instead mfn. It applies to domains with auto_translated_mode enabled,
and all ia64 domains enable auto_translated_mode. This patch changes
ia64 foreign domain page mapping to use gmfn and fixes ia64 domU buidler.
However this patch breaks domain save/restore/dump-core.
They should also be fixed-up

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
author awilliam@xenbuild.aw
date Tue Dec 05 10:59:32 2006 -0700 (2006-12-05)
parents 52e6bf6dc744
children 01ea554f1c5e
rev   line source
djm@7031 1 /******************************************************************************
djm@7031 2 * hypercall.h
djm@7031 3 *
djm@7031 4 * Linux-specific hypervisor handling.
djm@7031 5 *
djm@7031 6 * Copyright (c) 2002-2004, K A Fraser
djm@7031 7 *
kaf24@9386 8 * This program is free software; you can redistribute it and/or
kaf24@9386 9 * modify it under the terms of the GNU General Public License version 2
kaf24@9386 10 * as published by the Free Software Foundation; or, when distributed
kaf24@9386 11 * separately from the Linux kernel or incorporated into other
kaf24@9386 12 * software packages, subject to the following license:
djm@7031 13 *
djm@7031 14 * Permission is hereby granted, free of charge, to any person obtaining a copy
djm@7031 15 * of this source file (the "Software"), to deal in the Software without
djm@7031 16 * restriction, including without limitation the rights to use, copy, modify,
djm@7031 17 * merge, publish, distribute, sublicense, and/or sell copies of the Software,
djm@7031 18 * and to permit persons to whom the Software is furnished to do so, subject to
djm@7031 19 * the following conditions:
djm@7031 20 *
djm@7031 21 * The above copyright notice and this permission notice shall be included in
djm@7031 22 * all copies or substantial portions of the Software.
djm@7031 23 *
djm@7031 24 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
djm@7031 25 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
djm@7031 26 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
djm@7031 27 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
djm@7031 28 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
djm@7031 29 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
djm@7031 30 * IN THE SOFTWARE.
djm@7031 31 */
djm@7031 32
djm@7031 33 #ifndef __HYPERCALL_H__
djm@7031 34 #define __HYPERCALL_H__
kaf24@7205 35
cl349@9540 36 #ifndef __HYPERVISOR_H__
cl349@9540 37 # error "please don't include this file directly"
cl349@9540 38 #endif
djm@7031 39
awilliam@11702 40 #include <asm/xen/xcom_hcall.h>
awilliam@11702 41 struct xencomm_handle;
awilliam@11702 42
djm@7031 43 /*
djm@7031 44 * Assembler stubs for hyper-calls.
djm@7031 45 */
djm@7031 46
awilliam@8905 47 #define _hypercall0(type, name) \
awilliam@8905 48 ({ \
awilliam@8905 49 long __res; \
awilliam@8905 50 __asm__ __volatile__ (";;\n" \
awilliam@8905 51 "mov r2=%1\n" \
awilliam@8905 52 "break 0x1000 ;;\n" \
awilliam@8905 53 "mov %0=r8 ;;\n" \
awilliam@8905 54 : "=r" (__res) \
awilliam@11267 55 : "J" (__HYPERVISOR_##name) \
awilliam@9001 56 : "r2","r8", \
awilliam@9001 57 "memory" ); \
awilliam@8905 58 (type)__res; \
awilliam@8905 59 })
awilliam@8905 60
awilliam@8905 61 #define _hypercall1(type, name, a1) \
awilliam@8905 62 ({ \
awilliam@8905 63 long __res; \
awilliam@8905 64 __asm__ __volatile__ (";;\n" \
awilliam@8905 65 "mov r14=%2\n" \
awilliam@8905 66 "mov r2=%1\n" \
awilliam@8905 67 "break 0x1000 ;;\n" \
awilliam@8905 68 "mov %0=r8 ;;\n" \
awilliam@8905 69 : "=r" (__res) \
awilliam@11267 70 : "J" (__HYPERVISOR_##name), \
awilliam@11267 71 "rI" ((unsigned long)(a1)) \
awilliam@8905 72 : "r14","r2","r8", \
awilliam@8905 73 "memory" ); \
awilliam@8905 74 (type)__res; \
awilliam@8905 75 })
awilliam@8905 76
awilliam@8905 77 #define _hypercall2(type, name, a1, a2) \
awilliam@8905 78 ({ \
awilliam@8905 79 long __res; \
awilliam@8905 80 __asm__ __volatile__ (";;\n" \
awilliam@8905 81 "mov r14=%2\n" \
awilliam@8905 82 "mov r15=%3\n" \
awilliam@8905 83 "mov r2=%1\n" \
awilliam@8905 84 "break 0x1000 ;;\n" \
awilliam@8905 85 "mov %0=r8 ;;\n" \
awilliam@8905 86 : "=r" (__res) \
awilliam@11267 87 : "J" (__HYPERVISOR_##name), \
awilliam@11267 88 "rI" ((unsigned long)(a1)), \
awilliam@11267 89 "rI" ((unsigned long)(a2)) \
awilliam@8905 90 : "r14","r15","r2","r8", \
awilliam@8905 91 "memory" ); \
awilliam@8905 92 (type)__res; \
awilliam@8905 93 })
awilliam@8905 94
awilliam@8905 95 #define _hypercall3(type, name, a1, a2, a3) \
awilliam@8905 96 ({ \
awilliam@8905 97 long __res; \
awilliam@8905 98 __asm__ __volatile__ (";;\n" \
awilliam@8905 99 "mov r14=%2\n" \
awilliam@8905 100 "mov r15=%3\n" \
awilliam@8905 101 "mov r16=%4\n" \
awilliam@8905 102 "mov r2=%1\n" \
awilliam@8905 103 "break 0x1000 ;;\n" \
awilliam@8905 104 "mov %0=r8 ;;\n" \
awilliam@8905 105 : "=r" (__res) \
awilliam@11267 106 : "J" (__HYPERVISOR_##name), \
awilliam@11267 107 "rI" ((unsigned long)(a1)), \
awilliam@11267 108 "rI" ((unsigned long)(a2)), \
awilliam@11267 109 "rI" ((unsigned long)(a3)) \
awilliam@9001 110 : "r14","r15","r16","r2","r8", \
awilliam@9001 111 "memory" ); \
awilliam@8905 112 (type)__res; \
awilliam@8905 113 })
awilliam@8905 114
awilliam@9001 115 #define _hypercall4(type, name, a1, a2, a3, a4) \
awilliam@9001 116 ({ \
awilliam@9001 117 long __res; \
awilliam@9001 118 __asm__ __volatile__ (";;\n" \
awilliam@9001 119 "mov r14=%2\n" \
awilliam@9001 120 "mov r15=%3\n" \
awilliam@9001 121 "mov r16=%4\n" \
awilliam@9001 122 "mov r17=%5\n" \
awilliam@9001 123 "mov r2=%1\n" \
awilliam@9001 124 "break 0x1000 ;;\n" \
awilliam@9001 125 "mov %0=r8 ;;\n" \
awilliam@9001 126 : "=r" (__res) \
awilliam@11267 127 : "J" (__HYPERVISOR_##name), \
awilliam@11267 128 "rI" ((unsigned long)(a1)), \
awilliam@11267 129 "rI" ((unsigned long)(a2)), \
awilliam@11267 130 "rI" ((unsigned long)(a3)), \
awilliam@11267 131 "rI" ((unsigned long)(a4)) \
awilliam@9001 132 : "r14","r15","r16","r2","r8", \
awilliam@9001 133 "r17","memory" ); \
awilliam@9001 134 (type)__res; \
awilliam@9001 135 })
djm@7031 136
awilliam@9001 137 #define _hypercall5(type, name, a1, a2, a3, a4, a5) \
awilliam@9001 138 ({ \
awilliam@9001 139 long __res; \
awilliam@9001 140 __asm__ __volatile__ (";;\n" \
awilliam@9001 141 "mov r14=%2\n" \
awilliam@9001 142 "mov r15=%3\n" \
awilliam@9001 143 "mov r16=%4\n" \
awilliam@9001 144 "mov r17=%5\n" \
awilliam@9001 145 "mov r18=%6\n" \
awilliam@9001 146 "mov r2=%1\n" \
awilliam@9001 147 "break 0x1000 ;;\n" \
awilliam@9001 148 "mov %0=r8 ;;\n" \
awilliam@9001 149 : "=r" (__res) \
awilliam@11267 150 : "J" (__HYPERVISOR_##name), \
awilliam@11267 151 "rI" ((unsigned long)(a1)), \
awilliam@11267 152 "rI" ((unsigned long)(a2)), \
awilliam@11267 153 "rI" ((unsigned long)(a3)), \
awilliam@11267 154 "rI" ((unsigned long)(a4)), \
awilliam@11267 155 "rI" ((unsigned long)(a5)) \
awilliam@9001 156 : "r14","r15","r16","r2","r8", \
awilliam@9001 157 "r17","r18","memory" ); \
awilliam@9001 158 (type)__res; \
awilliam@9001 159 })
djm@7031 160
kaf24@9262 161
kaf24@9262 162 static inline int
awilliam@11702 163 xencomm_arch_hypercall_sched_op(int cmd, struct xencomm_handle *arg)
kaf24@9262 164 {
cl349@9540 165 return _hypercall2(int, sched_op, cmd, arg);
kaf24@9262 166 }
kaf24@9262 167
djm@7031 168 static inline long
awilliam@11702 169 HYPERVISOR_set_timer_op(u64 timeout)
djm@7031 170 {
awilliam@11702 171 unsigned long timeout_hi = (unsigned long)(timeout >> 32);
awilliam@11702 172 unsigned long timeout_lo = (unsigned long)timeout;
awilliam@11702 173 return _hypercall2(long, set_timer_op, timeout_lo, timeout_hi);
djm@7031 174 }
djm@7031 175
djm@7031 176 static inline int
awilliam@11702 177 xencomm_arch_hypercall_dom0_op(struct xencomm_handle *op)
awilliam@9979 178 {
awilliam@11702 179 return _hypercall1(int, dom0_op, op);
awilliam@9979 180 }
djm@7031 181
djm@7031 182 static inline int
awilliam@11702 183 xencomm_arch_hypercall_sysctl(struct xencomm_handle *op)
djm@7031 184 {
awilliam@11702 185 return _hypercall1(int, sysctl, op);
kaf24@10220 186 }
kaf24@10220 187
kaf24@10220 188 static inline int
awilliam@11702 189 xencomm_arch_hypercall_domctl(struct xencomm_handle *op)
djm@7031 190 {
awilliam@11702 191 return _hypercall1(int, domctl, op);
djm@7031 192 }
djm@7031 193
djm@7031 194 static inline int
awilliam@11702 195 xencomm_arch_hypercall_multicall(struct xencomm_handle *call_list,
awilliam@11702 196 int nr_calls)
djm@7031 197 {
awilliam@11702 198 return _hypercall2(int, multicall, call_list, nr_calls);
djm@7031 199 }
djm@7031 200
djm@7031 201 static inline int
awilliam@11702 202 xencomm_arch_hypercall_memory_op(unsigned int cmd, struct xencomm_handle *arg)
djm@7031 203 {
awilliam@11702 204 return _hypercall2(int, memory_op, cmd, arg);
awilliam@11702 205 }
awilliam@11702 206
awilliam@11702 207 static inline int
awilliam@11702 208 xencomm_arch_hypercall_event_channel_op(int cmd, struct xencomm_handle *arg)
awilliam@11702 209 {
awilliam@11702 210 return _hypercall2(int, event_channel_op, cmd, arg);
awilliam@11702 211 }
awilliam@11702 212
awilliam@11702 213 static inline int
awilliam@11702 214 xencomm_arch_hypercall_acm_op(unsigned int cmd, struct xencomm_handle *arg)
awilliam@11702 215 {
awilliam@11702 216 return _hypercall2(int, acm_op, cmd, arg);
awilliam@11702 217 }
awilliam@11702 218
awilliam@11702 219 static inline int
awilliam@11702 220 xencomm_arch_hypercall_xen_version(int cmd, struct xencomm_handle *arg)
awilliam@11702 221 {
awilliam@11702 222 return _hypercall2(int, xen_version, cmd, arg);
awilliam@11702 223 }
awilliam@11702 224
awilliam@11702 225 static inline int
awilliam@11702 226 xencomm_arch_hypercall_console_io(int cmd, int count,
awilliam@11702 227 struct xencomm_handle *str)
awilliam@11702 228 {
awilliam@11702 229 return _hypercall3(int, console_io, cmd, count, str);
awilliam@11702 230 }
awilliam@11702 231
awilliam@11702 232 static inline int
awilliam@11702 233 xencomm_arch_hypercall_physdev_op(int cmd, struct xencomm_handle *arg)
awilliam@11702 234 {
awilliam@11702 235 return _hypercall2(int, physdev_op, cmd, arg);
awilliam@11702 236 }
awilliam@11702 237
awilliam@11702 238 static inline int
awilliam@11702 239 xencomm_arch_hypercall_grant_table_op(unsigned int cmd,
awilliam@11702 240 struct xencomm_handle *uop,
awilliam@11702 241 unsigned int count)
awilliam@11702 242 {
awilliam@11702 243 return _hypercall3(int, grant_table_op, cmd, uop, count);
djm@7031 244 }
awilliam@10931 245
awilliam@9975 246 int HYPERVISOR_grant_table_op(unsigned int cmd, void *uop, unsigned int count);
djm@7031 247
awilliam@11702 248 extern int xencomm_arch_hypercall_suspend(struct xencomm_handle *arg);
awilliam@11702 249
djm@7031 250 static inline int
awilliam@11702 251 xencomm_arch_hypercall_callback_op(int cmd, struct xencomm_handle *arg)
djm@7031 252 {
awilliam@11702 253 return _hypercall2(int, callback_op, cmd, arg);
djm@7031 254 }
djm@7031 255
awilliam@11051 256 static inline unsigned long
awilliam@11702 257 xencomm_arch_hypercall_hvm_op(int cmd, void *arg)
awilliam@11051 258 {
awilliam@11051 259 return _hypercall2(unsigned long, hvm_op, cmd, arg);
awilliam@11051 260 }
awilliam@11051 261
awilliam@11704 262 static inline int
awilliam@11704 263 HYPERVISOR_physdev_op(int cmd, void *arg)
awilliam@11704 264 {
awilliam@11704 265 switch (cmd) {
awilliam@11704 266 case PHYSDEVOP_eoi:
awilliam@11704 267 return _hypercall1(int, ia64_fast_eoi,
awilliam@11704 268 ((struct physdev_eoi *)arg)->irq);
awilliam@11704 269 default:
awilliam@11704 270 return xencomm_hypercall_physdev_op(cmd, arg);
awilliam@11704 271 }
awilliam@11704 272 }
awilliam@11704 273
awilliam@12630 274 static inline int
awilliam@12630 275 xencomm_arch_hypercall_xenoprof_op(int op, struct xencomm_handle *arg)
awilliam@12630 276 {
awilliam@12630 277 return _hypercall2(int, xenoprof_op, op, arg);
awilliam@12630 278 }
awilliam@12630 279
awilliam@9001 280 extern fastcall unsigned int __do_IRQ(unsigned int irq, struct pt_regs *regs);
awilliam@9001 281 static inline void exit_idle(void) {}
awilliam@10140 282 #define do_IRQ(irq, regs) ({ \
awilliam@10140 283 irq_enter(); \
awilliam@10140 284 __do_IRQ((irq), (regs)); \
awilliam@10140 285 irq_exit(); \
awilliam@10140 286 })
djm@7031 287
awilliam@10022 288 #include <linux/err.h>
awilliam@11309 289 #ifdef CONFIG_XEN
awilliam@9761 290 #include <asm/xen/privop.h>
awilliam@11309 291 #endif /* CONFIG_XEN */
ian@12220 292 #ifdef HAVE_XEN_PLATFORM_COMPAT_H
ian@12220 293 #include <xen/platform-compat.h>
ian@12220 294 #endif
awilliam@9761 295
awilliam@9761 296 static inline unsigned long
awilliam@9761 297 __HYPERVISOR_ioremap(unsigned long ioaddr, unsigned long size)
awilliam@9761 298 {
awilliam@11267 299 return _hypercall3(unsigned long, ia64_dom0vp_op,
awilliam@11267 300 IA64_DOM0VP_ioremap, ioaddr, size);
awilliam@9761 301 }
awilliam@9761 302
awilliam@9761 303 static inline unsigned long
awilliam@9761 304 HYPERVISOR_ioremap(unsigned long ioaddr, unsigned long size)
awilliam@9761 305 {
awilliam@9761 306 unsigned long ret = ioaddr;
awilliam@10198 307 if (is_running_on_xen()) {
awilliam@9761 308 ret = __HYPERVISOR_ioremap(ioaddr, size);
awilliam@10146 309 if (unlikely(ret == -ENOSYS))
awilliam@10022 310 panic("hypercall %s failed with %ld. "
awilliam@10022 311 "Please check Xen and Linux config mismatch\n",
awilliam@10022 312 __func__, -ret);
awilliam@10146 313 else if (unlikely(IS_ERR_VALUE(ret)))
awilliam@10146 314 ret = ioaddr;
awilliam@9761 315 }
awilliam@9761 316 return ret;
awilliam@9761 317 }
awilliam@9761 318
awilliam@9761 319 static inline unsigned long
awilliam@9761 320 __HYPERVISOR_phystomach(unsigned long gpfn)
awilliam@9761 321 {
awilliam@11267 322 return _hypercall2(unsigned long, ia64_dom0vp_op,
awilliam@11267 323 IA64_DOM0VP_phystomach, gpfn);
awilliam@9761 324 }
awilliam@9761 325
awilliam@9761 326 static inline unsigned long
awilliam@9761 327 HYPERVISOR_phystomach(unsigned long gpfn)
awilliam@9761 328 {
awilliam@9761 329 unsigned long ret = gpfn;
awilliam@10198 330 if (is_running_on_xen()) {
awilliam@9761 331 ret = __HYPERVISOR_phystomach(gpfn);
awilliam@9761 332 }
awilliam@9761 333 return ret;
awilliam@9761 334 }
awilliam@9761 335
awilliam@9761 336 static inline unsigned long
awilliam@9761 337 __HYPERVISOR_machtophys(unsigned long mfn)
awilliam@9761 338 {
awilliam@11267 339 return _hypercall2(unsigned long, ia64_dom0vp_op,
awilliam@11267 340 IA64_DOM0VP_machtophys, mfn);
awilliam@9761 341 }
awilliam@9761 342
awilliam@9761 343 static inline unsigned long
awilliam@9761 344 HYPERVISOR_machtophys(unsigned long mfn)
awilliam@9761 345 {
awilliam@9761 346 unsigned long ret = mfn;
awilliam@10198 347 if (is_running_on_xen()) {
awilliam@9761 348 ret = __HYPERVISOR_machtophys(mfn);
awilliam@9761 349 }
awilliam@9761 350 return ret;
awilliam@9761 351 }
awilliam@9761 352
awilliam@9761 353 static inline unsigned long
awilliam@9761 354 __HYPERVISOR_zap_physmap(unsigned long gpfn, unsigned int extent_order)
awilliam@9761 355 {
awilliam@11267 356 return _hypercall3(unsigned long, ia64_dom0vp_op,
awilliam@11267 357 IA64_DOM0VP_zap_physmap, gpfn, extent_order);
awilliam@9761 358 }
awilliam@9761 359
awilliam@9761 360 static inline unsigned long
awilliam@9761 361 HYPERVISOR_zap_physmap(unsigned long gpfn, unsigned int extent_order)
awilliam@9761 362 {
awilliam@9761 363 unsigned long ret = 0;
awilliam@10198 364 if (is_running_on_xen()) {
awilliam@9761 365 ret = __HYPERVISOR_zap_physmap(gpfn, extent_order);
awilliam@9761 366 }
awilliam@9761 367 return ret;
awilliam@9761 368 }
awilliam@9761 369
awilliam@9761 370 static inline unsigned long
awilliam@9761 371 __HYPERVISOR_add_physmap(unsigned long gpfn, unsigned long mfn,
awilliam@10153 372 unsigned long flags, domid_t domid)
awilliam@9761 373 {
awilliam@11267 374 return _hypercall5(unsigned long, ia64_dom0vp_op,
awilliam@11267 375 IA64_DOM0VP_add_physmap, gpfn, mfn, flags, domid);
awilliam@9761 376 }
awilliam@10002 377
awilliam@9761 378 static inline unsigned long
awilliam@9761 379 HYPERVISOR_add_physmap(unsigned long gpfn, unsigned long mfn,
awilliam@10153 380 unsigned long flags, domid_t domid)
awilliam@9761 381 {
awilliam@9761 382 unsigned long ret = 0;
awilliam@10198 383 BUG_ON(!is_running_on_xen());//XXX
awilliam@10198 384 if (is_running_on_xen()) {
awilliam@9761 385 ret = __HYPERVISOR_add_physmap(gpfn, mfn, flags, domid);
awilliam@9761 386 }
awilliam@9761 387 return ret;
awilliam@9761 388 }
awilliam@9980 389
awilliam@12794 390 static inline unsigned long
awilliam@12794 391 __HYPERVISOR_add_physmap_with_gmfn(unsigned long gpfn, unsigned long gmfn,
awilliam@12794 392 unsigned long flags, domid_t domid)
awilliam@12794 393 {
awilliam@12794 394 return _hypercall5(unsigned long, ia64_dom0vp_op,
awilliam@12794 395 IA64_DOM0VP_add_physmap_with_gmfn,
awilliam@12794 396 gpfn, gmfn, flags, domid);
awilliam@12794 397 }
awilliam@12794 398
awilliam@12794 399 static inline unsigned long
awilliam@12794 400 HYPERVISOR_add_physmap_with_gmfn(unsigned long gpfn, unsigned long gmfn,
awilliam@12794 401 unsigned long flags, domid_t domid)
awilliam@12794 402 {
awilliam@12794 403 unsigned long ret = 0;
awilliam@12794 404 BUG_ON(!is_running_on_xen());//XXX
awilliam@12794 405 if (is_running_on_xen()) {
awilliam@12794 406 ret = __HYPERVISOR_add_physmap_with_gmfn(gpfn, gmfn,
awilliam@12794 407 flags, domid);
awilliam@12794 408 }
awilliam@12794 409 return ret;
awilliam@12794 410 }
awilliam@12794 411
awilliam@11727 412 #ifdef CONFIG_XEN_IA64_EXPOSE_P2M
awilliam@11727 413 static inline unsigned long
awilliam@11727 414 HYPERVISOR_expose_p2m(unsigned long conv_start_gpfn,
awilliam@11727 415 unsigned long assign_start_gpfn,
awilliam@11727 416 unsigned long expose_size, unsigned long granule_pfn)
awilliam@11727 417 {
awilliam@11727 418 return _hypercall5(unsigned long, ia64_dom0vp_op,
awilliam@11727 419 IA64_DOM0VP_expose_p2m, conv_start_gpfn,
awilliam@11727 420 assign_start_gpfn, expose_size, granule_pfn);
awilliam@11727 421 }
awilliam@11727 422 #endif
awilliam@11727 423
awilliam@12630 424 static inline int
awilliam@12630 425 xencomm_arch_hypercall_perfmon_op(unsigned long cmd,
awilliam@12630 426 struct xencomm_handle *arg,
awilliam@12630 427 unsigned long count)
awilliam@12630 428 {
awilliam@12630 429 return _hypercall4(int, ia64_dom0vp_op,
awilliam@12630 430 IA64_DOM0VP_perfmon, cmd, arg, count);
awilliam@12630 431 }
awilliam@12630 432
awilliam@9980 433 // for balloon driver
awilliam@9980 434 #define HYPERVISOR_update_va_mapping(va, new_val, flags) (0)
awilliam@9980 435
awilliam@11702 436 /* Use xencomm to do hypercalls. */
awilliam@11702 437 #ifdef MODULE
awilliam@11702 438 #define HYPERVISOR_sched_op xencomm_mini_hypercall_sched_op
awilliam@11702 439 #define HYPERVISOR_event_channel_op xencomm_mini_hypercall_event_channel_op
awilliam@11702 440 #define HYPERVISOR_callback_op xencomm_mini_hypercall_callback_op
awilliam@11702 441 #define HYPERVISOR_multicall xencomm_mini_hypercall_multicall
awilliam@11702 442 #define HYPERVISOR_xen_version xencomm_mini_hypercall_xen_version
awilliam@11702 443 #define HYPERVISOR_console_io xencomm_mini_hypercall_console_io
awilliam@11702 444 #define HYPERVISOR_hvm_op xencomm_mini_hypercall_hvm_op
awilliam@11702 445 #define HYPERVISOR_memory_op xencomm_mini_hypercall_memory_op
awilliam@12630 446 #define HYPERVISOR_xenoprof_op xencomm_mini_hypercall_xenoprof_op
awilliam@12630 447 #define HYPERVISOR_perfmon_op xencomm_mini_hypercall_perfmon_op
awilliam@11702 448 #else
awilliam@11702 449 #define HYPERVISOR_sched_op xencomm_hypercall_sched_op
awilliam@11702 450 #define HYPERVISOR_event_channel_op xencomm_hypercall_event_channel_op
awilliam@11702 451 #define HYPERVISOR_callback_op xencomm_hypercall_callback_op
awilliam@11702 452 #define HYPERVISOR_multicall xencomm_hypercall_multicall
awilliam@11702 453 #define HYPERVISOR_xen_version xencomm_hypercall_xen_version
awilliam@11702 454 #define HYPERVISOR_console_io xencomm_hypercall_console_io
awilliam@11702 455 #define HYPERVISOR_hvm_op xencomm_hypercall_hvm_op
awilliam@11702 456 #define HYPERVISOR_memory_op xencomm_hypercall_memory_op
awilliam@12630 457 #define HYPERVISOR_xenoprof_op xencomm_hypercall_xenoprof_op
awilliam@12630 458 #define HYPERVISOR_perfmon_op xencomm_hypercall_perfmon_op
awilliam@11702 459 #endif
awilliam@11702 460
awilliam@11702 461 #define HYPERVISOR_suspend xencomm_hypercall_suspend
awilliam@11702 462
djm@7031 463 #endif /* __HYPERCALL_H__ */