diff --git a/ChangeLog b/ChangeLog index 7cb68d1..c5582fe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -40,4 +40,8 @@ - We have implemented a buffer library for our terminal - The stack is now 8MB long and isn't anymore in conflict with the kernel space xD - The terminal is now better (with sprintf functions) - +2019/04/09 More improvements + - The terminal is now buffered (static) and we have made a big reorganization of the project + - The Makefile suffered a lot, so we improved it + - panic doesn't need to lock the terminal + - We have a (basic) heap and memory allocator diff --git a/Makefile b/Makefile index 15b8781..68cee40 100644 --- a/Makefile +++ b/Makefile @@ -22,24 +22,38 @@ # along with OS/K. If not, see . # #=----------------------------------------------------------------------------=# +.PHONY: all test test32 debug gdb install_mbr dust clean OS/K + ## VARIABLES ----------------------------------------------------------------- # -#Programs -ASM=nasm -LD=ld -CCNAME=x86_64-elf-gcc +# Debug +mode ?= debug +# Programs +ASM=nasm +LD=x86_64-elf-ld +OBJCOPY=x86_64-elf-objcopy +CCNAME=x86_64-elf-gcc ASMFLAGS=-f elf64 LDFLAGS=-melf_x86_64 COPTIM=-O2 CWARNS=-Wall -Wextra -Werror=implicit-function-declaration CINCLUDES=-Iinclude CFLAGS1=-nostdlib -ffreestanding -mcmodel=large -std=gnu11 -CFLAGS2= -c -g -mno-red-zone -mno-mmx -mno-sse -mno-sse2 -fno-strict-aliasing +CFLAGS2= -c -mno-red-zone -mno-mmx -mno-sse -mno-sse2 CFLAGS=$(CFLAGS1) $(CFLAGS2) + +ifeq ($(mode), release) +CFLAGS += -D_NO_DEBUG +dep += dust +endif +ifeq ($(mode), debug) +CFLAGS += -g +endif + KCC=$(CCNAME) $(COPTIM) $(CWARNS) $(CFLAGS) $(CINCLUDES) -D_OSK_SOURCE -D_KALEID_KERNEL -#Folders +# Folders MBRDIR=boot/grub LOADERDIR=boot/loader KALEIDDIR=kaleid @@ -49,141 +63,43 @@ KOBJDIR=build/obj/kaleid LOBJDIR=build/obj/boot BINDIR=build/bin BUILDDIR=build +vpath %.c $(KALEIDDIR) -#Color codes +# Color codes CL='\033[0;32m' CL2='\033[1;36m' CL3='\033[0m' NC='\033[1;37m' -.PHONY: all -all : OS/K + +## SOURCES INSCRIPTION-------------------------------------------------------- # + +# Lib C sources +LibCSources= libc/atoi.c libc/itoa.c \ + libc/mem.c libc/ctype.c \ + libc/rand.c libc/sprintf.c \ + libc/status.c libc/string.c \ + libc/strtol.c extras/argv.c \ + extras/prog.c + +KernObj=$(patsubst %.c,$(KOBJDIR)/%.o,$(KernSources)) + +# Kernel sources +KernSources= libbuf/buf.c libbuf/bput.c \ + libbuf/bprint.c kernel/cpu/cpuid.c \ + kernel/cpu/idt.c kernel/init/init.c \ + kernel/init/table.c kernel/io/cursor.c \ + kernel/ke/log.c kernel/io/vga.c \ + kernel/ke/panic.c kernel/mm/map.c \ + kernel/mm/heap.c kernel/mm/malloc.c \ + kernel/mm/gdt.c kernel/ps/sched.c \ + +LibCObj=$(patsubst %.c,$(KOBJDIR)/%.o,$(LibCSources)) + ## KALEID MAKEFILE ----------------------------------------------------------- # -# Common objects -kal_com_obj= $(KOBJDIR)/atoi.o $(KOBJDIR)/ctype.o \ - $(KOBJDIR)/itoa.o $(KOBJDIR)/mem.o \ - $(KOBJDIR)/rand.o $(KOBJDIR)/sprintf.o \ - $(KOBJDIR)/status.o $(KOBJDIR)/string.o \ - $(KOBJDIR)/strtol.o $(KOBJDIR)/argv.o \ - $(KOBJDIR)/prog.o $(KOBJDIR)/atol.o \ - $(KOBJDIR)/atou.o $(KOBJDIR)/atoul.o \ - $(KOBJDIR)/utoa.o $(KOBJDIR)/ltoa.o \ - $(KOBJDIR)/ultoa.o - -$(KOBJDIR)/atoi.o: $(KALEIDDIR)/libc/atoi.c $(INCLUDEDIR)/*/*.h - @$(KCC) -D_NEED_ATOI $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/atol.o: $(KALEIDDIR)/libc/atoi.c $(INCLUDEDIR)/*/*.h - @$(KCC) -D_NEED_ATOL $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/atou.o: $(KALEIDDIR)/libc/atoi.c $(INCLUDEDIR)/*/*.h - @$(KCC) -D_NEED_ATOU $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/atoul.o: $(KALEIDDIR)/libc/atoi.c $(INCLUDEDIR)/*/*.h - @$(KCC) -D_NEED_ATOUL $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/ctype.o: $(KALEIDDIR)/libc/ctype.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/itoa.o: $(KALEIDDIR)/libc/itoa.c $(INCLUDEDIR)/*/*.h - @$(KCC) -D_NEED_ITOA $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/ltoa.o: $(KALEIDDIR)/libc/itoa.c $(INCLUDEDIR)/*/*.h - @$(KCC) -D_NEED_LTOA $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/utoa.o: $(KALEIDDIR)/libc/itoa.c $(INCLUDEDIR)/*/*.h - @$(KCC) -D_NEED_UTOA $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/ultoa.o: $(KALEIDDIR)/libc/itoa.c $(INCLUDEDIR)/*/*.h - @$(KCC) -D_NEED_ULTOA $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/mem.o: $(KALEIDDIR)/libc/mem.c $(INCLUDEDIR)/*/*.h - @$(KCC) -fno-strict-aliasing $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/rand.o: $(KALEIDDIR)/libc/rand.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/sprintf.o: $(KALEIDDIR)/libc/sprintf.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/status.o: $(KALEIDDIR)/libc/status.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/string.o: $(KALEIDDIR)/libc/string.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/strtol.o: $(KALEIDDIR)/libc/strtol.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} - -$(KOBJDIR)/argv.o: $(KALEIDDIR)/extras/argv.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/prog.o: $(KALEIDDIR)/extras/prog.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} - -$(KOBJDIR)/kernel/buf.o: $(KALEIDDIR)/libbuf/buf.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/kernel/bput.o: $(KALEIDDIR)/libbuf/bput.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/kernel/bprint.o: $(KALEIDDIR)/libbuf/bprint.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} - -# Kernel objects -kal_kern_obj= $(KOBJDIR)/kernel/cpuid.o $(KOBJDIR)/kernel/init.o \ - $(KOBJDIR)/kernel/table.o $(KOBJDIR)/kernel/cursor.o \ - $(KOBJDIR)/kernel/log.o $(KOBJDIR)/kernel/vga.o \ - $(KOBJDIR)/kernel/panic.o $(KOBJDIR)/kernel/map.o \ - $(KOBJDIR)/kernel/heap.o $(KOBJDIR)/kernel/malloc.o \ - $(KOBJDIR)/kernel/buf.o $(KOBJDIR)/kernel/sched.o \ - $(KOBJDIR)/kernel/bput.o $(KOBJDIR)/kernel/bprint.o \ - $(KOBJDIR)/kernel/gdt.o - -$(KOBJDIR)/kernel/cpuid.o: $(KALEIDDIR)/kernel/cpu/cpuid.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/kernel/idt.o: $(KALEIDDIR)/kernel/cpu/idt.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/kernel/init.o: $(KALEIDDIR)/kernel/init/init.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/kernel/table.o: $(KALEIDDIR)/kernel/init/table.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/kernel/cursor.o: $(KALEIDDIR)/kernel/io/cursor.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/kernel/log.o: $(KALEIDDIR)/kernel/ke/log.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/kernel/vga.o: $(KALEIDDIR)/kernel/io/vga.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/kernel/panic.o: $(KALEIDDIR)/kernel/ke/panic.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/kernel/map.o: $(KALEIDDIR)/kernel/mm/map.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/kernel/heap.o: $(KALEIDDIR)/kernel/mm/heap.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/kernel/malloc.o: $(KALEIDDIR)/kernel/mm/malloc.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ -$(KOBJDIR)/kernel/gdt.o: $(KALEIDDIR)/kernel/mm/gdt.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} -$(KOBJDIR)/kernel/sched.o: $(KALEIDDIR)/kernel/ps/sched.c $(INCLUDEDIR)/*/*.h - @$(KCC) $< -o $@ - @echo ${CL2}[$@] ${CL}Compiled.${CL3} - +all : OS/K $(dep) ## MISC MAKEFILE ------------------------------------------------------------- # ./ProjectTree: ./.stylehlp_sh @@ -192,24 +108,55 @@ $(KOBJDIR)/kernel/sched.o: $(KALEIDDIR)/kernel/ps/sched.c $(INCLUDEDIR)/*/*.h @tree --dirsfirst >> ./ProjectTree @echo ${CL2}[$@] ${CL}Generated.${CL3} +$(KOBJDIR): + @mkdir -p $(KOBJDIR) + +## LIB C MAKEFILE ------------------------------------------------------------ # +$(KOBJDIR)/libc/atoi.o: $(KALEIDDIR)/libc/atoi.c $(INCLUDEDIR)/*/*.h | $(KOBJDIR) + @mkdir -p $(shell dirname $@) + @$(KCC) -D_NEED_ATOI $< -o $@.1 + @$(KCC) -D_NEED_ATOL $< -o $@.2 + @$(KCC) -D_NEED_ATOU $< -o $@.3 + @$(KCC) -D_NEED_ATOUL $< -o $@.4 + @$(LD) -r $@.1 $@.2 $@.3 $@.4 -o $@ + @rm -f $@.1 $@.2 $@.3 $@.4 + @echo ${CL2}[$@] ${CL}Compiled.${CL3} + +$(KOBJDIR)/libc/itoa.o: $(KALEIDDIR)/libc/itoa.c $(INCLUDEDIR)/*/*.h | $(KOBJDIR) + @mkdir -p $(shell dirname $@) + @$(KCC) -D_NEED_ITOA $< -o $@.1 + @$(KCC) -D_NEED_LTOA $< -o $@.2 + @$(KCC) -D_NEED_UTOA $< -o $@.3 + @$(KCC) -D_NEED_ULTOA $< -o $@.4 + @$(LD) -r $@.1 $@.2 $@.3 $@.4 -o $@ + @rm -f $@.1 $@.2 $@.3 $@.4 + @echo ${CL2}[$@] ${CL}Compiled.${CL3} + +$(KOBJDIR)/libc/mem.o: $(KALEIDDIR)/libc/mem.c $(INCLUDEDIR)/*/*.h | $(KOBJDIR) + @mkdir -p $(shell dirname $@) + @$(KCC) -fno-strict-aliasing $< -o $@ + @echo ${CL2}[$@] ${CL}Compiled.${CL3} + ## MAIN MAKEFILE ------------------------------------------------------------- # -.PHONY: test +$(KOBJDIR)/%.o: %.c $(INCLUDEDIR)/*/*.h | $(KOBJDIR) + @mkdir -p $(shell dirname $@) + @$(KCC) $< -o $@ + @echo ${CL2}[$@] ${CL}Compiled.${CL3} + test: all - @qemu-system-x86_64 -m 5G -hda $(BUILDDIR)/bin/disk.img \ + @qemu-system-x86_64 -m 4G -hda $(BUILDDIR)/bin/disk.img \ -d cpu_reset,guest_errors,pcall,int 2> $(BUILDDIR)/qemu.log & -.PHONY: test32 + test32: all @qemu-system-i386 -hda $(BUILDDIR)/bin/disk.img -d cpu_reset,guest_errors,pcall,int 2> $(BUILDDIR)/qemu.log & -.PHONY: debug debug: all @qemu-system-x86_64 -m 64M -hda $(BUILDDIR)/bin/disk.img -no-reboot \ -no-shutdown -d cpu_reset,guest_errors,pcall,int 2> $(BUILDDIR)/qemu.log & @ndisasm $(BINDIR)/kaleid -o 0x00100000 -b 64 > $(BUILDDIR)/kaleid64_disasm.asm @ndisasm $(BINDIR)/kaleid -o 0x00100000 -b 32 > $(BUILDDIR)/kaleid32_disasm.asm -.PHONY: gdb gdb: all @qemu-system-x86_64 -m 64M -hda $(BUILDDIR)/bin/disk.img -no-reboot \ -no-shutdown -d cpu_reset,guest_errors,pcall,int -s 2> $(BUILDDIR)/qemu.log & @@ -221,7 +168,6 @@ gdb: all -ex "symbol-file $(BINDIR)/kaleid" \ -ex "break BtStartKern" \ -.PHONY: install_mbr install_mbr: $(BINDIR)/disk.img $(MBRDIR)/grub.cfg @mkdir -p $(BINDIR)/disk @echo ${CL2}[$@] ${NC}Installing MBR on image...${CL3} @@ -230,30 +176,31 @@ install_mbr: $(BINDIR)/disk.img $(MBRDIR)/grub.cfg @rmdir $(BINDIR)/disk @echo ${CL2}[$@] ${CL}Success.${CL3} -.PHONY: clean +dust: + -@$(MBRDIR)/umount.sh $(BINDIR)/disk || /bin/true + @rm -Rf $(OBJDIR)/* + @echo ${CL2}[$@] ${CL}Cleaned.${CL3} clean: -@$(MBRDIR)/umount.sh $(BINDIR)/disk || /bin/true - @rm -Rvf ./ProjectTree - @rm -Rvf $(BINDIR)/* $(OBJDIR)/*.o \ - $(OBJDIR)/*/*.o $(OBJDIR)/*/*.x86_64 $(OBJDIR)/*/*/*.o - @echo ${CL2}[[$@]] ${CL}Cleaned.${CL3} + @rm -Rvf ./ProjectTree $(BUILDDIR)/*.log + @rm -Rvf $(BINDIR)/* $(OBJDIR)/* + @echo ${CL2}[$@] ${CL}Cleaned.${CL3} $(BINDIR)/kaleid: $(LOBJDIR)/kaleid.x86_64 @echo ${CL2}[$@] ${NC}Objcopy...${CL3} - @x86_64-elf-objcopy -I elf64-x86-64 -O elf32-i386 $(LOBJDIR)/kaleid.x86_64 $(BINDIR)/kaleid + @$(OBJCOPY) -I elf64-x86-64 -O elf32-i386 $(LOBJDIR)/kaleid.x86_64 $(BINDIR)/kaleid @echo ${CL2}[$@] ${CL}Success.${CL3} -$(LOBJDIR)/kaleid.x86_64: $(kal_kern_obj) $(kal_com_obj) $(LOBJDIR)/loader.o +$(LOBJDIR)/kaleid.x86_64: $(LibCObj) $(KernObj) $(LOBJDIR)/loader.o @echo ${CL2}[$@] ${NC}Linking kernel objects...${CL3} - @$(LD) $(LDFLAGS) -T $(BUILDDIR)/kernel.ld \ - $(LOBJDIR)/loader.o \ - $(KOBJDIR)/*.o \ - $(KOBJDIR)/kernel/*.o \ + @$(LD) $(LDFLAGS) -T $(BUILDDIR)/kernel.ld \ + $(LOBJDIR)/loader.o $(KernObj) $(LibCObj) \ -o $(LOBJDIR)/kaleid.x86_64 @echo ${CL2}[$@] ${CL}Success.${CL3} $(LOBJDIR)/loader.o: $(LOADERDIR)/loader.asm $(LOADERDIR)/*/*.inc @echo ${CL2}[$@] ${NC}Making loader...${CL3} + @mkdir -p $(shell dirname $@) @$(ASM) $(ASMFLAGS) $(LOADERDIR)/loader.asm -o $(LOBJDIR)/loader.o > /dev/null @echo ${CL2}[$@] ${CL}Success.${CL3} @@ -264,10 +211,9 @@ $(BINDIR)/disk.img: $(MBRDIR)/create_disk.sh @make install_mbr @echo ${CL2}[$@]${NC} Constructing disk image...${CL3} -.PHONY:OS/K OS/K: $(BINDIR)/kaleid $(BINDIR)/disk.img ./ProjectTree @mkdir -p $(BINDIR)/disk - @echo ${CL2}[[$@]] ${NC}Integrating kernel...${CL3} + @echo ${CL2}[[$@]] ${NC}Integrating kernel, $(mode) mode.${CL3} -@$(MBRDIR)/umount.sh $(BINDIR)/disk || /bin/true @$(MBRDIR)/mount.sh $(BINDIR)/disk.img $(BINDIR)/disk @cp $(BINDIR)/kaleid $(BINDIR)/disk/boot/kaleid diff --git a/ProjectTree b/ProjectTree index 41c126d..bb8d75a 100644 --- a/ProjectTree +++ b/ProjectTree @@ -55,42 +55,53 @@ │   │   │   ├── kaleid.x86_64 │   │   │   └── loader.o │   │   └── kaleid +│   │   ├── extras +│   │   │   ├── argv.o +│   │   │   └── prog.o │   │   ├── kernel +│   │   │   ├── cpu +│   │   │   │   ├── cpuid.o +│   │   │   │   └── idt.o +│   │   │   ├── init +│   │   │   │   ├── init.o +│   │   │   │   └── table.o +│   │   │   ├── io +│   │   │   │   ├── cursor.o +│   │   │   │   └── vga.o +│   │   │   ├── ke +│   │   │   │   ├── log.o +│   │   │   │   └── panic.o +│   │   │   ├── mm +│   │   │   │   ├── gdt.o +│   │   │   │   ├── heap.o +│   │   │   │   ├── malloc.o +│   │   │   │   └── map.o +│   │   │   └── ps +│   │   │   └── sched.o +│   │   ├── libbuf │   │   │   ├── bprint.o │   │   │   ├── bput.o -│   │   │   ├── buf.o -│   │   │   ├── cpuid.o -│   │   │   ├── cursor.o -│   │   │   ├── gdt.o -│   │   │   ├── heap.o -│   │   │   ├── init.o -│   │   │   ├── log.o -│   │   │   ├── malloc.o -│   │   │   ├── map.o -│   │   │   ├── panic.o -│   │   │   ├── sched.o -│   │   │   ├── table.o -│   │   │   └── vga.o -│   │   ├── argv.o -│   │   ├── atoi.o -│   │   ├── atol.o -│   │   ├── atoul.o -│   │   ├── atou.o -│   │   ├── ctype.o -│   │   ├── itoa.o -│   │   ├── ltoa.o -│   │   ├── mem.o -│   │   ├── prog.o -│   │   ├── rand.o -│   │   ├── sprintf.o -│   │   ├── status.o -│   │   ├── string.o -│   │   ├── strtol.o -│   │   ├── ultoa.o -│   │   └── utoa.o +│   │   │   └── buf.o +│   │   └── libc +│   │   ├── atoi.o +│   │   ├── atoi.o.1 +│   │   ├── atoi.o.2 +│   │   ├── atoi.o.3 +│   │   ├── atoi.o.4 +│   │   ├── ctype.o +│   │   ├── itoa.o +│   │   ├── itoa.o.1 +│   │   ├── itoa.o.2 +│   │   ├── itoa.o.3 +│   │   ├── itoa.o.4 +│   │   ├── mem.o +│   │   ├── rand.o +│   │   ├── sprintf.o +│   │   ├── status.o +│   │   ├── string.o +│   │   └── strtol.o │   ├── grub.log -│   ├── kernel.ld -│   └── qemu.log +│   └── kernel.ld ├── include │   ├── base │   │   ├── assert.h @@ -167,4 +178,4 @@ ├── ProjectTree └── README.md -28 directories, 114 files +37 directories, 116 files diff --git a/README.md b/README.md index e6f8557..b815425 100644 --- a/README.md +++ b/README.md @@ -11,21 +11,21 @@ For changelog, see [ChangeLog](ChangeLog) For structure of the sources, see [ProjectTree](ProjectTree) +For our IRC channel, see `#os.k-devel` on [Freenode](https://webchat.freenode.net) + Note that every file within OS/K is written using spaces for tabulation, with each tabulation being 4 spaces long. -IRC Channel: #os.k-devel on Freenode - #### Compile from sources To compile this project from sources, you must first install the dependencies ``` apt update && apt upgrade -apt install grub-pc dosfstools make nasm qemu +apt install grub-pc-bin dosfstools make nasm qemu tree ``` -You also need to have the [x86-64 ELF gcc cross-compiler](https://www.os-k.eu/build-tools/cross-cc.tar.xz) and its "bin" repertory in your PATH. +You also need to have the [x86-64 ELF gcc cross-compiler](https://www.os-k.eu/build-tools/cross-cc.tar.xz) and its ``bin`` directory in your PATH. To compile, simply use at the root of this project : ``` diff --git a/boot/grub/grub.cfg b/boot/grub/grub.cfg index 4efc73e..97bc428 100755 --- a/boot/grub/grub.cfg +++ b/boot/grub/grub.cfg @@ -22,7 +22,7 @@ # along with OS/K. If not, see . # #=----------------------------------------------------------------------------=# -set timeout=5 +set timeout=0 set default=0 #Set the default menu entry diff --git a/build/obj/boot/.placeholder b/build/obj/boot/.placeholder deleted file mode 100644 index e69de29..0000000 diff --git a/build/obj/kaleid/kernel/.placeholder b/build/obj/kaleid/kernel/.placeholder deleted file mode 100644 index e69de29..0000000 diff --git a/kaleid/kernel/cpu/idt.c b/kaleid/kernel/cpu/idt.c index 469796c..cdcf44c 100644 --- a/kaleid/kernel/cpu/idt.c +++ b/kaleid/kernel/cpu/idt.c @@ -21,7 +21,7 @@ // You should have received a copy of the GNU General Public License // // along with OS/K. If not, see . // //----------------------------------------------------------------------------// - +#include // // Registers the new idt in the idtr register. diff --git a/kaleid/kernel/init/init.c b/kaleid/kernel/init/init.c index 896c77e..e32284d 100644 --- a/kaleid/kernel/init/init.c +++ b/kaleid/kernel/init/init.c @@ -151,8 +151,6 @@ noreturn void BtStartKern(multiboot_info_t *mbInfo, uint mbMagic) MmInitHeap(); PsInitSched(); - pstest(); - // End this machine's suffering BFlushBuf(BStdOut); KeCrashSystem();