diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2006-02-28 18:57:34 -0500 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2006-02-28 18:57:34 -0500 |
commit | 576196c13ccd4109d10fe98e957cef2f5422b795 (patch) | |
tree | 7a4cdf596ef1d5b87bcf4b0a0c2a63b7d4094f5f | |
parent | a50e054ceded6fa3f700385ed93dcc76c05cb13b (diff) | |
download | gem5-576196c13ccd4109d10fe98e957cef2f5422b795.tar.xz |
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.
-rw-r--r-- | system/alpha/console/Makefile | 7 | ||||
-rw-r--r-- | system/alpha/console/dbmentry.S | 9 | ||||
-rw-r--r-- | system/alpha/console/printf.c | 4 |
3 files changed, 14 insertions, 6 deletions
diff --git a/system/alpha/console/Makefile b/system/alpha/console/Makefile index e29c02b1a..7f705dd8c 100644 --- a/system/alpha/console/Makefile +++ b/system/alpha/console/Makefile @@ -35,8 +35,8 @@ AS=$(CROSS_COMPILE)as 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 @@ endif all: console +m5op.o: $(M5)/util/m5/m5op.S + $(CC) $(CFLAGS) -nostdinc -o $@ -c $< + %.o: %.S $(CC) $(CFLAGS) -nostdinc -o $@ -c $< diff --git a/system/alpha/console/dbmentry.S b/system/alpha/console/dbmentry.S index c8a3691e3..e8316390f 100644 --- a/system/alpha/console/dbmentry.S +++ b/system/alpha/console/dbmentry.S @@ -81,7 +81,9 @@ _entry: 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 @@ SlaveSpin: # using any stack space 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 --git a/system/alpha/console/printf.c b/system/alpha/console/printf.c index 0e665a434..b958476fb 100644 --- a/system/alpha/console/printf.c +++ b/system/alpha/console/printf.c @@ -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 @@ panic(const char *f, ...) } va_end(ap); /* clean up */ - while(1); + m5_panic(); } |