Add support for tsunami with 64 processors and fix some console bugs
[gem5.git] / system / alpha / palcode / Makefile
index 7d4f21cd1836d44ca7935a30635a784fc9bcc0ce..3f4dc9b5ee1afc111a63646b46c72b38126a0d48 100644 (file)
-# 
-# $Id: Makefile,v 1.2 1997/12/16 01:18:38 bugnion Exp $
-#
-# Revision History:
-#
-# $Log: Makefile,v $
-# Revision 1.2  1997/12/16 01:18:38  bugnion
-# Removed bogus TLASER offsets from palcode build. -- roll over
-# simultaneously with the simulation tree
-#
-# Revision 1.1.1.1  1997/10/30 23:27:18  verghese
-# current 10/29/97
-#
-#
-# Set environment variables to point to various things:
-#
-#      EB_TOOLBOX - Where your toolset is located
-#
+#Makefile for palcode
+#Works on alpha-linux and builds elf executable
 
-EB_TOOLBOX =  /wrl/proj/simos/bin/tools/osf
-CPP      =     /usr/bin/cpp
-AS       =     $(EB_TOOLBOX)/gas
-LD       =     $(EB_TOOLBOX)/gld
-DIS      =     $(EB_TOOLBOX)/alist
-STRIP    =     $(EB_TOOLBOX)/astrip
-PVC      =     $(EB_TOOLBOX)/pvc
-MAKEDEP          =     $(CPP) -MM
+GAS = alpha-linux-as
+CC = alpha-linux-gcc
+LD = alpha-linux-ld
+CFLAGS=-I . -I ../h -D SIMOS -D BUILD_PALCODE -nostdinc -nostdinc++ -Wa,-m21164
+LDFLAGS=-Ttext 0x4000
 
-#
-# Define KDEBUG if you want a special unprivileged CALL_PAL 
-# breakpoint trap handler for remote kernel debugging.
-#
-# Define CONSOLE_ENTRY to change the sys$enter_console
-# transfer address.  Default CONSOLE_ENTRY value is 0x10000.
-#
-# Define DISABLE_CRD to disable CRD. Note that reset sets MCES so that
-# correctable errors are ignored anyway, but this actually stops the
-# interrupt.
-#
+TLOBJS = osfpal.o  platform_tlaser.o
+TLOBJS_COPY = osfpal_cache_copy.o osfpal_cache_copy_unaligned.o
+TSOBJS = osfpal.o platform_m5.o
+TSBOBJS = osfpal.o platform_m5b.o
+TSOBJS_COPY = osfpal_cache_copy.o osfpal_cache_copy_unaligned.o
 
-DEFINES   =     -DDISABLE_CRD -DSIMOS -DBUILD_PALCODE
-DEFINES  +=  -I$(SIMTOOLS)/cpus-alpha/simos
+%.o: %.S
+       $(CC) $(CFLAGS) -o $@ -c $<
 
-CPPFLAGS  =
-ASFLAGS   =    -21164
-#LDFLAGS   =   -Tstrip 0 -Thdr -N
-#LDFLAGS   =   -Tstrip 2000 -Thdr -N  # removed bugnion
-LDFLAGS   =    -Tstrip 4000 -Thdr -N
-# Source files:
-#
-#   This is the only block in which the list of source files should change.
-#
-#      SFILES - assembler source files
-#      HFILES - header files
-#
-
-SFILES = osfpal.s platform.s
-
-HFILES = dc21164.h \
-         osf.h \
-         macros.h \
-         ev5_impure.h \
-         cserve.h \
-         platform.h
-
-# Intermediate files:
-#
-#   This block should not change.
-#
-
-IFILES = $(SFILES:.s=.i)
-
-# Object files:
-#
-#   This block should not change.
-#
-
-OFILES         = $(IFILES:.i=.o)
-
-.DEFAULT:
-       co -u $<
-
-.SUFFIXES:
-.SUFFIXES: .s .i .o
-
-.s.i:
-       $(CPP) $(CPPFLAGS) $(DEFINES) $< $*.i
-
-osfpal.nh: osfpal
-       $(STRIP) -a osfpal $@
-       $(DIS) osfpal >osfpal.dis
-
-osfpal: $(OFILES)
-       echo '$OFILES= ' $(OFILES)
-       $(LD) $(LDFLAGS) -o $@ $(OFILES)
-
-osfpal.o: osfpal.i
-       $(AS) $(ASFLAGS) -o $@ osfpal.i
-
-platform.o: platform.i
-       $(AS) $(ASFLAGS)  -o $@ platform.i
-
-pvc: osfpal.lis osfpal.nh osfpal.ent osfpal.map
-       (export PVC_PAL PVC_ENTRY PVC_MAP PVC_CPU;      \
-        PVC_PAL=osfpal.nh;                             \
-        PVC_ENTRY=osfpal.ent;                          \
-        PVC_MAP=osfpal.map;                            \
-        PVC_CPU=ev5;                                   \
-        $(PVC);)
-
-osfpal.lis: osfpal
-       $(DIS) osfpal > $@
-
-osfpal.map: osfpal
-       $(DIS) -m osfpal > $@
+all: tsunami tsunami_b64
+       
+platform_m5b.o: platform_m5.S
+       $(CC) $(CFLAGS) -DBIG_TSUNAMI -o $@ -c $<
        
-depend:
-       @cat < /dev/null > makedep
-       @(for i in $(SFILES); do echo $$i; \
-           $(MAKEDEP) $(DEFINES) $$i |                                         \
-               awk '{ if ($$1 != prev) {if (rec != "") print rec;              \
-                   rec = $$0; prev = $$1; }                                    \
-                   else { if (length(rec $$2) > 78) { print rec; rec = $$0; }  \
-                   else rec = rec " " $$2 } }                                  \
-                   END { print rec }' | sed 's/\.o/\.i/'                       \
-                   >> makedep; done)
-       @echo '/^# DO NOT DELETE THIS LINE/+1,$$d' > eddep
-       @echo '$$r makedep' >> eddep
-       @echo 'w' >> eddep
-       @cp Makefile Makefile.bak
-       @ed - Makefile < eddep
-       @rm -f eddep makedep
-       @echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
-       @echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
-       @echo '# see make depend above' >> Makefile
-
-clean:
-       rm -f core $(OFILES) $(IFILES)
-
-clobber: clean
-       rm -f osfpal.lis osfpal.nh osfpal.map osfpal
 
-rcsinfo:
-       rlog RCS/*
+tlaser:  $(TLOBJS)
+       $(LD) $(LDFLAGS) -o tl_osfpal osfpal.o platform_tlaser.o
 
-rcsget:
-       co -u $(HFILES) $(SFILES)
+tlaser_copy: $(TLOBJS_COPY) $(TLOBJS)
+       $(LD) $(LDFLAGS) -o tl_osfpal_cache osfpal_cache_copy.o platform_tlaser.o
+       $(LD) $(LDFLAGS) -o tl_osfpal_unalign osfpal_cache_copy_unaligned.o platform_tlaser.o
 
-# DO NOT DELETE THIS LINE
-osfpal.i:      osfpal.s
-platform.i:    platform.s ./cserve.h ./platform.h
-# DEPENDENCIES MUST END AT END OF FILE
-# IF YOU PUT STUFF HERE IT WILL GO AWAY
-# see make depend above
+tsunami: $(TSOBJS)
+       $(LD) $(LDFLAGS) -o ts_osfpal osfpal.o platform_m5.o
 
+tsunami_b64: $(TSBOBJS)
+       $(LD) $(LDFLAGS) -o tsb_osfpal osfpal.o platform_m5b.o
 
+tsunami_copy: $(TSOBJS) $(TSOBJS_COPY)
+       $(LD) $(LDFLAGS) -o ts_osfpal_cache  osfpal_cache_copy.o platform_m5.o
+       $(LD) $(LDFLAGS) -o ts_osfpal_unalign osfpal_cache_copy_unaligned.o platform_m5.o
 
+clean:
+       rm -f *.o tl_osfpal tl_osfpal_cache tl_osfpal_unalign ts_osfpal \
+       ts_osfpal_cache ts_osfpal_unalign tsb_osfpal