diff --git a/Depfile b/Depfile index ded280f..2a2efa0 100644 --- a/Depfile +++ b/Depfile @@ -26,19 +26,21 @@ LDFLAGS=-g -m32 -nostdlib -fno-builtin -Tkernel.ld -- +TOOLS=/home/felix/projects/Electronics/build-Electronics-Clang-Debug/bin + obj/main.o: scripts/main.cu - /home/felix/projects/Electronics/build-Electronics-Desktop-Debug/bin/copper \ + $(TOOLS)/copper \ scripts/main.cu > \ scripts/main.cu.spark - /home/felix/projects/Electronics/build-Electronics-Desktop-Debug/bin/spark \ + $(TOOLS)/spark \ scripts/main.cu.spark \ - obj/main.ca + obj/main.in objcopy -B i386 -I binary -O elf32-i386 \ - obj/main.ca obj/main.o + obj/main.in obj/main.o objcopy \ - --redefine-sym _binary_obj_main_ca_start=mainscript_start \ - --redefine-sym _binary_obj_main_ca_end=mainscript_end \ - --redefine-sym _binary_obj_main_ca_size=mainscript_size \ + --redefine-sym _binary_obj_main_in_start=mainscript_start \ + --redefine-sym _binary_obj_main_in_end=mainscript_end \ + --redefine-sym _binary_obj_main_in_size=mainscript_size \ obj/main.o .PHONY: run diff --git a/Makefile b/Makefile index 899b095..739cb3f 100644 --- a/Makefile +++ b/Makefile @@ -8,12 +8,13 @@ CXX = g++ LD = g++ LEX = flex YACC = bison +TEMPLE = mono temple.exe # File Lists SRCS_AS = asm/dynamic.S asm/intr_common_handler.S asm/multiboot.S asm/start.S SRCS_CC = src/console.c src/init.c src/interrupts.c src/malloc.c src/pmm.c src/serial.c src/stdlib.c src/timer.c src/vmm.c -SRCS_CXX = src/cplusplus.cpp src/cpp-test.cpp src/vm.cpp csl/cpustatetype.cpp -OBJS = obj/dynamic.o obj/intr_common_handler.o obj/multiboot.o obj/start.o obj/console.o obj/init.o obj/interrupts.o obj/malloc.o obj/pmm.o obj/serial.o obj/stdlib.o obj/timer.o obj/vmm.o obj/cplusplus.o obj/cpp-test.o obj/vm.o obj/cpustatetype.o obj/main.o +SRCS_CXX = src/cplusplus.cpp src/cpp-test.cpp src/vm.cpp csl/casts.cpp csl/cpustatetype.cpp csl/io.cpp +OBJS = obj/dynamic.o obj/intr_common_handler.o obj/multiboot.o obj/start.o obj/console.o obj/init.o obj/interrupts.o obj/malloc.o obj/pmm.o obj/serial.o obj/stdlib.o obj/timer.o obj/vmm.o obj/cplusplus.o obj/cpp-test.o obj/vm.o obj/casts.o obj/cpustatetype.o obj/io.o obj/main.o # Flags FLAGS = -m32 -DCIRCUIT_OS -Dnullptr=0 -D__cdecl="__attribute__((cdecl))" -mno-sse -mno-sse2 -mno-mmx -I/home/felix/projects/Electronics/Electronics/Conductance -I/home/felix/projects/Electronics/Electronics/Tools @@ -27,84 +28,92 @@ all: kernel .PHONY: clean clean: - $(RM) obj/dynamic.o obj/intr_common_handler.o obj/multiboot.o obj/start.o obj/console.o obj/init.o obj/interrupts.o obj/malloc.o obj/pmm.o obj/serial.o obj/stdlib.o obj/timer.o obj/vmm.o obj/cplusplus.o obj/cpp-test.o obj/vm.o obj/cpustatetype.o obj/main.o + $(RM) obj/dynamic.o obj/intr_common_handler.o obj/multiboot.o obj/start.o obj/console.o obj/init.o obj/interrupts.o obj/malloc.o obj/pmm.o obj/serial.o obj/stdlib.o obj/timer.o obj/vmm.o obj/cplusplus.o obj/cpp-test.o obj/vm.o obj/casts.o obj/cpustatetype.o obj/io.o obj/main.o -kernel: obj/dynamic.o obj/intr_common_handler.o obj/multiboot.o obj/start.o obj/console.o obj/init.o obj/interrupts.o obj/malloc.o obj/pmm.o obj/serial.o obj/stdlib.o obj/timer.o obj/vmm.o obj/cplusplus.o obj/cpp-test.o obj/vm.o obj/cpustatetype.o obj/main.o conductance/assembly.o conductance/compoundtype.o conductance/instructions.o conductance/opcodes.o conductance/process.o conductance/string.o conductance/thread.o conductance/virtualmachine.o conductance/vmpointertype.o conductance/vmprimitivetype.o conductance/vmtype.o conductance/vmvalue.o conductance/vmvoidtype.o - $(LD) $(FLAGS) $(LDFLAGS) -o $@ obj/dynamic.o obj/intr_common_handler.o obj/multiboot.o obj/start.o obj/console.o obj/init.o obj/interrupts.o obj/malloc.o obj/pmm.o obj/serial.o obj/stdlib.o obj/timer.o obj/vmm.o obj/cplusplus.o obj/cpp-test.o obj/vm.o obj/cpustatetype.o obj/main.o conductance/assembly.o conductance/compoundtype.o conductance/instructions.o conductance/opcodes.o conductance/process.o conductance/string.o conductance/thread.o conductance/virtualmachine.o conductance/vmpointertype.o conductance/vmprimitivetype.o conductance/vmtype.o conductance/vmvalue.o conductance/vmvoidtype.o +kernel: obj/dynamic.o obj/intr_common_handler.o obj/multiboot.o obj/start.o obj/console.o obj/init.o obj/interrupts.o obj/malloc.o obj/pmm.o obj/serial.o obj/stdlib.o obj/timer.o obj/vmm.o obj/cplusplus.o obj/cpp-test.o obj/vm.o obj/casts.o obj/cpustatetype.o obj/io.o obj/main.o conductance/assembly.o conductance/compoundtype.o conductance/instructions.o conductance/opcodes.o conductance/process.o conductance/string.o conductance/thread.o conductance/virtualmachine.o conductance/vmpointertype.o conductance/vmprimitivetype.o conductance/vmtype.o conductance/vmvalue.o conductance/vmvoidtype.o + $(LD) $(FLAGS) $(LDFLAGS) -o $@ obj/dynamic.o obj/intr_common_handler.o obj/multiboot.o obj/start.o obj/console.o obj/init.o obj/interrupts.o obj/malloc.o obj/pmm.o obj/serial.o obj/stdlib.o obj/timer.o obj/vmm.o obj/cplusplus.o obj/cpp-test.o obj/vm.o obj/casts.o obj/cpustatetype.o obj/io.o obj/main.o conductance/assembly.o conductance/compoundtype.o conductance/instructions.o conductance/opcodes.o conductance/process.o conductance/string.o conductance/thread.o conductance/virtualmachine.o conductance/vmpointertype.o conductance/vmprimitivetype.o conductance/vmtype.o conductance/vmvalue.o conductance/vmvoidtype.o # src/console.c obj/console.o: src/console.c include/console.h include/kstdlib.h \ include/varargs.h include/config.h include/malloc.h - $(CC) $(FLAGS) $(CCFLAGS) -o $@ -c src/console.c + $(CC) -iquoteobj $(FLAGS) $(CCFLAGS) -o $@ -c src/console.c # src/init.c obj/init.o: src/init.c include/kernel.h include/kstdlib.h include/varargs.h \ include/config.h include/malloc.h include/console.h include/interrupts.h \ include/cpustate.h include/pmm.h include/multiboot.h include/vmm.h \ include/timer.h include/serial.h - $(CC) $(FLAGS) $(CCFLAGS) -o $@ -c src/init.c + $(CC) -iquoteobj $(FLAGS) $(CCFLAGS) -o $@ -c src/init.c # src/interrupts.c obj/interrupts.o: src/interrupts.c include/interrupts.h include/cpustate.h \ include/console.h include/kstdlib.h include/varargs.h include/config.h \ include/malloc.h include/io.h src/intr_stubs.h - $(CC) $(FLAGS) $(CCFLAGS) -o $@ -c src/interrupts.c + $(CC) -iquoteobj $(FLAGS) $(CCFLAGS) -o $@ -c src/interrupts.c # src/malloc.c obj/malloc.o: src/malloc.c include/config.h include/kernel.h \ include/kstdlib.h include/varargs.h include/malloc.h include/console.h \ include/serial.h - $(CC) $(FLAGS) $(CCFLAGS) -o $@ -c src/malloc.c + $(CC) -iquoteobj $(FLAGS) $(CCFLAGS) -o $@ -c src/malloc.c # src/pmm.c obj/pmm.o: src/pmm.c include/pmm.h include/multiboot.h include/kernel.h \ include/kstdlib.h include/varargs.h include/config.h include/malloc.h \ include/console.h - $(CC) $(FLAGS) $(CCFLAGS) -o $@ -c src/pmm.c + $(CC) -iquoteobj $(FLAGS) $(CCFLAGS) -o $@ -c src/pmm.c # src/serial.c obj/serial.o: src/serial.c include/io.h include/serial.h include/kstdlib.h \ include/varargs.h include/config.h include/malloc.h - $(CC) $(FLAGS) $(CCFLAGS) -o $@ -c src/serial.c + $(CC) -iquoteobj $(FLAGS) $(CCFLAGS) -o $@ -c src/serial.c # src/stdlib.c obj/stdlib.o: src/stdlib.c include/kstdlib.h include/varargs.h \ include/config.h include/malloc.h include/kernel.h - $(CC) $(FLAGS) $(CCFLAGS) -o $@ -c src/stdlib.c + $(CC) -iquoteobj $(FLAGS) $(CCFLAGS) -o $@ -c src/stdlib.c # src/timer.c obj/timer.o: src/timer.c include/timer.h include/kernel.h \ include/interrupts.h include/cpustate.h - $(CC) $(FLAGS) $(CCFLAGS) -o $@ -c src/timer.c + $(CC) -iquoteobj $(FLAGS) $(CCFLAGS) -o $@ -c src/timer.c # src/vmm.c obj/vmm.o: src/vmm.c include/config.h include/vmm.h include/pmm.h \ include/multiboot.h include/kstdlib.h include/varargs.h include/malloc.h \ include/console.h include/kernel.h - $(CC) $(FLAGS) $(CCFLAGS) -o $@ -c src/vmm.c + $(CC) -iquoteobj $(FLAGS) $(CCFLAGS) -o $@ -c src/vmm.c # src/cplusplus.cpp obj/cplusplus.o: src/cplusplus.cpp include/kstdlib.h include/varargs.h \ include/config.h include/malloc.h include/console.h include/ker/new.hpp - $(CXX) $(FLAGS) $(CXXFLAGS) -o $@ -c src/cplusplus.cpp + $(CXX) -iquoteobj $(FLAGS) $(CXXFLAGS) -o $@ -c src/cplusplus.cpp # src/cpp-test.cpp obj/cpp-test.o: src/cpp-test.cpp include/console.h include/ker/string.hpp \ include/ker/vector.hpp include/ker/dictionary.hpp include/kernel.h \ include/ker/pair.hpp - $(CXX) $(FLAGS) $(CXXFLAGS) -o $@ -c src/cpp-test.cpp + $(CXX) -iquoteobj $(FLAGS) $(CXXFLAGS) -o $@ -c src/cpp-test.cpp # src/vm.cpp obj/vm.o: src/vm.cpp include/kstdlib.h include/varargs.h include/config.h \ include/malloc.h include/timer.h include/dynamic.h include/console.h \ include/interrupts.h include/cpustate.h src/../csl/cpustatetype.hpp \ - include/io.h - $(CXX) $(FLAGS) $(CXXFLAGS) -o $@ -c src/vm.cpp + src/../csl/io.hpp src/../csl/casts.hpp include/io.h + $(CXX) -iquoteobj $(FLAGS) $(CXXFLAGS) -o $@ -c src/vm.cpp + +# csl/casts.cpp +obj/casts.o: csl/casts.cpp csl/casts.hpp + $(CXX) -iquoteobj $(FLAGS) $(CXXFLAGS) -o $@ -c csl/casts.cpp # csl/cpustatetype.cpp obj/cpustatetype.o: csl/cpustatetype.cpp csl/cpustatetype.hpp \ include/cpustate.h include/console.h - $(CXX) $(FLAGS) $(CXXFLAGS) -o $@ -c csl/cpustatetype.cpp + $(CXX) -iquoteobj $(FLAGS) $(CXXFLAGS) -o $@ -c csl/cpustatetype.cpp + +# csl/io.cpp +obj/io.o: csl/io.cpp include/io.h csl/io.hpp + $(CXX) -iquoteobj $(FLAGS) $(CXXFLAGS) -o $@ -c csl/io.cpp # asm/dynamic.S obj/dynamic.o: asm/dynamic.S @@ -124,19 +133,21 @@ obj/start.o: asm/start.S # Custom Targets +TOOLS=/home/felix/projects/Electronics/build-Electronics-Clang-Debug/bin + obj/main.o: scripts/main.cu - /home/felix/projects/Electronics/build-Electronics-Desktop-Debug/bin/copper \ + $(TOOLS)/copper \ scripts/main.cu > \ scripts/main.cu.spark - /home/felix/projects/Electronics/build-Electronics-Desktop-Debug/bin/spark \ + $(TOOLS)/spark \ scripts/main.cu.spark \ - obj/main.ca + obj/main.in objcopy -B i386 -I binary -O elf32-i386 \ - obj/main.ca obj/main.o + obj/main.in obj/main.o objcopy \ - --redefine-sym _binary_obj_main_ca_start=mainscript_start \ - --redefine-sym _binary_obj_main_ca_end=mainscript_end \ - --redefine-sym _binary_obj_main_ca_size=mainscript_size \ + --redefine-sym _binary_obj_main_in_start=mainscript_start \ + --redefine-sym _binary_obj_main_in_end=mainscript_end \ + --redefine-sym _binary_obj_main_in_size=mainscript_size \ obj/main.o .PHONY: run diff --git a/conductance/Makefile b/conductance/Makefile index 38495d6..f7edb1b 100644 --- a/conductance/Makefile +++ b/conductance/Makefile @@ -15,7 +15,7 @@ CXX = g++ DEFINES = -DCIRCUIT_OS CFLAGS = -pipe -m32 -g -fPIC -Wall -W $(DEFINES) CXXFLAGS = -pipe -g -Wall -Wextra -fno-stack-protector -fno-use-cxa-atexit -nostdlib -fno-builtin -fno-rtti -fno-exceptions -ffreestanding -m32 -fno-leading-underscore -g -fPIC -std=c++0x -Wall -W $(DEFINES) -INCPATH = -I../../Electronics/Electronics/Conductance -I. -I../../Electronics/Electronics/Tools -I../include -I/usr/lib/qt/mkspecs/linux-g++ +INCPATH = -I../../Electronics/Electronics/Conductance -I. -I../../Electronics/Electronics/Tools -I/home/felix/projects/trainOS/include -I/usr/lib/qt/mkspecs/linux-g++ QMAKE = /usr/lib/qt/bin/qmake DEL_FILE = rm -f CHK_DIR_EXISTS= test -d @@ -33,7 +33,7 @@ MOVE = mv -f TAR = tar -cf COMPRESS = gzip -9f DISTNAME = Conductance1.0.0 -DISTDIR = /home/felix/projects/trainOS/conductance/.tmp/Conductance1.0.0 +DISTDIR = /data/projects/trainOS/conductance/.tmp/Conductance1.0.0 AR = ar cqs RANLIB = SED = sed @@ -81,7 +81,6 @@ DIST = /usr/lib/qt/mkspecs/features/spec_pre.prf \ /usr/lib/qt/mkspecs/common/g++-unix.conf \ /usr/lib/qt/mkspecs/qconfig.pri \ /usr/lib/qt/mkspecs/modules/qt_Attica.pri \ - /usr/lib/qt/mkspecs/modules/qt_BluezQt.pri \ /usr/lib/qt/mkspecs/modules/qt_KActivities.pri \ /usr/lib/qt/mkspecs/modules/qt_KArchive.pri \ /usr/lib/qt/mkspecs/modules/qt_KAuth.pri \ @@ -117,8 +116,6 @@ DIST = /usr/lib/qt/mkspecs/features/spec_pre.prf \ /usr/lib/qt/mkspecs/modules/qt_KWidgetsAddons.pri \ /usr/lib/qt/mkspecs/modules/qt_KWindowSystem.pri \ /usr/lib/qt/mkspecs/modules/qt_KXmlGui.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_bluetooth.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_bluetooth_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_bootstrap_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_clucene_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_concurrent.pri \ @@ -141,14 +138,8 @@ DIST = /usr/lib/qt/mkspecs/features/spec_pre.prf \ /usr/lib/qt/mkspecs/modules/qt_lib_help_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_location.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_location_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_multimedia.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_multimedia_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_multimediawidgets.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_multimediawidgets_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_network.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_network_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_nfc.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_nfc_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_opengl.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_opengl_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_openglextensions.pri \ @@ -163,7 +154,6 @@ DIST = /usr/lib/qt/mkspecs/features/spec_pre.prf \ /usr/lib/qt/mkspecs/modules/qt_lib_qmldevtools_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_qmltest.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_qmltest_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_quick.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_quick_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_quickparticles_private.pri \ @@ -186,16 +176,8 @@ DIST = /usr/lib/qt/mkspecs/features/spec_pre.prf \ /usr/lib/qt/mkspecs/modules/qt_lib_uiplugin.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_uitools.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_uitools_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_waylandclient.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_waylandclient_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_webchannel.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_webchannel_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webengine.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webengine_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webenginecore.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webenginecore_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webenginewidgets.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webenginewidgets_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_webkit.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_webkit_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_webkitwidgets.pri \ @@ -302,7 +284,6 @@ Makefile: ../../Electronics/Electronics/Conductance/Conductance.pro /usr/lib/qt/ /usr/lib/qt/mkspecs/common/g++-unix.conf \ /usr/lib/qt/mkspecs/qconfig.pri \ /usr/lib/qt/mkspecs/modules/qt_Attica.pri \ - /usr/lib/qt/mkspecs/modules/qt_BluezQt.pri \ /usr/lib/qt/mkspecs/modules/qt_KActivities.pri \ /usr/lib/qt/mkspecs/modules/qt_KArchive.pri \ /usr/lib/qt/mkspecs/modules/qt_KAuth.pri \ @@ -338,8 +319,6 @@ Makefile: ../../Electronics/Electronics/Conductance/Conductance.pro /usr/lib/qt/ /usr/lib/qt/mkspecs/modules/qt_KWidgetsAddons.pri \ /usr/lib/qt/mkspecs/modules/qt_KWindowSystem.pri \ /usr/lib/qt/mkspecs/modules/qt_KXmlGui.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_bluetooth.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_bluetooth_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_bootstrap_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_clucene_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_concurrent.pri \ @@ -362,14 +341,8 @@ Makefile: ../../Electronics/Electronics/Conductance/Conductance.pro /usr/lib/qt/ /usr/lib/qt/mkspecs/modules/qt_lib_help_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_location.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_location_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_multimedia.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_multimedia_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_multimediawidgets.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_multimediawidgets_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_network.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_network_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_nfc.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_nfc_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_opengl.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_opengl_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_openglextensions.pri \ @@ -384,7 +357,6 @@ Makefile: ../../Electronics/Electronics/Conductance/Conductance.pro /usr/lib/qt/ /usr/lib/qt/mkspecs/modules/qt_lib_qmldevtools_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_qmltest.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_qmltest_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_quick.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_quick_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_quickparticles_private.pri \ @@ -407,16 +379,8 @@ Makefile: ../../Electronics/Electronics/Conductance/Conductance.pro /usr/lib/qt/ /usr/lib/qt/mkspecs/modules/qt_lib_uiplugin.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_uitools.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_uitools_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_waylandclient.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_waylandclient_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_webchannel.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_webchannel_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webengine.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webengine_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webenginecore.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webenginecore_private.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webenginewidgets.pri \ - /usr/lib/qt/mkspecs/modules/qt_lib_webenginewidgets_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_webkit.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_webkit_private.pri \ /usr/lib/qt/mkspecs/modules/qt_lib_webkitwidgets.pri \ @@ -465,7 +429,6 @@ Makefile: ../../Electronics/Electronics/Conductance/Conductance.pro /usr/lib/qt/ /usr/lib/qt/mkspecs/common/g++-unix.conf: /usr/lib/qt/mkspecs/qconfig.pri: /usr/lib/qt/mkspecs/modules/qt_Attica.pri: -/usr/lib/qt/mkspecs/modules/qt_BluezQt.pri: /usr/lib/qt/mkspecs/modules/qt_KActivities.pri: /usr/lib/qt/mkspecs/modules/qt_KArchive.pri: /usr/lib/qt/mkspecs/modules/qt_KAuth.pri: @@ -501,8 +464,6 @@ Makefile: ../../Electronics/Electronics/Conductance/Conductance.pro /usr/lib/qt/ /usr/lib/qt/mkspecs/modules/qt_KWidgetsAddons.pri: /usr/lib/qt/mkspecs/modules/qt_KWindowSystem.pri: /usr/lib/qt/mkspecs/modules/qt_KXmlGui.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_bluetooth.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_bluetooth_private.pri: /usr/lib/qt/mkspecs/modules/qt_lib_bootstrap_private.pri: /usr/lib/qt/mkspecs/modules/qt_lib_clucene_private.pri: /usr/lib/qt/mkspecs/modules/qt_lib_concurrent.pri: @@ -525,14 +486,8 @@ Makefile: ../../Electronics/Electronics/Conductance/Conductance.pro /usr/lib/qt/ /usr/lib/qt/mkspecs/modules/qt_lib_help_private.pri: /usr/lib/qt/mkspecs/modules/qt_lib_location.pri: /usr/lib/qt/mkspecs/modules/qt_lib_location_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_multimedia.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_multimedia_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_multimediawidgets.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_multimediawidgets_private.pri: /usr/lib/qt/mkspecs/modules/qt_lib_network.pri: /usr/lib/qt/mkspecs/modules/qt_lib_network_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_nfc.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_nfc_private.pri: /usr/lib/qt/mkspecs/modules/qt_lib_opengl.pri: /usr/lib/qt/mkspecs/modules/qt_lib_opengl_private.pri: /usr/lib/qt/mkspecs/modules/qt_lib_openglextensions.pri: @@ -547,7 +502,6 @@ Makefile: ../../Electronics/Electronics/Conductance/Conductance.pro /usr/lib/qt/ /usr/lib/qt/mkspecs/modules/qt_lib_qmldevtools_private.pri: /usr/lib/qt/mkspecs/modules/qt_lib_qmltest.pri: /usr/lib/qt/mkspecs/modules/qt_lib_qmltest_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri: /usr/lib/qt/mkspecs/modules/qt_lib_quick.pri: /usr/lib/qt/mkspecs/modules/qt_lib_quick_private.pri: /usr/lib/qt/mkspecs/modules/qt_lib_quickparticles_private.pri: @@ -570,16 +524,8 @@ Makefile: ../../Electronics/Electronics/Conductance/Conductance.pro /usr/lib/qt/ /usr/lib/qt/mkspecs/modules/qt_lib_uiplugin.pri: /usr/lib/qt/mkspecs/modules/qt_lib_uitools.pri: /usr/lib/qt/mkspecs/modules/qt_lib_uitools_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_waylandclient.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_waylandclient_private.pri: /usr/lib/qt/mkspecs/modules/qt_lib_webchannel.pri: /usr/lib/qt/mkspecs/modules/qt_lib_webchannel_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_webengine.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_webengine_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_webenginecore.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_webenginecore_private.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_webenginewidgets.pri: -/usr/lib/qt/mkspecs/modules/qt_lib_webenginewidgets_private.pri: /usr/lib/qt/mkspecs/modules/qt_lib_webkit.pri: /usr/lib/qt/mkspecs/modules/qt_lib_webkit_private.pri: /usr/lib/qt/mkspecs/modules/qt_lib_webkitwidgets.pri: @@ -658,18 +604,18 @@ compiler_clean: ####### Compile compoundtype.o: ../../Electronics/Electronics/Conductance/types/compoundtype.cpp ../../Electronics/Electronics/Conductance/types/compoundtype.hpp \ - ../include/ker/dictionary.hpp \ - ../include/kernel.h \ - ../include/ker/pair.hpp \ - ../include/ker/vector.hpp \ - ../include/kstdlib.h \ - ../include/varargs.h \ - ../include/config.h \ - ../include/malloc.h \ - ../include/ker/new.hpp \ + /home/felix/projects/trainOS/include/ker/dictionary.hpp \ + /home/felix/projects/trainOS/include/kernel.h \ + /home/felix/projects/trainOS/include/ker/pair.hpp \ + /home/felix/projects/trainOS/include/ker/vector.hpp \ + /home/felix/projects/trainOS/include/kstdlib.h \ + /home/felix/projects/trainOS/include/varargs.h \ + /home/felix/projects/trainOS/include/config.h \ + /home/felix/projects/trainOS/include/malloc.h \ + /home/felix/projects/trainOS/include/ker/new.hpp \ ../../Electronics/Electronics/Conductance/vmtype.hpp \ ../../Electronics/Electronics/Conductance/vmtypes.hpp \ - ../include/ker/string.hpp \ + /home/felix/projects/trainOS/include/ker/string.hpp \ ../../Electronics/Electronics/Conductance/vmvalue.hpp \ ../../Electronics/Electronics/Conductance/opcodes.hpp \ ../../Electronics/Electronics/Tools/fixedstring.hpp @@ -678,68 +624,68 @@ compoundtype.o: ../../Electronics/Electronics/Conductance/types/compoundtype.cpp vmpointertype.o: ../../Electronics/Electronics/Conductance/types/vmpointertype.cpp ../../Electronics/Electronics/Conductance/types/vmpointertype.hpp \ ../../Electronics/Electronics/Conductance/vmtype.hpp \ ../../Electronics/Electronics/Conductance/vmtypes.hpp \ - ../include/ker/string.hpp \ - ../include/kstdlib.h \ - ../include/varargs.h \ - ../include/config.h \ - ../include/malloc.h \ - ../include/ker/vector.hpp \ - ../include/ker/new.hpp \ + /home/felix/projects/trainOS/include/ker/string.hpp \ + /home/felix/projects/trainOS/include/kstdlib.h \ + /home/felix/projects/trainOS/include/varargs.h \ + /home/felix/projects/trainOS/include/config.h \ + /home/felix/projects/trainOS/include/malloc.h \ + /home/felix/projects/trainOS/include/ker/vector.hpp \ + /home/felix/projects/trainOS/include/ker/new.hpp \ ../../Electronics/Electronics/Conductance/vmvalue.hpp \ ../../Electronics/Electronics/Conductance/opcodes.hpp \ - ../include/ker/dictionary.hpp \ - ../include/kernel.h \ - ../include/ker/pair.hpp \ + /home/felix/projects/trainOS/include/ker/dictionary.hpp \ + /home/felix/projects/trainOS/include/kernel.h \ + /home/felix/projects/trainOS/include/ker/pair.hpp \ ../../Electronics/Electronics/Tools/fixedstring.hpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o vmpointertype.o ../../Electronics/Electronics/Conductance/types/vmpointertype.cpp vmprimitivetype.o: ../../Electronics/Electronics/Conductance/types/vmprimitivetype.cpp ../../Electronics/Electronics/Conductance/types/vmprimitivetype.hpp \ - ../include/ker/string.hpp \ - ../include/kstdlib.h \ - ../include/varargs.h \ - ../include/config.h \ - ../include/malloc.h \ + /home/felix/projects/trainOS/include/ker/string.hpp \ + /home/felix/projects/trainOS/include/kstdlib.h \ + /home/felix/projects/trainOS/include/varargs.h \ + /home/felix/projects/trainOS/include/config.h \ + /home/felix/projects/trainOS/include/malloc.h \ ../../Electronics/Electronics/Conductance/vmtype.hpp \ ../../Electronics/Electronics/Conductance/vmtypes.hpp \ - ../include/ker/vector.hpp \ - ../include/ker/new.hpp \ + /home/felix/projects/trainOS/include/ker/vector.hpp \ + /home/felix/projects/trainOS/include/ker/new.hpp \ ../../Electronics/Electronics/Conductance/vmvalue.hpp \ ../../Electronics/Electronics/Conductance/opcodes.hpp \ - ../include/ker/dictionary.hpp \ - ../include/kernel.h \ - ../include/ker/pair.hpp \ + /home/felix/projects/trainOS/include/ker/dictionary.hpp \ + /home/felix/projects/trainOS/include/kernel.h \ + /home/felix/projects/trainOS/include/ker/pair.hpp \ ../../Electronics/Electronics/Tools/fixedstring.hpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o vmprimitivetype.o ../../Electronics/Electronics/Conductance/types/vmprimitivetype.cpp vmvoidtype.o: ../../Electronics/Electronics/Conductance/types/vmvoidtype.cpp ../../Electronics/Electronics/Conductance/types/vmvoidtype.hpp \ ../../Electronics/Electronics/Conductance/vmtype.hpp \ ../../Electronics/Electronics/Conductance/vmtypes.hpp \ - ../include/ker/string.hpp \ - ../include/kstdlib.h \ - ../include/varargs.h \ - ../include/config.h \ - ../include/malloc.h \ - ../include/ker/vector.hpp \ - ../include/ker/new.hpp \ + /home/felix/projects/trainOS/include/ker/string.hpp \ + /home/felix/projects/trainOS/include/kstdlib.h \ + /home/felix/projects/trainOS/include/varargs.h \ + /home/felix/projects/trainOS/include/config.h \ + /home/felix/projects/trainOS/include/malloc.h \ + /home/felix/projects/trainOS/include/ker/vector.hpp \ + /home/felix/projects/trainOS/include/ker/new.hpp \ ../../Electronics/Electronics/Conductance/vmvalue.hpp \ ../../Electronics/Electronics/Conductance/opcodes.hpp \ - ../include/ker/dictionary.hpp \ - ../include/kernel.h \ - ../include/ker/pair.hpp \ + /home/felix/projects/trainOS/include/ker/dictionary.hpp \ + /home/felix/projects/trainOS/include/kernel.h \ + /home/felix/projects/trainOS/include/ker/pair.hpp \ ../../Electronics/Electronics/Tools/fixedstring.hpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o vmvoidtype.o ../../Electronics/Electronics/Conductance/types/vmvoidtype.cpp assembly.o: ../../Electronics/Electronics/Conductance/assembly.cpp ../../Electronics/Electronics/Conductance/assembly.hpp \ - ../include/ker/dictionary.hpp \ - ../include/kernel.h \ - ../include/ker/pair.hpp \ - ../include/ker/vector.hpp \ - ../include/kstdlib.h \ - ../include/varargs.h \ - ../include/config.h \ - ../include/malloc.h \ - ../include/ker/new.hpp \ - ../include/ker/string.hpp \ + /home/felix/projects/trainOS/include/ker/dictionary.hpp \ + /home/felix/projects/trainOS/include/kernel.h \ + /home/felix/projects/trainOS/include/ker/pair.hpp \ + /home/felix/projects/trainOS/include/ker/vector.hpp \ + /home/felix/projects/trainOS/include/kstdlib.h \ + /home/felix/projects/trainOS/include/varargs.h \ + /home/felix/projects/trainOS/include/config.h \ + /home/felix/projects/trainOS/include/malloc.h \ + /home/felix/projects/trainOS/include/ker/new.hpp \ + /home/felix/projects/trainOS/include/ker/string.hpp \ ../../Electronics/Electronics/Conductance/vmtypes.hpp \ ../../Electronics/Electronics/Tools/refcounted.hpp \ ../../Electronics/Electronics/Tools/fixedstring.hpp \ @@ -748,33 +694,33 @@ assembly.o: ../../Electronics/Electronics/Conductance/assembly.cpp ../../Electro $(CXX) -c $(CXXFLAGS) $(INCPATH) -o assembly.o ../../Electronics/Electronics/Conductance/assembly.cpp opcodes.o: ../../Electronics/Electronics/Conductance/opcodes.cpp ../../Electronics/Electronics/Conductance/opcodes.hpp \ - ../include/ker/dictionary.hpp \ - ../include/kernel.h \ - ../include/ker/pair.hpp \ - ../include/ker/vector.hpp \ - ../include/kstdlib.h \ - ../include/varargs.h \ - ../include/config.h \ - ../include/malloc.h \ - ../include/ker/new.hpp \ - ../include/ker/string.hpp \ + /home/felix/projects/trainOS/include/ker/dictionary.hpp \ + /home/felix/projects/trainOS/include/kernel.h \ + /home/felix/projects/trainOS/include/ker/pair.hpp \ + /home/felix/projects/trainOS/include/ker/vector.hpp \ + /home/felix/projects/trainOS/include/kstdlib.h \ + /home/felix/projects/trainOS/include/varargs.h \ + /home/felix/projects/trainOS/include/config.h \ + /home/felix/projects/trainOS/include/malloc.h \ + /home/felix/projects/trainOS/include/ker/new.hpp \ + /home/felix/projects/trainOS/include/ker/string.hpp \ ../../Electronics/Electronics/Tools/fixedstring.hpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o opcodes.o ../../Electronics/Electronics/Conductance/opcodes.cpp -virtualmachine.o: ../../Electronics/Electronics/Conductance/virtualmachine.cpp ../include/kstdlib.h \ - ../include/varargs.h \ - ../include/config.h \ - ../include/malloc.h \ +virtualmachine.o: ../../Electronics/Electronics/Conductance/virtualmachine.cpp /home/felix/projects/trainOS/include/kstdlib.h \ + /home/felix/projects/trainOS/include/varargs.h \ + /home/felix/projects/trainOS/include/config.h \ + /home/felix/projects/trainOS/include/malloc.h \ ../../Electronics/Electronics/Conductance/vmtype.hpp \ ../../Electronics/Electronics/Conductance/vmtypes.hpp \ - ../include/ker/string.hpp \ - ../include/ker/vector.hpp \ - ../include/ker/new.hpp \ + /home/felix/projects/trainOS/include/ker/string.hpp \ + /home/felix/projects/trainOS/include/ker/vector.hpp \ + /home/felix/projects/trainOS/include/ker/new.hpp \ ../../Electronics/Electronics/Conductance/vmvalue.hpp \ ../../Electronics/Electronics/Conductance/opcodes.hpp \ - ../include/ker/dictionary.hpp \ - ../include/kernel.h \ - ../include/ker/pair.hpp \ + /home/felix/projects/trainOS/include/ker/dictionary.hpp \ + /home/felix/projects/trainOS/include/kernel.h \ + /home/felix/projects/trainOS/include/ker/pair.hpp \ ../../Electronics/Electronics/Tools/fixedstring.hpp \ ../../Electronics/Electronics/Conductance/virtualmachine.hpp \ ../../Electronics/Electronics/Tools/binaryreader.hpp \ @@ -785,18 +731,18 @@ virtualmachine.o: ../../Electronics/Electronics/Conductance/virtualmachine.cpp . vmtype.o: ../../Electronics/Electronics/Conductance/vmtype.cpp ../../Electronics/Electronics/Conductance/vmtype.hpp \ ../../Electronics/Electronics/Conductance/vmtypes.hpp \ - ../include/ker/string.hpp \ - ../include/kstdlib.h \ - ../include/varargs.h \ - ../include/config.h \ - ../include/malloc.h \ - ../include/ker/vector.hpp \ - ../include/ker/new.hpp \ + /home/felix/projects/trainOS/include/ker/string.hpp \ + /home/felix/projects/trainOS/include/kstdlib.h \ + /home/felix/projects/trainOS/include/varargs.h \ + /home/felix/projects/trainOS/include/config.h \ + /home/felix/projects/trainOS/include/malloc.h \ + /home/felix/projects/trainOS/include/ker/vector.hpp \ + /home/felix/projects/trainOS/include/ker/new.hpp \ ../../Electronics/Electronics/Conductance/vmvalue.hpp \ ../../Electronics/Electronics/Conductance/opcodes.hpp \ - ../include/ker/dictionary.hpp \ - ../include/kernel.h \ - ../include/ker/pair.hpp \ + /home/felix/projects/trainOS/include/ker/dictionary.hpp \ + /home/felix/projects/trainOS/include/kernel.h \ + /home/felix/projects/trainOS/include/ker/pair.hpp \ ../../Electronics/Electronics/Tools/fixedstring.hpp \ ../../Electronics/Electronics/Conductance/types/vmvoidtype.hpp \ ../../Electronics/Electronics/Conductance/types/vmprimitivetype.hpp @@ -804,42 +750,42 @@ vmtype.o: ../../Electronics/Electronics/Conductance/vmtype.cpp ../../Electronics vmvalue.o: ../../Electronics/Electronics/Conductance/vmvalue.cpp ../../Electronics/Electronics/Conductance/vmvalue.hpp \ ../../Electronics/Electronics/Conductance/vmtypes.hpp \ - ../include/ker/string.hpp \ - ../include/kstdlib.h \ - ../include/varargs.h \ - ../include/config.h \ - ../include/malloc.h \ - ../include/ker/vector.hpp \ - ../include/ker/new.hpp \ + /home/felix/projects/trainOS/include/ker/string.hpp \ + /home/felix/projects/trainOS/include/kstdlib.h \ + /home/felix/projects/trainOS/include/varargs.h \ + /home/felix/projects/trainOS/include/config.h \ + /home/felix/projects/trainOS/include/malloc.h \ + /home/felix/projects/trainOS/include/ker/vector.hpp \ + /home/felix/projects/trainOS/include/ker/new.hpp \ ../../Electronics/Electronics/Conductance/vmtype.hpp \ ../../Electronics/Electronics/Conductance/opcodes.hpp \ - ../include/ker/dictionary.hpp \ - ../include/kernel.h \ - ../include/ker/pair.hpp \ + /home/felix/projects/trainOS/include/ker/dictionary.hpp \ + /home/felix/projects/trainOS/include/kernel.h \ + /home/felix/projects/trainOS/include/ker/pair.hpp \ ../../Electronics/Electronics/Tools/fixedstring.hpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o vmvalue.o ../../Electronics/Electronics/Conductance/vmvalue.cpp string.o: ../ker/string.cpp ../include/ker/string.hpp \ - ../include/kstdlib.h \ - ../include/varargs.h \ - ../include/config.h \ - ../include/malloc.h + /home/felix/projects/trainOS/include/kstdlib.h \ + /home/felix/projects/trainOS/include/varargs.h \ + /home/felix/projects/trainOS/include/config.h \ + /home/felix/projects/trainOS/include/malloc.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o string.o ../ker/string.cpp -thread.o: ../../Electronics/Electronics/Conductance/thread.cpp ../include/kstdlib.h \ - ../include/varargs.h \ - ../include/config.h \ - ../include/malloc.h \ +thread.o: ../../Electronics/Electronics/Conductance/thread.cpp /home/felix/projects/trainOS/include/kstdlib.h \ + /home/felix/projects/trainOS/include/varargs.h \ + /home/felix/projects/trainOS/include/config.h \ + /home/felix/projects/trainOS/include/malloc.h \ ../../Electronics/Electronics/Conductance/vmtype.hpp \ ../../Electronics/Electronics/Conductance/vmtypes.hpp \ - ../include/ker/string.hpp \ - ../include/ker/vector.hpp \ - ../include/ker/new.hpp \ + /home/felix/projects/trainOS/include/ker/string.hpp \ + /home/felix/projects/trainOS/include/ker/vector.hpp \ + /home/felix/projects/trainOS/include/ker/new.hpp \ ../../Electronics/Electronics/Conductance/vmvalue.hpp \ ../../Electronics/Electronics/Conductance/opcodes.hpp \ - ../include/ker/dictionary.hpp \ - ../include/kernel.h \ - ../include/ker/pair.hpp \ + /home/felix/projects/trainOS/include/ker/dictionary.hpp \ + /home/felix/projects/trainOS/include/kernel.h \ + /home/felix/projects/trainOS/include/ker/pair.hpp \ ../../Electronics/Electronics/Tools/fixedstring.hpp \ ../../Electronics/Electronics/Conductance/virtualmachine.hpp \ ../../Electronics/Electronics/Tools/binaryreader.hpp \ @@ -848,20 +794,20 @@ thread.o: ../../Electronics/Electronics/Conductance/thread.cpp ../include/kstdli ../../Electronics/Electronics/Conductance/types/compoundtype.hpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o thread.o ../../Electronics/Electronics/Conductance/thread.cpp -process.o: ../../Electronics/Electronics/Conductance/process.cpp ../include/kstdlib.h \ - ../include/varargs.h \ - ../include/config.h \ - ../include/malloc.h \ +process.o: ../../Electronics/Electronics/Conductance/process.cpp /home/felix/projects/trainOS/include/kstdlib.h \ + /home/felix/projects/trainOS/include/varargs.h \ + /home/felix/projects/trainOS/include/config.h \ + /home/felix/projects/trainOS/include/malloc.h \ ../../Electronics/Electronics/Conductance/vmtype.hpp \ ../../Electronics/Electronics/Conductance/vmtypes.hpp \ - ../include/ker/string.hpp \ - ../include/ker/vector.hpp \ - ../include/ker/new.hpp \ + /home/felix/projects/trainOS/include/ker/string.hpp \ + /home/felix/projects/trainOS/include/ker/vector.hpp \ + /home/felix/projects/trainOS/include/ker/new.hpp \ ../../Electronics/Electronics/Conductance/vmvalue.hpp \ ../../Electronics/Electronics/Conductance/opcodes.hpp \ - ../include/ker/dictionary.hpp \ - ../include/kernel.h \ - ../include/ker/pair.hpp \ + /home/felix/projects/trainOS/include/ker/dictionary.hpp \ + /home/felix/projects/trainOS/include/kernel.h \ + /home/felix/projects/trainOS/include/ker/pair.hpp \ ../../Electronics/Electronics/Tools/fixedstring.hpp \ ../../Electronics/Electronics/Conductance/virtualmachine.hpp \ ../../Electronics/Electronics/Tools/binaryreader.hpp \ @@ -870,20 +816,20 @@ process.o: ../../Electronics/Electronics/Conductance/process.cpp ../include/kstd ../../Electronics/Electronics/Conductance/types/compoundtype.hpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o process.o ../../Electronics/Electronics/Conductance/process.cpp -instructions.o: ../../Electronics/Electronics/Conductance/instructions.cpp ../include/kstdlib.h \ - ../include/varargs.h \ - ../include/config.h \ - ../include/malloc.h \ +instructions.o: ../../Electronics/Electronics/Conductance/instructions.cpp /home/felix/projects/trainOS/include/kstdlib.h \ + /home/felix/projects/trainOS/include/varargs.h \ + /home/felix/projects/trainOS/include/config.h \ + /home/felix/projects/trainOS/include/malloc.h \ ../../Electronics/Electronics/Conductance/vmtype.hpp \ ../../Electronics/Electronics/Conductance/vmtypes.hpp \ - ../include/ker/string.hpp \ - ../include/ker/vector.hpp \ - ../include/ker/new.hpp \ + /home/felix/projects/trainOS/include/ker/string.hpp \ + /home/felix/projects/trainOS/include/ker/vector.hpp \ + /home/felix/projects/trainOS/include/ker/new.hpp \ ../../Electronics/Electronics/Conductance/vmvalue.hpp \ ../../Electronics/Electronics/Conductance/opcodes.hpp \ - ../include/ker/dictionary.hpp \ - ../include/kernel.h \ - ../include/ker/pair.hpp \ + /home/felix/projects/trainOS/include/ker/dictionary.hpp \ + /home/felix/projects/trainOS/include/kernel.h \ + /home/felix/projects/trainOS/include/ker/pair.hpp \ ../../Electronics/Electronics/Tools/fixedstring.hpp \ ../../Electronics/Electronics/Conductance/virtualmachine.hpp \ ../../Electronics/Electronics/Tools/binaryreader.hpp \ diff --git a/csl/casts.cpp b/csl/casts.cpp new file mode 100644 index 0000000..edef4b4 --- /dev/null +++ b/csl/casts.cpp @@ -0,0 +1,34 @@ +#include "casts.hpp" + +#include + +namespace csl +{ +#define CONVERT(_from, _to) if(source.type() == VMType::_from) { \ + res = VMValue::_to(source.value()); \ + return ExceptionCode::None; \ + } +#define TOINT(targetType) ExceptionCode to##targetType(VMValue &res, const VMArray &args) \ +{ \ + if(args.length() != 1) return ExceptionCode::InvalidArgument; \ + const VMValue &source = args[0]; \ + if(source.type() == VMType::targetType) { \ + res = source; \ + return ExceptionCode::None; \ + } \ + CONVERT(Int8, targetType) \ + CONVERT(Int16, targetType) \ + CONVERT(Int32, targetType) \ + CONVERT(UInt8, targetType) \ + CONVERT(UInt16, targetType) \ + CONVERT(UInt32, targetType) \ + return ExceptionCode::InvalidType; \ +} + + TOINT(Int8) + TOINT(Int16) + TOINT(Int32) + TOINT(UInt8) + TOINT(UInt16) + TOINT(UInt32) +} diff --git a/csl/casts.hpp b/csl/casts.hpp new file mode 100644 index 0000000..10244bf --- /dev/null +++ b/csl/casts.hpp @@ -0,0 +1,17 @@ +#pragma once + +#include + +namespace csl +{ + ExceptionCode toInt8(VMValue &res, const VMArray &args); + ExceptionCode toInt16(VMValue &res, const VMArray &args); + ExceptionCode toInt32(VMValue &res, const VMArray &args); + + ExceptionCode toUInt8(VMValue &res, const VMArray &args); + ExceptionCode toUInt16(VMValue &res, const VMArray &args); + ExceptionCode toUInt32(VMValue &res, const VMArray &args); + + ExceptionCode toBool(VMValue &res, const VMArray &args); + ExceptionCode toText(VMValue &res, const VMArray &args); +} diff --git a/csl/io.cpp b/csl/io.cpp new file mode 100644 index 0000000..fe72a7c --- /dev/null +++ b/csl/io.cpp @@ -0,0 +1,36 @@ +#include +#include "io.hpp" + +#include + +namespace csl +{ + +ExceptionCode outb(VMValue &, const VMArray &args) +{ + if(args.length() != 2) + return ExceptionCode::InvalidArgument; + if(args[0].type() != VMType::UInt16) + return ExceptionCode::InvalidArgument; + if(args[1].type() != VMType::UInt8) + return ExceptionCode::InvalidArgument; + + ::outb(args[0].value(), args[1].value()); + + return ExceptionCode::None; +} + +ExceptionCode inb(VMValue &result, const VMArray &args) +{ + if(args.length() != 1) + return ExceptionCode::InvalidArgument; + if(args[0].type() != VMType::UInt16) + return ExceptionCode::InvalidArgument; + + result = VMValue::UInt8( + ::inb(args[0].value())); + + return ExceptionCode::None; +} + +} diff --git a/csl/io.hpp b/csl/io.hpp new file mode 100644 index 0000000..b11f73d --- /dev/null +++ b/csl/io.hpp @@ -0,0 +1,10 @@ +#pragma once + +#include + +namespace csl +{ + ExceptionCode outb(VMValue &, const VMArray &args); + + ExceptionCode inb(VMValue &result, const VMArray &args); +} diff --git a/scripts/main.cu b/scripts/main.cu index 44a5e73..69f3014 100644 --- a/scripts/main.cu +++ b/scripts/main.cu @@ -3,13 +3,24 @@ NATIVE print(...); NATIVE outb(port : UINT16, value : UINT8); NATIVE inb(port : UINT16) → UINT8; +NATIVE toInt8(…) → INT8; +NATIVE toInt16(…) → INT16; +NATIVE toInt32(…) → INT32; + +NATIVE toUInt8(…) → UINT8; +NATIVE toUInt16(…) → UINT16; +NATIVE toUInt32(…) → UINT32; + +# NATIVE toBool(…) → BOOL; +# NATIVE toText(…) → TEXT; + PRI sendCommand(cmd : UINT8) BEGIN # Warten bis die Tastatur bereit ist, und der Befehlspuffer leer ist WHILE (inb(100u16) & 2u8) =/= 0u8 DO END - outb(96u16, cmd); + outb(toUInt16(96), cmd); END PRI initKeyboard() @@ -28,6 +39,8 @@ BEGIN print("Initialize keyboard...\n"); initKeyboard(); + print(toInt8(16), "\n"); + print("Hello World!\n"); 1 → i; WHILE i <= 5 DO diff --git a/scripts/main.cu.spark b/scripts/main.cu.spark index 899cd26..9d0ac9d 100644 --- a/scripts/main.cu.spark +++ b/scripts/main.cu.spark @@ -1,11 +1,17 @@ ; ============================================= ; compiled with Copper 1.0 -; 2015-10-10 23:51:17 +; 2015-10-11 12:46:04 ; ============================================= ; native method: print(…) ; native method: outb(…) ; native method: inb(…) → UINT8 +; native method: toInt8(…) → INT8 +; native method: toInt16(…) → INT16 +; native method: toInt32(…) → INT32 +; native method: toUInt8(…) → UINT8 +; native method: toUInt16(…) → UINT16 +; native method: toUInt32(…) → UINT32 .type CpuState { eax : UINT32; ebx : UINT32; @@ -14,6 +20,12 @@ + + + + + + ; 0, sendCommand sendCommand: pushnil ; return value @@ -29,7 +41,8 @@ _private_0: _private_1: load -1 - pushi 4 96 + pushi 2 96 + callnr toUInt16 1 calln outb 2 ret @@ -65,6 +78,11 @@ main: call initKeyboard 0 + pusht "\n" + pushi 2 16 + callnr toInt8 1 + calln print 2 + pusht "Hello World!\n" calln print 1 diff --git a/src/vm.cpp b/src/vm.cpp index 7332bc7..ee4c489 100644 --- a/src/vm.cpp +++ b/src/vm.cpp @@ -10,6 +10,8 @@ #include #include "../csl/cpustatetype.hpp" +#include "../csl/io.hpp" +#include "../csl/casts.hpp" extern "C" { extern const char mainscript_start; @@ -138,6 +140,7 @@ const char *execptionName(ExceptionCode ex) CASE(InvalidGlobal); CASE(NullPointer); CASE(InvalidMember); + CASE(InvalidArgument); #undef CASE default: return "Unknown"; } @@ -151,8 +154,15 @@ extern "C" void vm_start() VirtualMachine machine; machine.type("CPUSTATE") = csl::CpuStateType; machine.import("print") = printArguments; - machine.import("inb") = vmInB; - machine.import("outb") = vmOutB; + machine.import("inb") = csl::inb; + machine.import("outb") = csl::outb; + + machine.import("toInt8") = csl::toInt8; + machine.import("toInt16") = csl::toInt16; + machine.import("toInt32") = csl::toInt32; + machine.import("toUInt8") = csl::toUInt8; + machine.import("toUInt16") = csl::toUInt16; + machine.import("toUInt32") = csl::toUInt32; Assembly *assembly = machine.load(mainAssembly.ptr, mainAssembly.size); if(assembly == nullptr) { diff --git a/trainOS.pro b/trainOS.pro index 384aa6e..9f95103 100644 --- a/trainOS.pro +++ b/trainOS.pro @@ -16,7 +16,9 @@ SOURCES += \ src/vm.cpp \ src/serial.c \ src/cpp-test.cpp \ - csl/cpustatetype.cpp + csl/cpustatetype.cpp \ + csl/casts.cpp \ + csl/io.cpp HEADERS += \ include/console.h \ @@ -41,7 +43,9 @@ HEADERS += \ include/config.h \ include/serial.h \ include/malloc.h \ - csl/cpustatetype.hpp + csl/cpustatetype.hpp \ + csl/casts.hpp \ + csl/io.hpp DISTFILES += \ asm/intr_common_handler.S \