diff options
Diffstat (limited to 'debugger/system_routine')
| -rw-r--r-- | debugger/system_routine/.gitignore | 12 | ||||
| -rw-r--r-- | debugger/system_routine/GNUmakefile.in | 3 | ||||
| -rw-r--r-- | debugger/system_routine/Makefile | 84 | ||||
| -rw-r--r-- | debugger/system_routine/Makefile.am | 42 |
4 files changed, 52 insertions, 89 deletions
diff --git a/debugger/system_routine/.gitignore b/debugger/system_routine/.gitignore index dad5fcf1..d19500cf 100644 --- a/debugger/system_routine/.gitignore +++ b/debugger/system_routine/.gitignore @@ -1,2 +1,10 @@ -GNUmakefile -!Makefile +evict.h +eviction_macro +sr +sr.asm +sr.c +sr.cpp +tiny +tiny.asm +tiny.c +tiny.cpp diff --git a/debugger/system_routine/GNUmakefile.in b/debugger/system_routine/GNUmakefile.in deleted file mode 100644 index cd29cb52..00000000 --- a/debugger/system_routine/GNUmakefile.in +++ /dev/null @@ -1,3 +0,0 @@ -include Makefile -srcdir = @srcdir@ -VPATH = @srcdir@ diff --git a/debugger/system_routine/Makefile b/debugger/system_routine/Makefile deleted file mode 100644 index 981db496..00000000 --- a/debugger/system_routine/Makefile +++ /dev/null @@ -1,84 +0,0 @@ -# Copyright © 2011 Intel Corporation -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice (including the next -# paragraph) shall be included in all copies or substantial portions of the -# Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -# SOFTWARE. -# -# Authors: -# Ben Widawsky <ben@bwidawsk.net> - -OBJCOPY?=objcopy - -PRECPP=./pre_cpp.py -CPP_FLAGS=-x assembler-with-cpp -P - -GEN4ASM_FLAGS?=-g6 -a -b - -TEMP:=$(shell mktemp) -TEMP2:=$(shell mktemp) - -GPU?=SANDYBRIDGE -DEFINES+=-DGEN_ASM -D$(GPU) -I. -I../..//lib - -all: sr - -sr.c: sr.g4a eviction_macro evict.h - $(PRECPP) $^ > $(TEMP) - $(CPP) $(CPP_FLAGS) $(DEFINES) -o $(TEMP2) $(TEMP) - $(GEN4ASM) $(GEN4ASM_FLAGS) $(TEMP2) -o $@ - -sr : sr.o - $(OBJCOPY) -O binary -K gen_eu_bytes $^ $@ - -# Test files are useful for development. The system routine kernel is very -# simple and doesn't depend on any external communication to run. -test.c: test.g4a - $(PRECPP) $^ > $(TEMP) - $(CPP) $(CPP_FLAGS) $(DEFINES) -o $(TEMP2) $(TEMP) - $(GEN4ASM) $(GEN4ASM_FLAGS) $(TEMP2) -o $@ - -test : test.o - $(OBJCOPY) -O binary -K gen_eu_bytes $^ $@ - -helper: sr.g4a eviction_macro - $(PRECPP) $^ > help - $(CPP) $(CPP_FLAGS) $(DEFINES) -o help2 help - $(GEN4ASM) $(GEN4ASM_FLAGS) help2 -o $@ - -eviction_macro : - -evict.h : eviction_macro - $(shell ./eviction_macro >| evict.h) - -.PHONY : clean -clean : - $(RM) *.o sr.c sr test.c test evict.h eviction_macro - -.PHONY : clean -distclean: clean - $(RM) help* GNUmakefile - -maintainer-clean: clean - -EMPTY_AUTOMAKE_TARGETS = install install-data install-exec uninstall \ - install-dvi install-html install-info install-ps \ - install-pdf installdirs check installcheck \ - mostlyclean dvi pdf ps info html tags ctags \ - distdir -.PHONY: $(EMPTY_AUTOMAKE_TARGETS) -$(EMPTY_AUTOMAKE_TARGETS): diff --git a/debugger/system_routine/Makefile.am b/debugger/system_routine/Makefile.am new file mode 100644 index 00000000..2576e2aa --- /dev/null +++ b/debugger/system_routine/Makefile.am @@ -0,0 +1,42 @@ + +noinst_PROGRAMS = eviction_macro sr tiny +nodist_sr_SOURCES = sr.c +nodist_tiny_SOURCES = tiny.c + +GEN4ASM_FLAGS = -g6 -a -b +ASM_CPPFLAGS = \ + -x assembler-with-cpp \ + -P -DGEN_ASM -DSANDYBRIDGE \ + -I$(top_srcdir)/lib \ + -I$(builddir) + +evict.h : eviction_macro + $(builddir)/eviction_macro > evict.h + +sr.cpp : sr.g4a + $(srcdir)/pre_cpp.py $(srcdir)/sr.g4a > $@.tmp && mv $@.tmp $@ +sr.asm : sr.cpp evict.h + $(CPP) $(ASM_CPPFLAGS) -o $@ sr.cpp +sr.c: sr.asm + $(GEN4ASM) $(GEN4ASM_FLAGS) sr.asm -o $@ +sr.o : sr.c + $(CC) -c -o $@ sr.c +sr : sr.o + $(OBJCOPY) -O binary -K gen_eu_bytes sr.o $@ + +# Test.g4a is the simplest possible system routine we can run on the GPU +# without actually hanging the system. The system routine kernel is very +# simple and doesn't depend on any external communication to run. +tiny.cpp : test.g4a + $(srcdir)/pre_cpp.py $(srcdir)/test.g4a > $@.tmp && mv $@.tmp $@ +tiny.asm : tiny.cpp + $(CPP) $(ASM_CPPFLAGS) -o $@ tiny.cpp +tiny.c: tiny.asm + $(GEN4ASM) $(GEN4ASM_FLAGS) tiny.asm -o $@ +tiny.o : tiny.c + $(CC) -c -o $@ tiny.c +tiny : tiny.o + $(OBJCOPY) -O binary -K gen_eu_bytes tiny.o $@ + +CLEANFILES = evict.h sr.cpp sr.asm sr.c tiny.cpp tiny.asm tiny.c +EXTRA_DIST = pre_cpp.py sr.g4a test.g4a |
