summaryrefslogtreecommitdiffstatshomepage
path: root/makefile
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2011-06-25 07:03:07 +0000
committer Aaron Giles <aaron@aarongiles.com>2011-06-25 07:03:07 +0000
commitf8adbd63faca4bc25614c62812bea2bed5e32658 (patch)
treee9de92dd632d3c09f66e11969d0f5475f3af8aa1 /makefile
parent77d25b41e19665d7ca2d62e0b53706343ad11ce5 (diff)
Added byuu's cothread library, along with a wrapper class. Switched to
using one cothread for each executable device. This functionality is strictly internal and should result in no changes in scheduling behavior. However, it now becomes possible to exit out of a device's execution in the midst of an instruction by calling machine().scheduler().make_active(). Note that this is somewhat dangerous for cores that have logic at the start of their execute loop to check for interrupts or other conditions, as those checks will be skipped upon resume, so consider this sort of early exiting to be highly experimental for now. [Aaron Giles, Miodrag Milanovic, byuu]
Diffstat (limited to 'makefile')
-rw-r--r--makefile8
1 files changed, 6 insertions, 2 deletions
diff --git a/makefile b/makefile
index 1a2c0608aea..5bdd4079fbc 100644
--- a/makefile
+++ b/makefile
@@ -615,6 +615,10 @@ SOFTFLOAT = $(OBJ)/libsoftfloat.a
# add formats emulation library
FORMATS_LIB = $(OBJ)/libformats.a
+# add cothread library
+COTHREAD = $(OBJ)/libco.a
+
+
#-------------------------------------------------
# 'default' target needs to go here, before the
@@ -715,9 +719,9 @@ $(sort $(OBJDIRS)):
ifndef EXECUTABLE_DEFINED
# always recompile the version string
-$(VERSIONOBJ): $(DRVLIBS) $(LIBOSD) $(LIBCPU) $(LIBEMU) $(LIBSOUND) $(LIBUTIL) $(EXPAT) $(ZLIB) $(SOFTFLOAT) $(FORMATS_LIB) $(LIBOCORE) $(RESFILE)
+$(VERSIONOBJ): $(DRVLIBS) $(LIBOSD) $(LIBCPU) $(LIBEMU) $(LIBSOUND) $(LIBUTIL) $(EXPAT) $(ZLIB) $(SOFTFLOAT) $(FORMATS_LIB) $(COTHREAD) $(LIBOCORE) $(RESFILE)
-$(EMULATOR): $(VERSIONOBJ) $(DRIVLISTOBJ) $(DRVLIBS) $(LIBOSD) $(LIBCPU) $(LIBEMU) $(LIBDASM) $(LIBSOUND) $(LIBUTIL) $(EXPAT) $(SOFTFLOAT) $(FORMATS_LIB) $(ZLIB) $(LIBOCORE) $(RESFILE)
+$(EMULATOR): $(VERSIONOBJ) $(DRIVLISTOBJ) $(DRVLIBS) $(LIBOSD) $(LIBCPU) $(LIBEMU) $(LIBDASM) $(LIBSOUND) $(LIBUTIL) $(EXPAT) $(SOFTFLOAT) $(FORMATS_LIB) $(COTHREAD) $(ZLIB) $(LIBOCORE) $(RESFILE)
@echo Linking $@...
$(LD) $(LDFLAGS) $(LDFLAGSEMULATOR) $^ $(LIBS) -o $@
ifeq ($(TARGETOS),win32)