From b94b5f0bc7f4aede0382dc335c9171440230a286 Mon Sep 17 00:00:00 2001 From: Alex Kotov Date: Wed, 25 Nov 2020 14:50:29 +0500 Subject: [PATCH] Add process "memgr" --- .gitignore | 1 + Makefile | 15 +++++++++------ memgr/.gitignore | 1 + memgr/Makefile | 7 +++++++ memgr/main.asm | 4 ++++ procman/Makefile | 8 +++++--- rootfs/boot/grub/grub.cfg | 1 + 7 files changed, 28 insertions(+), 9 deletions(-) create mode 100644 memgr/.gitignore create mode 100644 memgr/Makefile create mode 100644 memgr/main.asm diff --git a/.gitignore b/.gitignore index 7b2e271..b128cd2 100644 --- a/.gitignore +++ b/.gitignore @@ -6,5 +6,6 @@ /config.mk /rootfs/boot/kernelmq.multiboot2 /rootfs/boot/procman +/rootfs/boot/memgr /vendor/* !/vendor/.keep diff --git a/Makefile b/Makefile index 6e8b7f4..3f54bc8 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ GRUBCFG = rootfs/boot/grub/grub.cfg KERNEL = rootfs/boot/kernelmq.multiboot2 PROCMAN = rootfs/boot/procman +MEMGR = rootfs/boot/memgr IMAGE = image.iso @@ -8,25 +9,27 @@ run: $(IMAGE) qemu-system-i386 -cdrom $< -display none -serial stdio clean: - rm -f $(KERNEL) $(PROCMAN) + rm -f $(KERNEL) $(PROCMAN) $(MEMGR) make -C kernelmq clean make -C procman clean -$(IMAGE): $(GRUBCFG) $(KERNEL) $(PROCMAN) +$(IMAGE): $(GRUBCFG) $(KERNEL) $(PROCMAN) $(MEMGR) grub-mkrescue rootfs -o $@ -$(KERNEL): $(OBJS) - $(CC) -T linker.ld -o $@ -ffreestanding -nostdlib -lgcc $^ - grub-file --is-x86-multiboot2 $@ - $(KERNEL): kernelmq/kernelmq.multiboot2 cp $< $@ $(PROCMAN): procman/procman cp $< $@ +$(MEMGR): memgr/memgr + cp $< $@ + kernelmq/kernelmq.multiboot2: make -C kernelmq kernelmq.multiboot2 procman/procman: make -C procman procman + +memgr/memgr: + make -C memgr memgr diff --git a/memgr/.gitignore b/memgr/.gitignore new file mode 100644 index 0000000..9a41cad --- /dev/null +++ b/memgr/.gitignore @@ -0,0 +1 @@ +/memgr diff --git a/memgr/Makefile b/memgr/Makefile new file mode 100644 index 0000000..bbbf0f6 --- /dev/null +++ b/memgr/Makefile @@ -0,0 +1,7 @@ +MEMGR = memgr + +$(MEMGR): main.asm + nasm -f bin $< -o $@ + +clean: + rm -f $(MEMGR) diff --git a/memgr/main.asm b/memgr/main.asm new file mode 100644 index 0000000..6f43b04 --- /dev/null +++ b/memgr/main.asm @@ -0,0 +1,4 @@ +main: + xor eax, eax + xor ebx, ebx + int 0x80 diff --git a/procman/Makefile b/procman/Makefile index d2f4d27..5eec10f 100644 --- a/procman/Makefile +++ b/procman/Makefile @@ -1,5 +1,7 @@ -procman: main.asm - nasm -f bin $< -o procman +PROCMAN = procman + +$(PROCMAN): main.asm + nasm -f bin $< -o $@ clean: - rm -f procman + rm -f $(PROCMAN) diff --git a/rootfs/boot/grub/grub.cfg b/rootfs/boot/grub/grub.cfg index b9a7ee1..96a9734 100644 --- a/rootfs/boot/grub/grub.cfg +++ b/rootfs/boot/grub/grub.cfg @@ -3,4 +3,5 @@ set timeout=0 menuentry "KernelMQ" { multiboot2 /boot/kernelmq.multiboot2 module2 /boot/procman + module2 /boot/memgr }