Source-Changes-HG archive

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

[src/netbsd-2-0]: src/sys/arch/xen/i386 Pull up revision 1.11 (requested by t...



details:   https://anonhg.NetBSD.org/src/rev/356dae574c79
branches:  netbsd-2-0
changeset: 564655:356dae574c79
user:      jdc <jdc%NetBSD.org@localhost>
date:      Fri Jan 07 15:57:27 2005 +0000

description:
Pull up revision 1.11 (requested by tls in ticket #1045).

Terminate the domain on RB_HALT, not just on reboot.  This avoids looping
around a cngetc() that will never return while "halted", which is rude,
and which also requires domain 0 to not just restart us, but kill us
first.  Suggestion from Michael Kukat (though this change is not the
same as the one he suggested).

Will cngetc() actually return something when running in domain 0 with a
VGA console?  I don't think it will; if it actually does, we should make
this behaviour depend on whether we're in domain 0 or some other domain.

diffstat:

 sys/arch/xen/i386/machdep.c |  15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diffs (47 lines):

diff -r 768296fc6a5c -r 356dae574c79 sys/arch/xen/i386/machdep.c
--- a/sys/arch/xen/i386/machdep.c       Fri Jan 07 15:54:20 2005 +0000
+++ b/sys/arch/xen/i386/machdep.c       Fri Jan 07 15:57:27 2005 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: machdep.c,v 1.2.2.1 2004/05/22 15:58:02 he Exp $       */
+/*     $NetBSD: machdep.c,v 1.2.2.2 2005/01/07 15:57:27 jdc Exp $      */
 /*     NetBSD: machdep.c,v 1.552 2004/03/24 15:34:49 atatat Exp        */
 
 /*-
@@ -73,7 +73,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.2.2.1 2004/05/22 15:58:02 he Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.2.2.2 2005/01/07 15:57:27 jdc Exp $");
 
 #include "opt_beep.h"
 #include "opt_compat_ibcs2.h"
@@ -847,12 +847,14 @@
                 */
 #endif
        }
-
+#if 0
        if (howto & RB_HALT) {
+#endif
                printf("\n");
-               printf("The operating system has halted.\n");
-               printf("Please press any key to reboot.\n\n");
+               printf("The guest operating system has halted.\n");
+               printf("To reboot, recreate this Xen domain.\n\n");
 
+#if 0
 #ifdef BEEP_ONHALT
                {
                        int c;
@@ -877,8 +879,9 @@
        }
 
        printf("rebooting...\n");
+#endif
        if (cpureset_delay > 0)
-               delay(cpureset_delay * 1000);
+               delay(cpureset_delay * 1000);   /* XXX not nice under Xen! */
        cpu_reset();
        for(;;) ;
        /*NOTREACHED*/



Home | Main Index | Thread Index | Old Index