[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] [IA64] hypervisor needs to turn off psr.i after PAL_HALT_LIGHT



# HG changeset patch
# User Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
# Date 1213078086 -32400
# Node ID 1feb98eb64eff4c97bf185047790f80e67501b3d
# Parent  b844f87db11debd27bf464bf6aff7cc42456d486
[IA64] hypervisor needs to turn off psr.i after PAL_HALT_LIGHT

psr.i must be set to 0 on PAL entry and must be unchanged on PAL exit.
But do_block() turns on psr.i.
So we need to set it off at exit of PAL_HALT_LIGHT.

Signed-off-by: Akio Takebe <takebe_akio@xxxxxxxxxxxxxx>
---
 xen/arch/ia64/xen/hypercall.c |    8 ++++++++
 1 files changed, 8 insertions(+)

diff -r b844f87db11d -r 1feb98eb64ef xen/arch/ia64/xen/hypercall.c
--- a/xen/arch/ia64/xen/hypercall.c     Tue Jun 10 15:00:31 2008 +0900
+++ b/xen/arch/ia64/xen/hypercall.c     Tue Jun 10 15:08:06 2008 +0900
@@ -173,6 +173,14 @@ ia64_hypercall(struct pt_regs *regs)
                                /* do_block only pends a softirq */
                                do_softirq();
                                stop_timer(&v->arch.hlt_timer);
+                               /* do_block() calls
+                                * local_event_delivery_enable(),
+                                * but PALL CALL must be called with
+                                * psr.i = 0 and psr.i is unchanged.
+                                * SDM vol.2 Part I 11.10.2
+                                * PAL Calling Conventions.
+                                */
+                               local_event_delivery_disable();
                        }
                        regs->r8 = 0;
                        regs->r9 = 0;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.