2 * Support routines for Xen
4 * Copyright (C) 2005 Dan Magenheimer <dan.magenheimer@hp.com>
7 #include <asm/processor.h>
8 #include <asm/asmmacro.h>
10 #define isBP p3 // are we the Bootstrap Processor?
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;;
25 #if XSI_BASE != 0xf100000000000000UL
26 /* Backward compatibility. */
28 (isBP) movl r28=XSI_BASE;;
36 #include <xen/interface/xen.h>
39 Just force the stacked registers to be written in memory. */
40 GLOBAL_ENTRY(HYPERVISOR_suspend)
41 alloc r20=ar.pfs,0,0,0,0
45 /* We don't want to deal with RSE. */
47 mov r2=__HYPERVISOR_sched_op
54 END(HYPERVISOR_suspend)