From: Ali Saidi Date: Tue, 28 Feb 2006 23:57:34 +0000 (-0500) Subject: Add m5op to the build process X-Git-Tag: stable_2012_02_02~553^2~2^2~7 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=576196c13ccd4109d10fe98e957cef2f5422b795;p=gem5.git 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. --- 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 #include +#include +#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(); }