From e025a723a5f322dc726f989073bdc12751e8ce28 Mon Sep 17 00:00:00 2001 From: Curle Date: Tue, 15 Jun 2021 22:00:30 +0100 Subject: [PATCH] More cleanup. Remove redundant folders --- CMakeLists.txt | 36 ++--- build.json | 87 ----------- {src/chroma/inc => inc}/kernel/boot/boot.h | 0 {src/chroma/inc => inc}/kernel/chroma.h | 0 .../inc => inc}/kernel/system/descriptors.h | 0 {src/chroma/inc => inc}/kernel/system/heap.h | 0 .../inc => inc}/kernel/system/interrupts.h | 0 {src/chroma/inc => inc}/kernel/system/io.h | 0 .../chroma/inc => inc}/kernel/system/memory.h | 0 {src/chroma/inc => inc}/kernel/system/pci.h | 0 .../kernel/system/process/process.h | 0 {src/chroma/inc => inc}/kernel/system/stack.h | 0 .../inc => inc}/kernel/video/bitmapfont.h | 0 .../inc => inc}/lainlib/compression/lzg.h | 0 .../lainlib/ethernet/e1000/e1000.h | 0 {src/chroma/inc => inc}/lainlib/lainlib.h | 0 {src/chroma/inc => inc}/lainlib/list/list.h | 0 .../inc => inc}/lainlib/mutex/spinlock.h | 0 .../inc => inc}/lainlib/mutex/ticketlock.h | 0 .../inc => inc}/lainlib/vector/vector.h | 0 plugins/c.js | 137 ------------------ src/{chroma => }/kernel.c | 0 .../lainlib/compression/lzgmini.c | 0 .../lainlib/ethernet/e1000/E1000Driver.c | 0 src/{chroma => }/lainlib/ethernet/ethernet.h | 0 src/{chroma => }/lainlib/list/basic_list.c | 0 src/{chroma => }/lainlib/mutex/ticketlock.c | 0 src/{chroma => }/lainlib/vector.c | 0 src/{chroma => }/system/cpu.c | 0 src/{chroma => }/system/drivers/elf.c | 0 src/{chroma => }/system/drivers/keyboard.c | 0 src/{chroma => }/system/interrupts.c | 0 .../system/memory/abstract_allocator.c | 0 src/{chroma => }/system/memory/liballoc.c | 0 src/{chroma => }/system/memory/paging.c | 0 src/{chroma => }/system/memory/physmem.c | 0 src/{chroma => }/system/memory/stack.c | 0 src/{chroma => }/system/pci.c | 0 src/{chroma => }/system/rw.c | 0 src/{chroma => }/system/serial.c | 0 src/{chroma => }/video/draw.c | 0 src/{chroma => }/video/print.c | 0 42 files changed, 18 insertions(+), 242 deletions(-) delete mode 100644 build.json rename {src/chroma/inc => inc}/kernel/boot/boot.h (100%) rename {src/chroma/inc => inc}/kernel/chroma.h (100%) rename {src/chroma/inc => inc}/kernel/system/descriptors.h (100%) rename {src/chroma/inc => inc}/kernel/system/heap.h (100%) rename {src/chroma/inc => inc}/kernel/system/interrupts.h (100%) rename {src/chroma/inc => inc}/kernel/system/io.h (100%) rename {src/chroma/inc => inc}/kernel/system/memory.h (100%) rename {src/chroma/inc => inc}/kernel/system/pci.h (100%) rename {chroma/inc => inc}/kernel/system/process/process.h (100%) rename {src/chroma/inc => inc}/kernel/system/stack.h (100%) rename {src/chroma/inc => inc}/kernel/video/bitmapfont.h (100%) rename {src/chroma/inc => inc}/lainlib/compression/lzg.h (100%) rename {src/chroma/inc => inc}/lainlib/ethernet/e1000/e1000.h (100%) rename {src/chroma/inc => inc}/lainlib/lainlib.h (100%) rename {src/chroma/inc => inc}/lainlib/list/list.h (100%) rename {src/chroma/inc => inc}/lainlib/mutex/spinlock.h (100%) rename {src/chroma/inc => inc}/lainlib/mutex/ticketlock.h (100%) rename {src/chroma/inc => inc}/lainlib/vector/vector.h (100%) delete mode 100644 plugins/c.js rename src/{chroma => }/kernel.c (100%) rename src/{chroma => }/lainlib/compression/lzgmini.c (100%) rename src/{chroma => }/lainlib/ethernet/e1000/E1000Driver.c (100%) rename src/{chroma => }/lainlib/ethernet/ethernet.h (100%) rename src/{chroma => }/lainlib/list/basic_list.c (100%) rename src/{chroma => }/lainlib/mutex/ticketlock.c (100%) rename src/{chroma => }/lainlib/vector.c (100%) rename src/{chroma => }/system/cpu.c (100%) rename src/{chroma => }/system/drivers/elf.c (100%) rename src/{chroma => }/system/drivers/keyboard.c (100%) rename src/{chroma => }/system/interrupts.c (100%) rename src/{chroma => }/system/memory/abstract_allocator.c (100%) rename src/{chroma => }/system/memory/liballoc.c (100%) rename src/{chroma => }/system/memory/paging.c (100%) rename src/{chroma => }/system/memory/physmem.c (100%) rename src/{chroma => }/system/memory/stack.c (100%) rename src/{chroma => }/system/pci.c (100%) rename src/{chroma => }/system/rw.c (100%) rename src/{chroma => }/system/serial.c (100%) rename src/{chroma => }/video/draw.c (100%) rename src/{chroma => }/video/print.c (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 060d75b..f98735f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,31 +13,31 @@ project(chroma) SET(src_files - ${CMAKE_SOURCE_DIR}/src/chroma/kernel.c - ${CMAKE_SOURCE_DIR}/src/chroma/video/draw.c - ${CMAKE_SOURCE_DIR}/src/chroma/video/print.c - ${CMAKE_SOURCE_DIR}/src/chroma/system/cpu.c - ${CMAKE_SOURCE_DIR}/src/chroma/system/rw.c - ${CMAKE_SOURCE_DIR}/src/chroma/system/serial.c - ${CMAKE_SOURCE_DIR}/src/chroma/system/pci.c - ${CMAKE_SOURCE_DIR}/src/chroma/system/memory/stack.c - ${CMAKE_SOURCE_DIR}/src/chroma/system/memory/paging.c - ${CMAKE_SOURCE_DIR}/src/chroma/system/memory/abstract_allocator.c - ${CMAKE_SOURCE_DIR}/src/chroma/system/memory/physmem.c - ${CMAKE_SOURCE_DIR}/src/chroma/system/drivers/keyboard.c - ${CMAKE_SOURCE_DIR}/src/chroma/system/drivers/elf.c + ${CMAKE_SOURCE_DIR}/src/kernel.c + ${CMAKE_SOURCE_DIR}/src/video/draw.c + ${CMAKE_SOURCE_DIR}/src/video/print.c + ${CMAKE_SOURCE_DIR}/src/system/cpu.c + ${CMAKE_SOURCE_DIR}/src//system/rw.c + ${CMAKE_SOURCE_DIR}/src/system/serial.c + ${CMAKE_SOURCE_DIR}/src/system/pci.c + ${CMAKE_SOURCE_DIR}/src/system/memory/stack.c + ${CMAKE_SOURCE_DIR}/src/system/memory/paging.c + ${CMAKE_SOURCE_DIR}/src/system/memory/abstract_allocator.c + ${CMAKE_SOURCE_DIR}/src/system/memory/physmem.c + ${CMAKE_SOURCE_DIR}/src/system/drivers/keyboard.c + ${CMAKE_SOURCE_DIR}/src/system/drivers/elf.c ) SET(lib_files - ${CMAKE_SOURCE_DIR}/src/chroma/lainlib/list/basic_list.c - ${CMAKE_SOURCE_DIR}/src/chroma/lainlib/mutex/ticketlock.c - ${CMAKE_SOURCE_DIR}/src/chroma/lainlib/compression/lzgmini.c + ${CMAKE_SOURCE_DIR}/src/lainlib/list/basic_list.c + ${CMAKE_SOURCE_DIR}/src/lainlib/mutex/ticketlock.c + ${CMAKE_SOURCE_DIR}/src/lainlib/compression/lzgmini.c ) -include_directories("src/chroma/inc") +include_directories("inc") SET(src_no_sse - ${CMAKE_SOURCE_DIR}/src/chroma/system/interrupts.c + ${CMAKE_SOURCE_DIR}/src/system/interrupts.c ) SET(src_preamble diff --git a/build.json b/build.json deleted file mode 100644 index 4a961c9..0000000 --- a/build.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "name": "Chroma", - "target": "x86_64-elf-gcc", - - "author": "Curle", - - "source": { - "inc": [ - "$root/chroma/inc/" - ], - - "font": [ - "$root/font.o" - ], - - "linkerscript": [ - "$root/linker.ld" - ], - - "preamble": [ - "$root/global/crt0.o", - "$root/global/crti.o", - "$root/global/crtbegin.o" - ], - - "main": [ - "$root/chroma/kernel.c", - "$root/chroma/video/draw.c", - "$root/chroma/video/print.c", - "$root/chroma/system/cpu.c", - "$root/chroma/system/rw.c", - "$root/chroma/system/serial.c", - "$root/chroma/system/pci.c", - "$root/chroma/system/memory/stack.c", - "$root/chroma/system/memory/abstract_allocator.c", - "$root/chroma/system/memory/physmem.c", - "$root/chroma/system/memory/paging.c", - "$root/chroma/system/memory/liballoc.c", - "$root/chroma/system/drivers/keyboard.c", - "$root/chroma/system/drivers/elf.c" - ], - - "no-sse": [ - "$root/chroma/system/interrupts.c" - ], - - "lib": [ - "$root/chroma/lainlib/list/basic_list.c", - "$root/chroma/lainlib/mutex/ticketlock.c", - "$root/chroma/lainlib/compression/lzgmini.c" - ], - - "epilogue": [ - "$root/global/crtend.o", - "$root/global/crtn.o" - ] - }, - - "build": { - - "compile-main": [ - "-I$inc -ffreestanding -O0 -Wall -Wextra -Wall -Werror -pedantic -fPIC -fno-exceptions -fno-omit-frame-pointer -mno-red-zone -fno-stack-protector -ggdb3", - "$preamble", - "$main", - "$lib", - "$font" - ], - - "compile-no-sse": [ - "-I$inc -ffreestanding -O0 -Wall -Wextra -Wall -Werror -pedantic -fPIC -fno-exceptions -fno-omit-frame-pointer -mno-red-zone -fno-stack-protector -ggdb3 -mgeneral-regs-only", - "$no-sse" - ], - - "compile-last": [ - "$epilogue" - ], - - "link": [ - "-T $linkerscript -ffreestanding -O2 -nostdlib -nostartfiles -lgcc", - "%.o" - ], - - "output": [ - "kernel" - ] - } -} \ No newline at end of file diff --git a/src/chroma/inc/kernel/boot/boot.h b/inc/kernel/boot/boot.h similarity index 100% rename from src/chroma/inc/kernel/boot/boot.h rename to inc/kernel/boot/boot.h diff --git a/src/chroma/inc/kernel/chroma.h b/inc/kernel/chroma.h similarity index 100% rename from src/chroma/inc/kernel/chroma.h rename to inc/kernel/chroma.h diff --git a/src/chroma/inc/kernel/system/descriptors.h b/inc/kernel/system/descriptors.h similarity index 100% rename from src/chroma/inc/kernel/system/descriptors.h rename to inc/kernel/system/descriptors.h diff --git a/src/chroma/inc/kernel/system/heap.h b/inc/kernel/system/heap.h similarity index 100% rename from src/chroma/inc/kernel/system/heap.h rename to inc/kernel/system/heap.h diff --git a/src/chroma/inc/kernel/system/interrupts.h b/inc/kernel/system/interrupts.h similarity index 100% rename from src/chroma/inc/kernel/system/interrupts.h rename to inc/kernel/system/interrupts.h diff --git a/src/chroma/inc/kernel/system/io.h b/inc/kernel/system/io.h similarity index 100% rename from src/chroma/inc/kernel/system/io.h rename to inc/kernel/system/io.h diff --git a/src/chroma/inc/kernel/system/memory.h b/inc/kernel/system/memory.h similarity index 100% rename from src/chroma/inc/kernel/system/memory.h rename to inc/kernel/system/memory.h diff --git a/src/chroma/inc/kernel/system/pci.h b/inc/kernel/system/pci.h similarity index 100% rename from src/chroma/inc/kernel/system/pci.h rename to inc/kernel/system/pci.h diff --git a/chroma/inc/kernel/system/process/process.h b/inc/kernel/system/process/process.h similarity index 100% rename from chroma/inc/kernel/system/process/process.h rename to inc/kernel/system/process/process.h diff --git a/src/chroma/inc/kernel/system/stack.h b/inc/kernel/system/stack.h similarity index 100% rename from src/chroma/inc/kernel/system/stack.h rename to inc/kernel/system/stack.h diff --git a/src/chroma/inc/kernel/video/bitmapfont.h b/inc/kernel/video/bitmapfont.h similarity index 100% rename from src/chroma/inc/kernel/video/bitmapfont.h rename to inc/kernel/video/bitmapfont.h diff --git a/src/chroma/inc/lainlib/compression/lzg.h b/inc/lainlib/compression/lzg.h similarity index 100% rename from src/chroma/inc/lainlib/compression/lzg.h rename to inc/lainlib/compression/lzg.h diff --git a/src/chroma/inc/lainlib/ethernet/e1000/e1000.h b/inc/lainlib/ethernet/e1000/e1000.h similarity index 100% rename from src/chroma/inc/lainlib/ethernet/e1000/e1000.h rename to inc/lainlib/ethernet/e1000/e1000.h diff --git a/src/chroma/inc/lainlib/lainlib.h b/inc/lainlib/lainlib.h similarity index 100% rename from src/chroma/inc/lainlib/lainlib.h rename to inc/lainlib/lainlib.h diff --git a/src/chroma/inc/lainlib/list/list.h b/inc/lainlib/list/list.h similarity index 100% rename from src/chroma/inc/lainlib/list/list.h rename to inc/lainlib/list/list.h diff --git a/src/chroma/inc/lainlib/mutex/spinlock.h b/inc/lainlib/mutex/spinlock.h similarity index 100% rename from src/chroma/inc/lainlib/mutex/spinlock.h rename to inc/lainlib/mutex/spinlock.h diff --git a/src/chroma/inc/lainlib/mutex/ticketlock.h b/inc/lainlib/mutex/ticketlock.h similarity index 100% rename from src/chroma/inc/lainlib/mutex/ticketlock.h rename to inc/lainlib/mutex/ticketlock.h diff --git a/src/chroma/inc/lainlib/vector/vector.h b/inc/lainlib/vector/vector.h similarity index 100% rename from src/chroma/inc/lainlib/vector/vector.h rename to inc/lainlib/vector/vector.h diff --git a/plugins/c.js b/plugins/c.js deleted file mode 100644 index 774e369..0000000 --- a/plugins/c.js +++ /dev/null @@ -1,137 +0,0 @@ -const child = require("child_process"); -const fs = require("fs"); - -let defaultCompiler = "gcc"; -let tempDir; -let defaultLinkFlags = "%.o" -let defaultOutput = "$name" - -let linkCache = ""; - - -module.exports = { - - /** - * Preprocess the buildscript. - * If it contains compile, assemble and link steps, it does nothing - * If it contains compile but no build, it implicitly adds it with the default arguments. - * @param {object} buildscript the JSON buildscript object - */ - extensionC: function(buildscript) { - console.log("c.js processing buildscript"); - if(!("link" in buildscript.build)) { - console.log("Inserting link step for gcc"); - buildscript.build["link"] = [defaultLinkFlags]; - } - - if(!("output" in buildscript.build)) { - console.log("Inserting output step"); - buildscript.build["output"] = [defaultOutput]; - } - - tempDir = process.cwd() + "/bsTemp/"; - - if(!fs.existsSync(tempDir)) { - console.log("Creating temporary dir for object files"); - fs.mkdirSync(tempDir); - } - - - }, - - extensionH: function() {}, - extensionO: function() {}, - extensionLD: function() {}, - - /** - * Called when it is time to execute the compile step. - * It is passed the array of strings associated with the step in the buildscript. - * @param {...string} params the list of strings - */ - stepCompile: function(...params) { - let cwd = process.cwd().replace(/\\/g, "/"); - let compileFlags = ""; - // Check whether we're doubly listed - if(Array.isArray(params[0])) { - params = params[0]; - } - - for(var param of params) { - console.log("stepCompile: param", param); - if(param.startsWith("-")) { - compileFlags = param; - } else { - let binPath = param.substr(param.lastIndexOf(cwd) + cwd.length + 1); - binPath = binPath.substr(0, binPath.lastIndexOf(".")); - binPath = cwd + "/bsTemp/" + binPath; - - // generate the file structure for it to go into - fs.mkdirSync(binPath.substr(0, binPath.lastIndexOf("/")), {recursive: true}); - if(param.substr(param.lastIndexOf(".") + 1) != "c" - && param.substr(param.lastIndexOf(".") + 1) != "s") { - - fs.copyFileSync(param, binPath + ".o"); - } else { - let compilerCommand = - defaultCompiler + - " -c " + param + - " -o " + binPath + ".o " - + compileFlags; - - child.execSync(compilerCommand); - } - - } - } - }, - - /** - * Take in the compiled binary object files, - * prepare the link command, and save it for the link execution. - * @param {...string} params the object files to link. - */ - stepLink: function(...params) { - let linkerCommand = ""; - // Check whether we're doubly listed - if(Array.isArray(params[0])) { - params = params[0]; - } - - for(var param of params) { - console.log("stepLink: param", param); - linkerCommand += param + " "; - } - - linkCache = linkerCommand; - }, - - /** - * Take in the name of a file, execute the link command to save the output. - * @param {string} output the name of the wanted file - */ - stepOutput: function(output) { - // Check whether we're doubly listed - if(Array.isArray(output[0])) { - output = output[0]; - } - - let linkerCommand = defaultCompiler + " -o " + process.cwd() + "/" + output + " " + linkCache; - console.log("stepOutput: param", output, "command", linkerCommand); - child.execSync(linkerCommand); - - }, - - /** - * Set the name of the compiler to be used. - * @param {string} comp - */ - setCompiler: function(comp) { - // Check whether we're doubly listed - if(Array.isArray(comp[0])) { - comp = comp[0]; - } - defaultCompiler = comp; - console.log("Set compiler to", comp); - } - -} \ No newline at end of file diff --git a/src/chroma/kernel.c b/src/kernel.c similarity index 100% rename from src/chroma/kernel.c rename to src/kernel.c diff --git a/src/chroma/lainlib/compression/lzgmini.c b/src/lainlib/compression/lzgmini.c similarity index 100% rename from src/chroma/lainlib/compression/lzgmini.c rename to src/lainlib/compression/lzgmini.c diff --git a/src/chroma/lainlib/ethernet/e1000/E1000Driver.c b/src/lainlib/ethernet/e1000/E1000Driver.c similarity index 100% rename from src/chroma/lainlib/ethernet/e1000/E1000Driver.c rename to src/lainlib/ethernet/e1000/E1000Driver.c diff --git a/src/chroma/lainlib/ethernet/ethernet.h b/src/lainlib/ethernet/ethernet.h similarity index 100% rename from src/chroma/lainlib/ethernet/ethernet.h rename to src/lainlib/ethernet/ethernet.h diff --git a/src/chroma/lainlib/list/basic_list.c b/src/lainlib/list/basic_list.c similarity index 100% rename from src/chroma/lainlib/list/basic_list.c rename to src/lainlib/list/basic_list.c diff --git a/src/chroma/lainlib/mutex/ticketlock.c b/src/lainlib/mutex/ticketlock.c similarity index 100% rename from src/chroma/lainlib/mutex/ticketlock.c rename to src/lainlib/mutex/ticketlock.c diff --git a/src/chroma/lainlib/vector.c b/src/lainlib/vector.c similarity index 100% rename from src/chroma/lainlib/vector.c rename to src/lainlib/vector.c diff --git a/src/chroma/system/cpu.c b/src/system/cpu.c similarity index 100% rename from src/chroma/system/cpu.c rename to src/system/cpu.c diff --git a/src/chroma/system/drivers/elf.c b/src/system/drivers/elf.c similarity index 100% rename from src/chroma/system/drivers/elf.c rename to src/system/drivers/elf.c diff --git a/src/chroma/system/drivers/keyboard.c b/src/system/drivers/keyboard.c similarity index 100% rename from src/chroma/system/drivers/keyboard.c rename to src/system/drivers/keyboard.c diff --git a/src/chroma/system/interrupts.c b/src/system/interrupts.c similarity index 100% rename from src/chroma/system/interrupts.c rename to src/system/interrupts.c diff --git a/src/chroma/system/memory/abstract_allocator.c b/src/system/memory/abstract_allocator.c similarity index 100% rename from src/chroma/system/memory/abstract_allocator.c rename to src/system/memory/abstract_allocator.c diff --git a/src/chroma/system/memory/liballoc.c b/src/system/memory/liballoc.c similarity index 100% rename from src/chroma/system/memory/liballoc.c rename to src/system/memory/liballoc.c diff --git a/src/chroma/system/memory/paging.c b/src/system/memory/paging.c similarity index 100% rename from src/chroma/system/memory/paging.c rename to src/system/memory/paging.c diff --git a/src/chroma/system/memory/physmem.c b/src/system/memory/physmem.c similarity index 100% rename from src/chroma/system/memory/physmem.c rename to src/system/memory/physmem.c diff --git a/src/chroma/system/memory/stack.c b/src/system/memory/stack.c similarity index 100% rename from src/chroma/system/memory/stack.c rename to src/system/memory/stack.c diff --git a/src/chroma/system/pci.c b/src/system/pci.c similarity index 100% rename from src/chroma/system/pci.c rename to src/system/pci.c diff --git a/src/chroma/system/rw.c b/src/system/rw.c similarity index 100% rename from src/chroma/system/rw.c rename to src/system/rw.c diff --git a/src/chroma/system/serial.c b/src/system/serial.c similarity index 100% rename from src/chroma/system/serial.c rename to src/system/serial.c diff --git a/src/chroma/video/draw.c b/src/video/draw.c similarity index 100% rename from src/chroma/video/draw.c rename to src/video/draw.c diff --git a/src/chroma/video/print.c b/src/video/print.c similarity index 100% rename from src/chroma/video/print.c rename to src/video/print.c