From 31ac4ce14032ee8bc3f44a9a600bd006f054077b Mon Sep 17 00:00:00 2001 From: Ali Saidi Date: Mon, 17 May 2004 17:49:19 -0400 Subject: [PATCH] console code now builds on zizzer console/Makefile: Updated to build on linux and removed lots of crud that compiled, disassembled, and then reassembled console/dbmentry.s: the assembler didn't like they comments, so I removed them console/printf.c: Gcc was very unhappy, so I fixed this line h/lib.h: time_t is defined in a std header, and this was causing some problems --- system/alpha/console/Makefile | 55 ++++++++++++++++----------------- system/alpha/console/dbmentry.s | 6 ++-- system/alpha/console/printf.c | 2 +- system/alpha/h/lib.h | 2 +- 4 files changed, 31 insertions(+), 34 deletions(-) diff --git a/system/alpha/console/Makefile b/system/alpha/console/Makefile index d83bdc9fa..518596058 100644 --- a/system/alpha/console/Makefile +++ b/system/alpha/console/Makefile @@ -1,51 +1,48 @@ - -all: console - DBMENTRY = fffffc0000010000 INCLUDES = -I$(PALCODE) -I$(INCLUDEH) -I$(M5)/dev SOURDIR = ./ PALCODE = ../palcode INCLUDEH = ../h -CC=gcc -#AS=gas + +ARCHNAME=$(shell uname -m) + +### If we are not compiling on an alpha, we must use cross tools ### +ifneq ($(ARCHNAME), alpha) +CC=alpha-unknown-linux-gnu-gcc +AS=alpha-unknown-linux-gnu-as +CXX=alpha-unknown-linux-gnu-g++ +LD=alpha-unknown-linux-gnu-ld +endif + +### Make sure that the M5 variable is set ### +ifndef M5 +$(error The M5 variable must be set) +endif + +all: console dbmentry.o: dbmentry.s - $(AS) $(INCLUDES) -nointrinsics -o $*.o $*.s + g++ -I ../h -I ../palcode -E -P -nostdinc -nostdinc++ -x c++ dbmentry.s | \ + $(AS) -m 21164 -o dbmentry.s.o console.o: console.c - $(CC) -g3 $(INCLUDES) -nointrinsics -o $*.o -c $*.c + $(CC) -g3 $(INCLUDES) -D _TIME_T -nostdinc++ -o $*.o -c $*.c printf.o: printf.c - $(CC) -g3 $(INCLUDES) -nointrinsics -o $*.o -c $*.c + $(CC) -g3 $(INCLUDES) -nostdinc++ -o $*.o -c $*.c paljtokern.s.o: paljtokern.s g++ -I ../palcode -E -P -nostdinc -nostdinc++ -x c++ paljtokern.s | \ - gas -m 21164 -o paljtokern.s.o + $(AS) -m 21164 -o paljtokern.s.o paljtoslave.s.o: paljtoslave.s g++ -I ../palcode -E -P -nostdinc -nostdinc++ -x c++ paljtoslave.s | \ - gas -m 21164 -o paljtoslave.s.o - -paljtokern.c: paljtokern.s.o - echo 'unsigned int palJToKern[] = {' > paljtokern.c - dis paljtokern.s.o | awk '{print "0x"$$2","}' >> paljtokern.c - echo "0x0\n};" >> paljtokern.c - -paljtoslave.c: paljtoslave.s.o - echo "unsigned int palJToSlave[] = {" > paljtoslave.c - dis paljtoslave.s.o | awk '{print "0x"$$2","}' >> paljtoslave.c - echo "0x0\n};" >> paljtoslave.c - -paljtokern.c.o: paljtokern.c - $(CC) -g3 -nointrinsics -o paljtokern.c.o -c paljtokern.c - -paljtoslave.c.o: paljtoslave.c - $(CC) -g3 -nointrinsics -o paljtoslave.c.o -c paljtoslave.c + $(AS) -m 21164 -o paljtoslave.s.o -console: console.o dbmentry.o printf.o paljtokern.c.o paljtoslave.c.o - $(LD) -o console -N -T $(DBMENTRY) -non_shared \ - dbmentry.o console.o printf.o paljtokern.c.o paljtoslave.c.o -lc +console: console.o dbmentry.o printf.o paljtokern.s.o paljtoslave.s.o + $(LD) -o console -N -Ttext $(DBMENTRY) -non_shared \ + dbmentry.s.o console.o printf.o paljtokern.s.o paljtoslave.s.o -lc install: console scp console zizzer.eecs.umich.edu:/z/m5/system/testing/binaries/console diff --git a/system/alpha/console/dbmentry.s b/system/alpha/console/dbmentry.s index 2ecb9ebd4..91b0d51c9 100644 --- a/system/alpha/console/dbmentry.s +++ b/system/alpha/console/dbmentry.s @@ -2,12 +2,12 @@ /* taken from ebfw/rom/dbmentry.s */ #define EB164 -#ifndef LINT +/*#ifndef LINT .data .asciiz "$Id: dbmentry.s,v 1.1.1.1 1997/10/30 23:27:12 verghese Exp $" .text #endif - +*/ /* * Debug Monitor Entry code */ @@ -210,4 +210,4 @@ SpinLock: br zero,1b .end SpinLock - \ No newline at end of file + diff --git a/system/alpha/console/printf.c b/system/alpha/console/printf.c index 24efa802e..21a449b2f 100644 --- a/system/alpha/console/printf.c +++ b/system/alpha/console/printf.c @@ -219,7 +219,7 @@ FormatItem(const char *f, va_list *ap) case '-': leftjust = TRUE; break; case 'c': { - char a = va_arg(*ap, char); + char a = va_arg(*ap, char *); if (leftjust) PutChar(a & 0x7f); if (fieldwidth > 0) PutRepChar(fill, fieldwidth - 1); diff --git a/system/alpha/h/lib.h b/system/alpha/h/lib.h index aa28f69ab..cdfa28603 100644 --- a/system/alpha/h/lib.h +++ b/system/alpha/h/lib.h @@ -234,7 +234,7 @@ date.c extern void printDate(void); extern void setDate(ub * date); extern ui gettime(void); -extern time_t time(void); +//extern time_t time(void); extern void CheckDate(void); /*:::::::::::::: -- 2.30.2