summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitmodules2
-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-xkernel/mount/pid1 (renamed from mount/pid1)bin2396 -> 2396 bytes
-rwxr-xr-xkernel/mount/program (renamed from mount/program)bin1744 -> 1744 bytes
-rwxr-xr-xkernel/mount/sh (renamed from mount/sh)bin45660 -> 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.c5
-rw-r--r--kernel/scalls/kill.h2
-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.s18
-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/elf.c b/kernel/elf.c
index 7316a0c..7316a0c 100644
--- a/elf.c
+++ b/kernel/elf.c
diff --git a/elf.h b/kernel/elf.h
index 452ddbd..452ddbd 100644
--- a/elf.h
+++ b/kernel/elf.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/halts.c b/kernel/halts.c
index 821299d..821299d 100644
--- a/halts.c
+++ b/kernel/halts.c
diff --git a/halts.h b/kernel/halts.h
index bd71673..bd71673 100644
--- a/halts.h
+++ b/kernel/halts.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/ksbrk.c b/kernel/ksbrk.c
index 755a4ed..755a4ed 100644
--- a/ksbrk.c
+++ b/kernel/ksbrk.c
diff --git a/ksbrk.h b/kernel/ksbrk.h
index 34987dc..34987dc 100644
--- a/ksbrk.h
+++ b/kernel/ksbrk.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/log.c b/kernel/log.c
index 56d38e8..56d38e8 100644
--- a/log.c
+++ b/kernel/log.c
diff --git a/log.h b/kernel/log.h
index fe499bc..fe499bc 100644
--- a/log.h
+++ b/kernel/log.h
diff --git a/math.c b/kernel/math.c
index 2d5e30c..2d5e30c 100644
--- a/math.c
+++ b/kernel/math.c
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
index 773d54c..773d54c 100755
--- a/mount/pid1
+++ b/kernel/mount/pid1
Binary files differ
diff --git a/mount/program b/kernel/mount/program
index c93d7ba..c93d7ba 100755
--- a/mount/program
+++ b/kernel/mount/program
Binary files differ
diff --git a/mount/sh b/kernel/mount/sh
index c05684c..c05684c 100755
--- a/mount/sh
+++ b/kernel/mount/sh
Binary files differ
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/poll.c b/kernel/poll.c
index 5e02723..5e02723 100644
--- a/poll.c
+++ b/kernel/poll.c
diff --git a/poll.h b/kernel/poll.h
index 19698dd..19698dd 100644
--- a/poll.h
+++ b/kernel/poll.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
diff --git a/time.h b/kernel/time.h
index 2d4eef6..2d4eef6 100644
--- a/time.h
+++ b/kernel/time.h