ia64/xen-unstable

view linux-2.6-xen-sparse/arch/ia64/xen/xensetup.S @ 14100:e47738923a05

[LINUX] Purge include <linux/config.h>. It has been obsolete for some time now.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
author Ian Campbell <ian.campbell@xensource.com>
date Fri Feb 23 16:56:45 2007 +0000 (2007-02-23)
parents c6b683ba68f5
children
line source
1 /*
2 * Support routines for Xen
3 *
4 * Copyright (C) 2005 Dan Magenheimer <dan.magenheimer@hp.com>
5 */
7 #include <asm/processor.h>
8 #include <asm/asmmacro.h>
10 #define isBP p3 // are we the Bootstrap Processor?
12 .text
13 GLOBAL_ENTRY(early_xen_setup)
14 mov r8=ar.rsc // Initialized in head.S
15 (isBP) movl r9=running_on_xen;;
16 extr.u r8=r8,2,2;; // Extract pl fields
17 cmp.eq p7,p0=r8,r0 // p7: !running on xen
18 mov r8=1 // booleanize.
19 (p7) br.ret.sptk.many rp;;
20 (isBP) st4 [r9]=r8
21 movl r10=xen_ivt;;
23 mov cr.iva=r10
25 /* Set xsi base. */
26 #define FW_HYPERCALL_SET_SHARED_INFO_VA 0x600
27 (isBP) mov r2=FW_HYPERCALL_SET_SHARED_INFO_VA
28 (isBP) movl r28=XSI_BASE;;
29 (isBP) break 0x1000;;
31 br.ret.sptk.many rp
32 ;;
33 END(early_xen_setup)
35 #include <xen/interface/xen.h>
37 /* Stub for suspend.
38 Just force the stacked registers to be written in memory. */
39 GLOBAL_ENTRY(xencomm_arch_hypercall_suspend)
40 ;;
41 alloc r20=ar.pfs,0,0,6,0
42 mov r2=__HYPERVISOR_sched_op
43 ;;
44 /* We don't want to deal with RSE. */
45 flushrs
46 mov r33=r32
47 mov r32=2 // SCHEDOP_shutdown
48 ;;
49 break 0x1000
50 ;;
51 br.ret.sptk.many b0
52 END(xencomm_arch_hypercall_suspend)