[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XenPPC] [xenppc-unstable] [XEN][POWERPC] Keepin it cool: sleep the processor when halt fails
# HG changeset patch # User Jimi Xenidis <jimix@xxxxxxxxxxxxxx> # Node ID 701c68921ff32370caeaaac17a5e0a25ebc8a83a # Parent d1f6d0f820d890ac6075f47ad1ba6e38012167b4 [XEN][POWERPC] Keepin it cool: sleep the processor when halt fails Signed-off-by: Jimi Xenidis <jimix@xxxxxxxxxxxxxx> --- xen/arch/powerpc/domain.c | 6 +++--- xen/arch/powerpc/exceptions.h | 3 +++ xen/arch/powerpc/setup.c | 2 -- 3 files changed, 6 insertions(+), 5 deletions(-) diff -r d1f6d0f820d8 -r 701c68921ff3 xen/arch/powerpc/domain.c --- a/xen/arch/powerpc/domain.c Mon Oct 02 21:43:09 2006 -0400 +++ b/xen/arch/powerpc/domain.c Wed Oct 04 14:06:14 2006 -0400 @@ -34,6 +34,7 @@ #include <asm/current.h> #include <asm/hcalls.h> #include "rtas.h" +#include "exceptions.h" #define next_arg(fmt, args) ({ \ unsigned long __arg; \ @@ -47,7 +48,6 @@ } \ __arg; \ }) -extern void idle_loop(void); unsigned long hypercall_create_continuation(unsigned int op, const char *format, ...) @@ -99,7 +99,8 @@ static void machine_fail(const char *s) static void machine_fail(const char *s) { printf("%s failed, manual powercycle required!\n", s); - while(1); + for (;;) + sleep(); } void machine_halt(void) { @@ -296,7 +297,6 @@ void arch_dump_domain_info(struct domain { } -extern void sleep(void); static void safe_halt(void) { int cpu = smp_processor_id(); diff -r d1f6d0f820d8 -r 701c68921ff3 xen/arch/powerpc/exceptions.h --- a/xen/arch/powerpc/exceptions.h Mon Oct 02 21:43:09 2006 -0400 +++ b/xen/arch/powerpc/exceptions.h Wed Oct 04 14:06:14 2006 -0400 @@ -43,8 +43,11 @@ extern void program_exception( struct cpu_user_regs *regs, unsigned long cookie); extern long xen_hvcall_jump(struct cpu_user_regs *regs, ulong address); + extern void *mambo_memset(void *, int, ulong); extern void *mambo_memcpy(void *, const void *, ulong); +extern void sleep(void); +extern void idle_loop(void); extern ulong *__hypercall_table[]; diff -r d1f6d0f820d8 -r 701c68921ff3 xen/arch/powerpc/setup.c --- a/xen/arch/powerpc/setup.c Mon Oct 02 21:43:09 2006 -0400 +++ b/xen/arch/powerpc/setup.c Wed Oct 04 14:06:14 2006 -0400 @@ -199,8 +199,6 @@ static void __init start_of_day(void) schedulers_start(); } -extern void idle_loop(void); - void startup_cpu_idle_loop(void) { struct vcpu *v = current; _______________________________________________ Xen-ppc-devel mailing list Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-ppc-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |