diff options
author | Anton Kling <anton@kling.gg> | 2023-10-30 22:12:14 +0100 |
---|---|---|
committer | Anton Kling <anton@kling.gg> | 2023-10-31 00:18:38 +0100 |
commit | 8a9208612eec8ddae4c418485d848ecfa0613699 (patch) | |
tree | 2f4b29200c2f0c19ae52f45bdb9b38a41b356e30 | |
parent | ca76600acc8bf7a02346efa5bd8f17072210ec01 (diff) |
Meta: Move kernel and userland to their own folders.
This is to allow both the kernel and the userland to share certain
header files and to make the folder structure a bit more clear.
-rw-r--r-- | .gitmodules | 2 | ||||
-rw-r--r-- | kernel/Makefile (renamed from Makefile) | 4 | ||||
-rw-r--r-- | kernel/arch/i386/boot.s (renamed from arch/i386/boot.s) | 0 | ||||
-rw-r--r-- | kernel/arch/i386/mmu.c (renamed from arch/i386/mmu.c) | 0 | ||||
-rw-r--r-- | kernel/cpu/gdt.c (renamed from cpu/gdt.c) | 0 | ||||
-rw-r--r-- | kernel/cpu/gdt.h (renamed from cpu/gdt.h) | 0 | ||||
-rw-r--r-- | kernel/cpu/idt.c (renamed from cpu/idt.c) | 0 | ||||
-rw-r--r-- | kernel/cpu/idt.h (renamed from cpu/idt.h) | 0 | ||||
-rw-r--r-- | kernel/cpu/int_syscall.s (renamed from cpu/int_syscall.s) | 0 | ||||
-rw-r--r-- | kernel/cpu/io.h (renamed from cpu/io.h) | 0 | ||||
-rw-r--r-- | kernel/cpu/io.s (renamed from cpu/io.s) | 0 | ||||
-rw-r--r-- | kernel/cpu/reload_gdt.s (renamed from cpu/reload_gdt.s) | 0 | ||||
-rw-r--r-- | kernel/cpu/spinlock.c (renamed from cpu/spinlock.c) | 0 | ||||
-rw-r--r-- | kernel/cpu/spinlock.h (renamed from cpu/spinlock.h) | 0 | ||||
-rw-r--r-- | kernel/cpu/syscall.c (renamed from cpu/syscall.c) | 0 | ||||
-rw-r--r-- | kernel/cpu/syscall.h (renamed from cpu/syscall.h) | 0 | ||||
-rw-r--r-- | kernel/crypto/ChaCha20/chacha20.c (renamed from crypto/ChaCha20/chacha20.c) | 0 | ||||
-rw-r--r-- | kernel/crypto/ChaCha20/chacha20.h (renamed from crypto/ChaCha20/chacha20.h) | 0 | ||||
m--------- | kernel/crypto/SHA1 (renamed from crypto/SHA1) | 0 | ||||
-rw-r--r-- | kernel/drivers/ata.c (renamed from drivers/ata.c) | 0 | ||||
-rw-r--r-- | kernel/drivers/ata.h (renamed from drivers/ata.h) | 0 | ||||
-rw-r--r-- | kernel/drivers/keyboard.c (renamed from drivers/keyboard.c) | 0 | ||||
-rw-r--r-- | kernel/drivers/keyboard.h (renamed from drivers/keyboard.h) | 0 | ||||
-rw-r--r-- | kernel/drivers/mouse.c (renamed from drivers/mouse.c) | 0 | ||||
-rw-r--r-- | kernel/drivers/mouse.h (renamed from drivers/mouse.h) | 0 | ||||
-rw-r--r-- | kernel/drivers/pci.c (renamed from drivers/pci.c) | 0 | ||||
-rw-r--r-- | kernel/drivers/pci.h (renamed from drivers/pci.h) | 0 | ||||
-rw-r--r-- | kernel/drivers/pit.c (renamed from drivers/pit.c) | 0 | ||||
-rw-r--r-- | kernel/drivers/pit.h (renamed from drivers/pit.h) | 0 | ||||
-rw-r--r-- | kernel/drivers/pst.c (renamed from drivers/pst.c) | 0 | ||||
-rw-r--r-- | kernel/drivers/pst.h (renamed from drivers/pst.h) | 0 | ||||
-rw-r--r-- | kernel/drivers/rtl8139.c (renamed from drivers/rtl8139.c) | 0 | ||||
-rw-r--r-- | kernel/drivers/rtl8139.h (renamed from drivers/rtl8139.h) | 0 | ||||
-rw-r--r-- | kernel/drivers/serial.c (renamed from drivers/serial.c) | 0 | ||||
-rw-r--r-- | kernel/drivers/serial.h (renamed from drivers/serial.h) | 0 | ||||
-rw-r--r-- | kernel/drivers/vbe.c (renamed from drivers/vbe.c) | 0 | ||||
-rw-r--r-- | kernel/drivers/vbe.h (renamed from drivers/vbe.h) | 0 | ||||
-rw-r--r-- | kernel/elf.c (renamed from elf.c) | 0 | ||||
-rw-r--r-- | kernel/elf.h (renamed from elf.h) | 0 | ||||
-rw-r--r-- | kernel/fs/devfs.c (renamed from fs/devfs.c) | 0 | ||||
-rw-r--r-- | kernel/fs/devfs.h (renamed from fs/devfs.h) | 0 | ||||
-rw-r--r-- | kernel/fs/ext2.c (renamed from fs/ext2.c) | 0 | ||||
-rw-r--r-- | kernel/fs/ext2.h (renamed from fs/ext2.h) | 0 | ||||
-rw-r--r-- | kernel/fs/fifo.c (renamed from fs/fifo.c) | 0 | ||||
-rw-r--r-- | kernel/fs/fifo.h (renamed from fs/fifo.h) | 0 | ||||
-rw-r--r-- | kernel/fs/shm.c (renamed from fs/shm.c) | 0 | ||||
-rw-r--r-- | kernel/fs/shm.h (renamed from fs/shm.h) | 0 | ||||
-rw-r--r-- | kernel/fs/tmpfs.c (renamed from fs/tmpfs.c) | 0 | ||||
-rw-r--r-- | kernel/fs/tmpfs.h (renamed from fs/tmpfs.h) | 0 | ||||
-rw-r--r-- | kernel/fs/vfs.c (renamed from fs/vfs.c) | 0 | ||||
-rw-r--r-- | kernel/fs/vfs.h (renamed from fs/vfs.h) | 0 | ||||
-rw-r--r-- | kernel/halts.c (renamed from halts.c) | 0 | ||||
-rw-r--r-- | kernel/halts.h (renamed from halts.h) | 0 | ||||
-rw-r--r-- | kernel/hashmap/hashmap.c (renamed from hashmap/hashmap.c) | 0 | ||||
-rw-r--r-- | kernel/hashmap/hashmap.h (renamed from hashmap/hashmap.h) | 0 | ||||
-rw-r--r-- | kernel/includes/defs.h (renamed from includes/defs.h) | 0 | ||||
-rw-r--r-- | kernel/includes/math.h (renamed from includes/math.h) | 0 | ||||
-rw-r--r-- | kernel/includes/mmu.h (renamed from includes/mmu.h) | 0 | ||||
-rw-r--r-- | kernel/includes/signal.h (renamed from includes/signal.h) | 0 | ||||
-rw-r--r-- | kernel/includes/sys/types.h (renamed from includes/sys/types.h) | 0 | ||||
-rw-r--r-- | kernel/init/kernel.c (renamed from init/kernel.c) | 0 | ||||
-rw-r--r-- | kernel/isodir/boot/grub/grub.cfg (renamed from isodir/boot/grub/grub.cfg) | 0 | ||||
-rw-r--r-- | kernel/kmalloc.c (renamed from kmalloc.c) | 0 | ||||
-rw-r--r-- | kernel/kmalloc.h (renamed from kmalloc.h) | 0 | ||||
-rw-r--r-- | kernel/ksbrk.c (renamed from ksbrk.c) | 0 | ||||
-rw-r--r-- | kernel/ksbrk.h (renamed from ksbrk.h) | 0 | ||||
-rw-r--r-- | kernel/kubsan.c (renamed from kubsan.c) | 0 | ||||
-rw-r--r-- | kernel/kubsan.h (renamed from kubsan.h) | 0 | ||||
-rw-r--r-- | kernel/libc/exit/assert.c (renamed from libc/exit/assert.c) | 0 | ||||
-rw-r--r-- | kernel/libc/include/assert.h (renamed from libc/include/assert.h) | 0 | ||||
-rw-r--r-- | kernel/libc/include/errno.h (renamed from libc/include/errno.h) | 0 | ||||
-rw-r--r-- | kernel/libc/include/limits.h (renamed from libc/include/limits.h) | 0 | ||||
-rw-r--r-- | kernel/libc/include/stdio.h (renamed from libc/include/stdio.h) | 0 | ||||
-rw-r--r-- | kernel/libc/include/stdlib.h (renamed from libc/include/stdlib.h) | 0 | ||||
-rw-r--r-- | kernel/libc/include/string.h (renamed from libc/include/string.h) | 0 | ||||
-rw-r--r-- | kernel/libc/include/time.h (renamed from libc/include/time.h) | 0 | ||||
-rw-r--r-- | kernel/libc/include/types.h (renamed from libc/include/types.h) | 0 | ||||
-rw-r--r-- | kernel/libc/stdio/print.c (renamed from libc/stdio/print.c) | 0 | ||||
-rw-r--r-- | kernel/libc/string/copy.c (renamed from libc/string/copy.c) | 0 | ||||
-rw-r--r-- | kernel/libc/string/isequal.c (renamed from libc/string/isequal.c) | 0 | ||||
-rw-r--r-- | kernel/libc/string/memcmp.c (renamed from libc/string/memcmp.c) | 0 | ||||
-rw-r--r-- | kernel/libc/string/memcpy.c (renamed from libc/string/memcpy.c) | 0 | ||||
-rw-r--r-- | kernel/libc/string/memset.c (renamed from libc/string/memset.c) | 0 | ||||
-rw-r--r-- | kernel/libc/string/strcat.c (renamed from libc/string/strcat.c) | 0 | ||||
-rw-r--r-- | kernel/libc/string/strcmp.c (renamed from libc/string/strcmp.c) | 0 | ||||
-rw-r--r-- | kernel/libc/string/strcpy.c (renamed from libc/string/strcpy.c) | 0 | ||||
-rw-r--r-- | kernel/libc/string/strlcpy.c (renamed from libc/string/strlcpy.c) | 0 | ||||
-rw-r--r-- | kernel/libc/string/strlen.c (renamed from libc/string/strlen.c) | 0 | ||||
-rw-r--r-- | kernel/libc/string/strncpy.c (renamed from libc/string/strncpy.c) | 0 | ||||
-rw-r--r-- | kernel/linker.ld (renamed from linker.ld) | 0 | ||||
-rw-r--r-- | kernel/log.c (renamed from log.c) | 0 | ||||
-rw-r--r-- | kernel/log.h (renamed from log.h) | 0 | ||||
-rw-r--r-- | kernel/math.c (renamed from math.c) | 0 | ||||
l--------- | kernel/mount/cat (renamed from mount/cat) | 0 | ||||
l--------- | kernel/mount/init (renamed from mount/init) | 0 | ||||
-rwxr-xr-x | kernel/mount/pid1 (renamed from mount/pid1) | bin | 2396 -> 2396 bytes | |||
-rwxr-xr-x | kernel/mount/program (renamed from mount/program) | bin | 1744 -> 1744 bytes | |||
-rwxr-xr-x | kernel/mount/sh (renamed from mount/sh) | bin | 45660 -> 45660 bytes | |||
-rw-r--r-- | kernel/multiboot.h (renamed from multiboot.h) | 0 | ||||
-rw-r--r-- | kernel/network/arp.c (renamed from network/arp.c) | 0 | ||||
-rw-r--r-- | kernel/network/arp.h (renamed from network/arp.h) | 0 | ||||
-rw-r--r-- | kernel/network/bytes.c (renamed from network/bytes.c) | 0 | ||||
-rw-r--r-- | kernel/network/bytes.h (renamed from network/bytes.h) | 0 | ||||
-rw-r--r-- | kernel/network/ethernet.c (renamed from network/ethernet.c) | 0 | ||||
-rw-r--r-- | kernel/network/ethernet.h (renamed from network/ethernet.h) | 0 | ||||
-rw-r--r-- | kernel/network/ipv4.c (renamed from network/ipv4.c) | 0 | ||||
-rw-r--r-- | kernel/network/ipv4.h (renamed from network/ipv4.h) | 0 | ||||
-rw-r--r-- | kernel/network/udp.c (renamed from network/udp.c) | 0 | ||||
-rw-r--r-- | kernel/network/udp.h (renamed from network/udp.h) | 0 | ||||
-rw-r--r-- | kernel/poll.c (renamed from poll.c) | 0 | ||||
-rw-r--r-- | kernel/poll.h (renamed from poll.h) | 0 | ||||
-rw-r--r-- | kernel/process.s (renamed from process.s) | 0 | ||||
-rw-r--r-- | kernel/random.c (renamed from random.c) | 0 | ||||
-rw-r--r-- | kernel/random.h (renamed from random.h) | 0 | ||||
-rw-r--r-- | kernel/read_eip.s (renamed from read_eip.s) | 0 | ||||
-rw-r--r-- | kernel/scalls/accept.c (renamed from scalls/accept.c) | 0 | ||||
-rw-r--r-- | kernel/scalls/accept.h (renamed from scalls/accept.h) | 0 | ||||
-rw-r--r-- | kernel/scalls/bind.c (renamed from scalls/bind.c) | 0 | ||||
-rw-r--r-- | kernel/scalls/bind.h (renamed from scalls/bind.h) | 0 | ||||
-rw-r--r-- | kernel/scalls/clock_gettime.c (renamed from scalls/clock_gettime.c) | 0 | ||||
-rw-r--r-- | kernel/scalls/clock_gettime.h (renamed from scalls/clock_gettime.h) | 0 | ||||
-rw-r--r-- | kernel/scalls/ftruncate.c (renamed from scalls/ftruncate.c) | 0 | ||||
-rw-r--r-- | kernel/scalls/ftruncate.h (renamed from scalls/ftruncate.h) | 0 | ||||
-rw-r--r-- | kernel/scalls/kill.c | 5 | ||||
-rw-r--r-- | kernel/scalls/kill.h | 2 | ||||
-rw-r--r-- | kernel/scalls/mkdir.c (renamed from scalls/mkdir.c) | 0 | ||||
-rw-r--r-- | kernel/scalls/mkdir.h (renamed from scalls/mkdir.h) | 0 | ||||
-rw-r--r-- | kernel/scalls/mmap.c (renamed from scalls/mmap.c) | 0 | ||||
-rw-r--r-- | kernel/scalls/mmap.h (renamed from scalls/mmap.h) | 0 | ||||
-rw-r--r-- | kernel/scalls/msleep.c (renamed from scalls/msleep.c) | 0 | ||||
-rw-r--r-- | kernel/scalls/msleep.h (renamed from scalls/msleep.h) | 0 | ||||
-rw-r--r-- | kernel/scalls/ppoll.c (renamed from scalls/ppoll.c) | 0 | ||||
-rw-r--r-- | kernel/scalls/ppoll.h (renamed from scalls/ppoll.h) | 0 | ||||
-rw-r--r-- | kernel/scalls/recvfrom.c (renamed from scalls/recvfrom.c) | 0 | ||||
-rw-r--r-- | kernel/scalls/recvfrom.h (renamed from scalls/recvfrom.h) | 0 | ||||
-rw-r--r-- | kernel/scalls/sendto.c (renamed from scalls/sendto.c) | 0 | ||||
-rw-r--r-- | kernel/scalls/sendto.h (renamed from scalls/sendto.h) | 0 | ||||
-rw-r--r-- | kernel/scalls/shm.c (renamed from scalls/shm.c) | 0 | ||||
-rw-r--r-- | kernel/scalls/shm.h (renamed from scalls/shm.h) | 0 | ||||
-rw-r--r-- | kernel/scalls/socket.c (renamed from scalls/socket.c) | 0 | ||||
-rw-r--r-- | kernel/scalls/socket.h (renamed from scalls/socket.h) | 0 | ||||
-rw-r--r-- | kernel/scalls/stat.c (renamed from scalls/stat.c) | 0 | ||||
-rw-r--r-- | kernel/scalls/stat.h (renamed from scalls/stat.h) | 0 | ||||
-rw-r--r-- | kernel/scalls/uptime.c (renamed from scalls/uptime.c) | 0 | ||||
-rw-r--r-- | kernel/scalls/uptime.h (renamed from scalls/uptime.h) | 0 | ||||
-rw-r--r-- | kernel/sched/scheduler.c (renamed from sched/scheduler.c) | 0 | ||||
-rw-r--r-- | kernel/sched/scheduler.h (renamed from sched/scheduler.h) | 0 | ||||
-rw-r--r-- | kernel/signal.s | 18 | ||||
-rw-r--r-- | kernel/socket.c (renamed from socket.c) | 0 | ||||
-rw-r--r-- | kernel/socket.h (renamed from socket.h) | 0 | ||||
-rw-r--r-- | kernel/time.h (renamed from time.h) | 0 |
151 files changed, 28 insertions, 3 deletions
diff --git a/.gitmodules b/.gitmodules index 5283f8e..6ce58bd 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,5 +1,5 @@ [submodule "crypto/SHA1"] - path = crypto/SHA1 + path = kernel/crypto/SHA1 url = git@github.com:elttil/SHA1.git [submodule "userland/json/hashmap"] path = userland/json/hashmap diff --git a/Makefile b/kernel/Makefile index d106a75..5098944 100644 --- a/Makefile +++ b/kernel/Makefile @@ -1,5 +1,5 @@ -CC="./sysroot/bin/i686-sb-gcc" -AS="./sysroot/bin/i686-sb-as" +CC="i686-sb-gcc" +AS="i686-sb-as" OBJ = arch/i386/boot.o init/kernel.o cpu/gdt.o cpu/reload_gdt.o cpu/idt.o cpu/io.o libc/stdio/print.o drivers/keyboard.o log.o drivers/pit.o libc/string/memcpy.o libc/string/strlen.o libc/string/memcmp.o drivers/ata.o libc/string/memset.o cpu/syscall.o read_eip.o libc/exit/assert.o process.o cpu/int_syscall.o libc/string/strcpy.o arch/i386/mmu.o kmalloc.o fs/ext2.o fs/vfs.o fs/devfs.o cpu/spinlock.o random.o libc/string/strcmp.o crypto/ChaCha20/chacha20.o crypto/SHA1/sha1.o fs/tmpfs.o libc/string/isequal.o drivers/pst.o halts.o scalls/ppoll.o scalls/ftruncate.o kubsan.o scalls/mmap.o drivers/serial.o scalls/accept.o scalls/bind.o scalls/socket.o socket.o poll.o fs/fifo.o hashmap/hashmap.o fs/shm.o scalls/shm.o elf.o ksbrk.o sched/scheduler.o scalls/stat.o libc/string/copy.o libc/string/strncpy.o drivers/mouse.o libc/string/strlcpy.o libc/string/strcat.o drivers/vbe.o scalls/msleep.o scalls/uptime.o scalls/mkdir.o drivers/pci.o drivers/rtl8139.o network/ethernet.o network/arp.o network/bytes.o network/ipv4.o network/udp.o scalls/recvfrom.o math.o scalls/sendto.o signal.o scalls/kill.o scalls/sigaction.o CFLAGS = -O2 -fsanitize=vla-bound,shift-exponent,pointer-overflow,shift,signed-integer-overflow,bounds -ggdb -ffreestanding -Wall -Werror -mgeneral-regs-only -Wimplicit-fallthrough -I./libc/include/ -I. INCLUDE=-I./includes/ -I./libc/include/ diff --git a/arch/i386/boot.s b/kernel/arch/i386/boot.s index 61bbfbb..61bbfbb 100644 --- a/arch/i386/boot.s +++ b/kernel/arch/i386/boot.s diff --git a/arch/i386/mmu.c b/kernel/arch/i386/mmu.c index ccfe894..ccfe894 100644 --- a/arch/i386/mmu.c +++ b/kernel/arch/i386/mmu.c diff --git a/cpu/gdt.c b/kernel/cpu/gdt.c index 28853cf..28853cf 100644 --- a/cpu/gdt.c +++ b/kernel/cpu/gdt.c diff --git a/cpu/gdt.h b/kernel/cpu/gdt.h index a490dea..a490dea 100644 --- a/cpu/gdt.h +++ b/kernel/cpu/gdt.h diff --git a/cpu/idt.c b/kernel/cpu/idt.c index abcafad..abcafad 100644 --- a/cpu/idt.c +++ b/kernel/cpu/idt.c diff --git a/cpu/idt.h b/kernel/cpu/idt.h index 025ba75..025ba75 100644 --- a/cpu/idt.h +++ b/kernel/cpu/idt.h diff --git a/cpu/int_syscall.s b/kernel/cpu/int_syscall.s index 8c3c25f..8c3c25f 100644 --- a/cpu/int_syscall.s +++ b/kernel/cpu/int_syscall.s diff --git a/cpu/io.h b/kernel/cpu/io.h index 38858a4..38858a4 100644 --- a/cpu/io.h +++ b/kernel/cpu/io.h diff --git a/cpu/io.s b/kernel/cpu/io.s index 31e9df0..31e9df0 100644 --- a/cpu/io.s +++ b/kernel/cpu/io.s diff --git a/cpu/reload_gdt.s b/kernel/cpu/reload_gdt.s index 3a0119b..3a0119b 100644 --- a/cpu/reload_gdt.s +++ b/kernel/cpu/reload_gdt.s diff --git a/cpu/spinlock.c b/kernel/cpu/spinlock.c index 3f87423..3f87423 100644 --- a/cpu/spinlock.c +++ b/kernel/cpu/spinlock.c diff --git a/cpu/spinlock.h b/kernel/cpu/spinlock.h index 93290c4..93290c4 100644 --- a/cpu/spinlock.h +++ b/kernel/cpu/spinlock.h diff --git a/cpu/syscall.c b/kernel/cpu/syscall.c index 4978732..4978732 100644 --- a/cpu/syscall.c +++ b/kernel/cpu/syscall.c diff --git a/cpu/syscall.h b/kernel/cpu/syscall.h index 51d50f2..51d50f2 100644 --- a/cpu/syscall.h +++ b/kernel/cpu/syscall.h diff --git a/crypto/ChaCha20/chacha20.c b/kernel/crypto/ChaCha20/chacha20.c index 5bf7aa2..5bf7aa2 100644 --- a/crypto/ChaCha20/chacha20.c +++ b/kernel/crypto/ChaCha20/chacha20.c diff --git a/crypto/ChaCha20/chacha20.h b/kernel/crypto/ChaCha20/chacha20.h index 17532f3..17532f3 100644 --- a/crypto/ChaCha20/chacha20.h +++ b/kernel/crypto/ChaCha20/chacha20.h diff --git a/crypto/SHA1 b/kernel/crypto/SHA1 -Subproject 237ea7023cad8402932dfbde337d69e5f4d515f +Subproject 237ea7023cad8402932dfbde337d69e5f4d515f diff --git a/drivers/ata.c b/kernel/drivers/ata.c index fd9b504..fd9b504 100644 --- a/drivers/ata.c +++ b/kernel/drivers/ata.c diff --git a/drivers/ata.h b/kernel/drivers/ata.h index 3e88d7f..3e88d7f 100644 --- a/drivers/ata.h +++ b/kernel/drivers/ata.h diff --git a/drivers/keyboard.c b/kernel/drivers/keyboard.c index 8c96606..8c96606 100644 --- a/drivers/keyboard.c +++ b/kernel/drivers/keyboard.c diff --git a/drivers/keyboard.h b/kernel/drivers/keyboard.h index 4b76f22..4b76f22 100644 --- a/drivers/keyboard.h +++ b/kernel/drivers/keyboard.h diff --git a/drivers/mouse.c b/kernel/drivers/mouse.c index 23619a0..23619a0 100644 --- a/drivers/mouse.c +++ b/kernel/drivers/mouse.c diff --git a/drivers/mouse.h b/kernel/drivers/mouse.h index 5248143..5248143 100644 --- a/drivers/mouse.h +++ b/kernel/drivers/mouse.h diff --git a/drivers/pci.c b/kernel/drivers/pci.c index 5fe14bd..5fe14bd 100644 --- a/drivers/pci.c +++ b/kernel/drivers/pci.c diff --git a/drivers/pci.h b/kernel/drivers/pci.h index 7511cee..7511cee 100644 --- a/drivers/pci.h +++ b/kernel/drivers/pci.h diff --git a/drivers/pit.c b/kernel/drivers/pit.c index 711883c..711883c 100644 --- a/drivers/pit.c +++ b/kernel/drivers/pit.c diff --git a/drivers/pit.h b/kernel/drivers/pit.h index 8d9ce98..8d9ce98 100644 --- a/drivers/pit.h +++ b/kernel/drivers/pit.h diff --git a/drivers/pst.c b/kernel/drivers/pst.c index d063ec9..d063ec9 100644 --- a/drivers/pst.c +++ b/kernel/drivers/pst.c diff --git a/drivers/pst.h b/kernel/drivers/pst.h index e8fdfaa..e8fdfaa 100644 --- a/drivers/pst.h +++ b/kernel/drivers/pst.h diff --git a/drivers/rtl8139.c b/kernel/drivers/rtl8139.c index 3853eab..3853eab 100644 --- a/drivers/rtl8139.c +++ b/kernel/drivers/rtl8139.c diff --git a/drivers/rtl8139.h b/kernel/drivers/rtl8139.h index 6e13fdd..6e13fdd 100644 --- a/drivers/rtl8139.h +++ b/kernel/drivers/rtl8139.h diff --git a/drivers/serial.c b/kernel/drivers/serial.c index 549d852..549d852 100644 --- a/drivers/serial.c +++ b/kernel/drivers/serial.c diff --git a/drivers/serial.h b/kernel/drivers/serial.h index 327765b..327765b 100644 --- a/drivers/serial.h +++ b/kernel/drivers/serial.h diff --git a/drivers/vbe.c b/kernel/drivers/vbe.c index c67b7b4..c67b7b4 100644 --- a/drivers/vbe.c +++ b/kernel/drivers/vbe.c diff --git a/drivers/vbe.h b/kernel/drivers/vbe.h index 4df2221..4df2221 100644 --- a/drivers/vbe.h +++ b/kernel/drivers/vbe.h diff --git a/fs/devfs.c b/kernel/fs/devfs.c index 14748a7..14748a7 100644 --- a/fs/devfs.c +++ b/kernel/fs/devfs.c diff --git a/fs/devfs.h b/kernel/fs/devfs.h index 23a499e..23a499e 100644 --- a/fs/devfs.h +++ b/kernel/fs/devfs.h diff --git a/fs/ext2.c b/kernel/fs/ext2.c index bd0fb07..bd0fb07 100644 --- a/fs/ext2.c +++ b/kernel/fs/ext2.c diff --git a/fs/ext2.h b/kernel/fs/ext2.h index 3a2f800..3a2f800 100644 --- a/fs/ext2.h +++ b/kernel/fs/ext2.h diff --git a/fs/fifo.c b/kernel/fs/fifo.c index d515ed7..d515ed7 100644 --- a/fs/fifo.c +++ b/kernel/fs/fifo.c diff --git a/fs/fifo.h b/kernel/fs/fifo.h index 1ba7168..1ba7168 100644 --- a/fs/fifo.h +++ b/kernel/fs/fifo.h diff --git a/fs/shm.c b/kernel/fs/shm.c index 4d5f2ab..4d5f2ab 100644 --- a/fs/shm.c +++ b/kernel/fs/shm.c diff --git a/fs/shm.h b/kernel/fs/shm.h index fbbdb5c..fbbdb5c 100644 --- a/fs/shm.h +++ b/kernel/fs/shm.h diff --git a/fs/tmpfs.c b/kernel/fs/tmpfs.c index a9a3c1f..a9a3c1f 100644 --- a/fs/tmpfs.c +++ b/kernel/fs/tmpfs.c diff --git a/fs/tmpfs.h b/kernel/fs/tmpfs.h index 4052bd5..4052bd5 100644 --- a/fs/tmpfs.h +++ b/kernel/fs/tmpfs.h diff --git a/fs/vfs.c b/kernel/fs/vfs.c index 0c616a2..0c616a2 100644 --- a/fs/vfs.c +++ b/kernel/fs/vfs.c diff --git a/fs/vfs.h b/kernel/fs/vfs.h index f8a4b19..f8a4b19 100644 --- a/fs/vfs.h +++ b/kernel/fs/vfs.h diff --git a/hashmap/hashmap.c b/kernel/hashmap/hashmap.c index 2eeef98..2eeef98 100644 --- a/hashmap/hashmap.c +++ b/kernel/hashmap/hashmap.c diff --git a/hashmap/hashmap.h b/kernel/hashmap/hashmap.h index 40f146a..40f146a 100644 --- a/hashmap/hashmap.h +++ b/kernel/hashmap/hashmap.h diff --git a/includes/defs.h b/kernel/includes/defs.h index 3a373b3..3a373b3 100644 --- a/includes/defs.h +++ b/kernel/includes/defs.h diff --git a/includes/math.h b/kernel/includes/math.h index 19fc595..19fc595 100644 --- a/includes/math.h +++ b/kernel/includes/math.h diff --git a/includes/mmu.h b/kernel/includes/mmu.h index 1df337d..1df337d 100644 --- a/includes/mmu.h +++ b/kernel/includes/mmu.h diff --git a/includes/signal.h b/kernel/includes/signal.h index 3de9998..3de9998 100644 --- a/includes/signal.h +++ b/kernel/includes/signal.h diff --git a/includes/sys/types.h b/kernel/includes/sys/types.h index 1ccbf63..1ccbf63 100644 --- a/includes/sys/types.h +++ b/kernel/includes/sys/types.h diff --git a/init/kernel.c b/kernel/init/kernel.c index 8c0f70c..8c0f70c 100644 --- a/init/kernel.c +++ b/kernel/init/kernel.c diff --git a/isodir/boot/grub/grub.cfg b/kernel/isodir/boot/grub/grub.cfg index b2f8404..b2f8404 100644 --- a/isodir/boot/grub/grub.cfg +++ b/kernel/isodir/boot/grub/grub.cfg diff --git a/kmalloc.c b/kernel/kmalloc.c index 34c466d..34c466d 100644 --- a/kmalloc.c +++ b/kernel/kmalloc.c diff --git a/kmalloc.h b/kernel/kmalloc.h index 69e0de3..69e0de3 100644 --- a/kmalloc.h +++ b/kernel/kmalloc.h diff --git a/kubsan.c b/kernel/kubsan.c index c81b3fc..c81b3fc 100644 --- a/kubsan.c +++ b/kernel/kubsan.c diff --git a/kubsan.h b/kernel/kubsan.h index dac5407..dac5407 100644 --- a/kubsan.h +++ b/kernel/kubsan.h diff --git a/libc/exit/assert.c b/kernel/libc/exit/assert.c index b48773a..b48773a 100644 --- a/libc/exit/assert.c +++ b/kernel/libc/exit/assert.c diff --git a/libc/include/assert.h b/kernel/libc/include/assert.h index 90a0be4..90a0be4 100644 --- a/libc/include/assert.h +++ b/kernel/libc/include/assert.h diff --git a/libc/include/errno.h b/kernel/libc/include/errno.h index 1ad1004..1ad1004 100644 --- a/libc/include/errno.h +++ b/kernel/libc/include/errno.h diff --git a/libc/include/limits.h b/kernel/libc/include/limits.h index 05022ec..05022ec 100644 --- a/libc/include/limits.h +++ b/kernel/libc/include/limits.h diff --git a/libc/include/stdio.h b/kernel/libc/include/stdio.h index f2bbb32..f2bbb32 100644 --- a/libc/include/stdio.h +++ b/kernel/libc/include/stdio.h diff --git a/libc/include/stdlib.h b/kernel/libc/include/stdlib.h index e69de29..e69de29 100644 --- a/libc/include/stdlib.h +++ b/kernel/libc/include/stdlib.h diff --git a/libc/include/string.h b/kernel/libc/include/string.h index 7cee4b2..7cee4b2 100644 --- a/libc/include/string.h +++ b/kernel/libc/include/string.h diff --git a/libc/include/time.h b/kernel/libc/include/time.h index 4e356d1..4e356d1 100644 --- a/libc/include/time.h +++ b/kernel/libc/include/time.h diff --git a/libc/include/types.h b/kernel/libc/include/types.h index ffcf281..ffcf281 100644 --- a/libc/include/types.h +++ b/kernel/libc/include/types.h diff --git a/libc/stdio/print.c b/kernel/libc/stdio/print.c index 8174983..8174983 100644 --- a/libc/stdio/print.c +++ b/kernel/libc/stdio/print.c diff --git a/libc/string/copy.c b/kernel/libc/string/copy.c index 277c808..277c808 100644 --- a/libc/string/copy.c +++ b/kernel/libc/string/copy.c diff --git a/libc/string/isequal.c b/kernel/libc/string/isequal.c index cdbd3cc..cdbd3cc 100644 --- a/libc/string/isequal.c +++ b/kernel/libc/string/isequal.c diff --git a/libc/string/memcmp.c b/kernel/libc/string/memcmp.c index 72c680a..72c680a 100644 --- a/libc/string/memcmp.c +++ b/kernel/libc/string/memcmp.c diff --git a/libc/string/memcpy.c b/kernel/libc/string/memcpy.c index 5c04407..5c04407 100644 --- a/libc/string/memcpy.c +++ b/kernel/libc/string/memcpy.c diff --git a/libc/string/memset.c b/kernel/libc/string/memset.c index a446eb4..a446eb4 100644 --- a/libc/string/memset.c +++ b/kernel/libc/string/memset.c diff --git a/libc/string/strcat.c b/kernel/libc/string/strcat.c index 78a9ec6..78a9ec6 100644 --- a/libc/string/strcat.c +++ b/kernel/libc/string/strcat.c diff --git a/libc/string/strcmp.c b/kernel/libc/string/strcmp.c index d7039e2..d7039e2 100644 --- a/libc/string/strcmp.c +++ b/kernel/libc/string/strcmp.c diff --git a/libc/string/strcpy.c b/kernel/libc/string/strcpy.c index fa1e336..fa1e336 100644 --- a/libc/string/strcpy.c +++ b/kernel/libc/string/strcpy.c diff --git a/libc/string/strlcpy.c b/kernel/libc/string/strlcpy.c index 43d0e58..43d0e58 100644 --- a/libc/string/strlcpy.c +++ b/kernel/libc/string/strlcpy.c diff --git a/libc/string/strlen.c b/kernel/libc/string/strlen.c index 4346383..4346383 100644 --- a/libc/string/strlen.c +++ b/kernel/libc/string/strlen.c diff --git a/libc/string/strncpy.c b/kernel/libc/string/strncpy.c index a886895..a886895 100644 --- a/libc/string/strncpy.c +++ b/kernel/libc/string/strncpy.c diff --git a/linker.ld b/kernel/linker.ld index 59b150d..59b150d 100644 --- a/linker.ld +++ b/kernel/linker.ld diff --git a/mount/cat b/kernel/mount/cat index a24e907..a24e907 120000 --- a/mount/cat +++ b/kernel/mount/cat diff --git a/mount/init b/kernel/mount/init index a24e907..a24e907 120000 --- a/mount/init +++ b/kernel/mount/init diff --git a/mount/pid1 b/kernel/mount/pid1 Binary files differindex 773d54c..773d54c 100755 --- a/mount/pid1 +++ b/kernel/mount/pid1 diff --git a/mount/program b/kernel/mount/program Binary files differindex c93d7ba..c93d7ba 100755 --- a/mount/program +++ b/kernel/mount/program diff --git a/mount/sh b/kernel/mount/sh Binary files differindex c05684c..c05684c 100755 --- a/mount/sh +++ b/kernel/mount/sh diff --git a/multiboot.h b/kernel/multiboot.h index ecbb6a0..ecbb6a0 100644 --- a/multiboot.h +++ b/kernel/multiboot.h diff --git a/network/arp.c b/kernel/network/arp.c index de6d898..de6d898 100644 --- a/network/arp.c +++ b/kernel/network/arp.c diff --git a/network/arp.h b/kernel/network/arp.h index c2beb94..c2beb94 100644 --- a/network/arp.h +++ b/kernel/network/arp.h diff --git a/network/bytes.c b/kernel/network/bytes.c index 94afa73..94afa73 100644 --- a/network/bytes.c +++ b/kernel/network/bytes.c diff --git a/network/bytes.h b/kernel/network/bytes.h index c291589..c291589 100644 --- a/network/bytes.h +++ b/kernel/network/bytes.h diff --git a/network/ethernet.c b/kernel/network/ethernet.c index e97ccbd..e97ccbd 100644 --- a/network/ethernet.c +++ b/kernel/network/ethernet.c diff --git a/network/ethernet.h b/kernel/network/ethernet.h index 0fdcee3..0fdcee3 100644 --- a/network/ethernet.h +++ b/kernel/network/ethernet.h diff --git a/network/ipv4.c b/kernel/network/ipv4.c index 099aa0d..099aa0d 100644 --- a/network/ipv4.c +++ b/kernel/network/ipv4.c diff --git a/network/ipv4.h b/kernel/network/ipv4.h index f578202..f578202 100644 --- a/network/ipv4.h +++ b/kernel/network/ipv4.h diff --git a/network/udp.c b/kernel/network/udp.c index 23411da..23411da 100644 --- a/network/udp.c +++ b/kernel/network/udp.c diff --git a/network/udp.h b/kernel/network/udp.h index c30b8c8..c30b8c8 100644 --- a/network/udp.h +++ b/kernel/network/udp.h diff --git a/process.s b/kernel/process.s index 24e1869..24e1869 100644 --- a/process.s +++ b/kernel/process.s diff --git a/random.c b/kernel/random.c index 0e1b760..0e1b760 100644 --- a/random.c +++ b/kernel/random.c diff --git a/random.h b/kernel/random.h index 437927f..437927f 100644 --- a/random.h +++ b/kernel/random.h diff --git a/read_eip.s b/kernel/read_eip.s index 6041db0..6041db0 100644 --- a/read_eip.s +++ b/kernel/read_eip.s diff --git a/scalls/accept.c b/kernel/scalls/accept.c index 3c3f5ad..3c3f5ad 100644 --- a/scalls/accept.c +++ b/kernel/scalls/accept.c diff --git a/scalls/accept.h b/kernel/scalls/accept.h index d022999..d022999 100644 --- a/scalls/accept.h +++ b/kernel/scalls/accept.h diff --git a/scalls/bind.c b/kernel/scalls/bind.c index 76e36ab..76e36ab 100644 --- a/scalls/bind.c +++ b/kernel/scalls/bind.c diff --git a/scalls/bind.h b/kernel/scalls/bind.h index 5661ad0..5661ad0 100644 --- a/scalls/bind.h +++ b/kernel/scalls/bind.h diff --git a/scalls/clock_gettime.c b/kernel/scalls/clock_gettime.c index 632ea08..632ea08 100644 --- a/scalls/clock_gettime.c +++ b/kernel/scalls/clock_gettime.c diff --git a/scalls/clock_gettime.h b/kernel/scalls/clock_gettime.h index 145aa24..145aa24 100644 --- a/scalls/clock_gettime.h +++ b/kernel/scalls/clock_gettime.h diff --git a/scalls/ftruncate.c b/kernel/scalls/ftruncate.c index 6bc1170..6bc1170 100644 --- a/scalls/ftruncate.c +++ b/kernel/scalls/ftruncate.c diff --git a/scalls/ftruncate.h b/kernel/scalls/ftruncate.h index 9213e85..9213e85 100644 --- a/scalls/ftruncate.h +++ b/kernel/scalls/ftruncate.h diff --git a/kernel/scalls/kill.c b/kernel/scalls/kill.c new file mode 100644 index 0000000..d5b7445 --- /dev/null +++ b/kernel/scalls/kill.c @@ -0,0 +1,5 @@ +#include <scalls/kill.h> +#include <sched/scheduler.h> +#include <signal.h> + +int syscall_kill(pid_t pid, int sig) {return kill(pid, sig);} diff --git a/kernel/scalls/kill.h b/kernel/scalls/kill.h new file mode 100644 index 0000000..acf5f30 --- /dev/null +++ b/kernel/scalls/kill.h @@ -0,0 +1,2 @@ +#include <signal.h> +int syscall_kill(pid_t pid, int sig); diff --git a/scalls/mkdir.c b/kernel/scalls/mkdir.c index 43f2424..43f2424 100644 --- a/scalls/mkdir.c +++ b/kernel/scalls/mkdir.c diff --git a/scalls/mkdir.h b/kernel/scalls/mkdir.h index 0bf0043..0bf0043 100644 --- a/scalls/mkdir.h +++ b/kernel/scalls/mkdir.h diff --git a/scalls/mmap.c b/kernel/scalls/mmap.c index 83fff6a..83fff6a 100644 --- a/scalls/mmap.c +++ b/kernel/scalls/mmap.c diff --git a/scalls/mmap.h b/kernel/scalls/mmap.h index f5e121e..f5e121e 100644 --- a/scalls/mmap.h +++ b/kernel/scalls/mmap.h diff --git a/scalls/msleep.c b/kernel/scalls/msleep.c index 0120f08..0120f08 100644 --- a/scalls/msleep.c +++ b/kernel/scalls/msleep.c diff --git a/scalls/msleep.h b/kernel/scalls/msleep.h index 71bf269..71bf269 100644 --- a/scalls/msleep.h +++ b/kernel/scalls/msleep.h diff --git a/scalls/ppoll.c b/kernel/scalls/ppoll.c index 8feb35c..8feb35c 100644 --- a/scalls/ppoll.c +++ b/kernel/scalls/ppoll.c diff --git a/scalls/ppoll.h b/kernel/scalls/ppoll.h index 13700b5..13700b5 100644 --- a/scalls/ppoll.h +++ b/kernel/scalls/ppoll.h diff --git a/scalls/recvfrom.c b/kernel/scalls/recvfrom.c index 1770fa1..1770fa1 100644 --- a/scalls/recvfrom.c +++ b/kernel/scalls/recvfrom.c diff --git a/scalls/recvfrom.h b/kernel/scalls/recvfrom.h index d81a1e0..d81a1e0 100644 --- a/scalls/recvfrom.h +++ b/kernel/scalls/recvfrom.h diff --git a/scalls/sendto.c b/kernel/scalls/sendto.c index 48c4020..48c4020 100644 --- a/scalls/sendto.c +++ b/kernel/scalls/sendto.c diff --git a/scalls/sendto.h b/kernel/scalls/sendto.h index 0f852de..0f852de 100644 --- a/scalls/sendto.h +++ b/kernel/scalls/sendto.h diff --git a/scalls/shm.c b/kernel/scalls/shm.c index 979084a..979084a 100644 --- a/scalls/shm.c +++ b/kernel/scalls/shm.c diff --git a/scalls/shm.h b/kernel/scalls/shm.h index 80e4366..80e4366 100644 --- a/scalls/shm.h +++ b/kernel/scalls/shm.h diff --git a/scalls/socket.c b/kernel/scalls/socket.c index 594c745..594c745 100644 --- a/scalls/socket.c +++ b/kernel/scalls/socket.c diff --git a/scalls/socket.h b/kernel/scalls/socket.h index 6540b0f..6540b0f 100644 --- a/scalls/socket.h +++ b/kernel/scalls/socket.h diff --git a/scalls/stat.c b/kernel/scalls/stat.c index 0850151..0850151 100644 --- a/scalls/stat.c +++ b/kernel/scalls/stat.c diff --git a/scalls/stat.h b/kernel/scalls/stat.h index 78e8c45..78e8c45 100644 --- a/scalls/stat.h +++ b/kernel/scalls/stat.h diff --git a/scalls/uptime.c b/kernel/scalls/uptime.c index 866c7e5..866c7e5 100644 --- a/scalls/uptime.c +++ b/kernel/scalls/uptime.c diff --git a/scalls/uptime.h b/kernel/scalls/uptime.h index 2b5b0c9..2b5b0c9 100644 --- a/scalls/uptime.h +++ b/kernel/scalls/uptime.h diff --git a/sched/scheduler.c b/kernel/sched/scheduler.c index a6ace7d..a6ace7d 100644 --- a/sched/scheduler.c +++ b/kernel/sched/scheduler.c diff --git a/sched/scheduler.h b/kernel/sched/scheduler.h index fc92ff3..fc92ff3 100644 --- a/sched/scheduler.h +++ b/kernel/sched/scheduler.h diff --git a/kernel/signal.s b/kernel/signal.s new file mode 100644 index 0000000..38604a4 --- /dev/null +++ b/kernel/signal.s @@ -0,0 +1,18 @@ +.intel_syntax noprefix +.global jump_signal_handler +jump_signal_handler: + mov ebx, [esp+8] + mov ecx, [esp+4] + mov ax, (4 * 8) | 3 # ring 3 data with bottom 2 bits set for ring 3 + mov ds, ax + mov es, ax + mov fs, ax + mov gs, ax # SS is handled by iret + + mov eax, ebx + push (4 * 8) | 3 # data selector + push eax + pushf + push (3 * 8) | 3 + push ecx + iret diff --git a/socket.c b/kernel/socket.c index 0519c65..0519c65 100644 --- a/socket.c +++ b/kernel/socket.c diff --git a/socket.h b/kernel/socket.h index bb278c1..bb278c1 100644 --- a/socket.h +++ b/kernel/socket.h |