changeset 27ce7490bd3b in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=27ce7490bd3b
description:
        Add m5op to the build process
        use quiesceNs on other CPUs
        panic rather than spin on an error

        console/Makefile:
            Add m5op to the build process
        console/dbmentry.S:
            use quiesceNs on other CPUs
        console/printf.c:
            panic rather than spin on an error.

diffstat:

 system/alpha/console/Makefile   |  7 +++++--
 system/alpha/console/dbmentry.S |  9 ++++++---
 system/alpha/console/printf.c   |  4 +++-
 3 files changed, 14 insertions(+), 6 deletions(-)

diffs (69 lines):

diff -r 36c59449dc93 -r 27ce7490bd3b system/alpha/console/Makefile
--- a/system/alpha/console/Makefile     Thu Feb 23 15:00:04 2006 -0500
+++ b/system/alpha/console/Makefile     Tue Feb 28 18:57:34 2006 -0500
@@ -35,8 +35,8 @@
 LD=$(CROSS_COMPILE)ld
 
 DBMENTRY= fffffc0000010000
-CFLAGS=-I . -I ../h -I$(M5)/dev -fno-builtin -Wa,-m21164
-OBJS=dbmentry.o printf.o paljtokern.o paljtoslave.o console.o
+CFLAGS=-I . -I ../h -I$(M5)/dev -I$(M5)/util/m5/ -fno-builtin -Wa,-m21164
+OBJS=dbmentry.o printf.o paljtokern.o paljtoslave.o console.o m5op.o
 
 ### Make sure that the M5 variable is set ###
 ifndef M5
@@ -45,6 +45,9 @@
 
 all: console
 
+m5op.o: $(M5)/util/m5/m5op.S
+       $(CC) $(CFLAGS) -nostdinc -o $@ -c $<
+
 %.o: %.S
        $(CC) $(CFLAGS) -nostdinc -o $@ -c $<
 
diff -r 36c59449dc93 -r 27ce7490bd3b system/alpha/console/dbmentry.S
--- a/system/alpha/console/dbmentry.S   Thu Feb 23 15:00:04 2006 -0500
+++ b/system/alpha/console/dbmentry.S   Tue Feb 28 18:57:34 2006 -0500
@@ -81,7 +81,9 @@
         bis  zero,8,t4
         mulq t4,v0,t4
         addq t3,t4,t3
-cpuwait:   ldq  t4, 0(t3)
+        ldah a0, 3(zero)  # load arg0 with 65536*3
+cpuwait: .long 0x6000002  # jsr quiesceNs
+        ldq  t4, 0(t3)
         beq  t4, cpuwait
         bis  t4,t4,sp
 
@@ -220,8 +222,9 @@
         mov a0, t0                 # cpu number
         mov a1, t1                 # cpu rpb pointer (virtual)
         mov a2, t2                 # what to spin on
-
-test:   ldl  t3, 0(t2)
+        ldah a0, 3(zero)  # load arg0 with 65536
+test:   .long 0x6000002  # jsr quiesceNs     # wait 65us*3
+        ldl  t3, 0(t2)
         beq  t3, test
         zapnot t1,0x1f,a0          # make rpb physical
         call_pal PAL_SWPCTX_ENTRY  # switch to pcb
diff -r 36c59449dc93 -r 27ce7490bd3b system/alpha/console/printf.c
--- a/system/alpha/console/printf.c     Thu Feb 23 15:00:04 2006 -0500
+++ b/system/alpha/console/printf.c     Tue Feb 28 18:57:34 2006 -0500
@@ -54,6 +54,8 @@
 
 #include <sys/types.h>
 #include <stdarg.h>
+#include <stdint.h>
+#include "m5op.h"
 
 /* The string s is terminated by a '\0' */
 void
@@ -320,5 +322,5 @@
     }
 
     va_end(ap);         /* clean up */
-    while(1);
+    m5_panic();
 }
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to