Commit Graph

236 Commits

Author SHA1 Message Date
Mark 0067f1bc74 Colorful errors 2020-01-14 11:32:06 +02:00
Mark 6586383849 Fix invalid free in binfmt_elf, don't panic when load fails 2020-01-14 11:18:41 +02:00
Mark fe9c7ea9a2 Optimize ELF loading with lseek 2020-01-14 11:13:01 +02:00
Mark 38ae0eb4bf More memory leak fixes 2020-01-13 23:30:56 +02:00
Mark 8fc51317e3 Fix memory leak in file reading in execve() 2020-01-13 22:41:28 +02:00
Mark 60ea4efb10 Add devfs stat() 2020-01-13 22:40:34 +02:00
Mark f00a4a2eac Added setXid/getXid, chdir 2020-01-13 17:30:09 +02:00
Mark 7100c0ff07 Add current directory and execve 2020-01-13 16:14:19 +02:00
Mark c6e51c73d2 fork() work 2020-01-13 15:44:38 +02:00
Mark cfd0267927 Add opendir/readdir 2020-01-13 15:28:14 +02:00
Mark 63bd9a2b35 Add open/truncate/read/write operations + file access 2020-01-13 14:38:16 +02:00
Mark 8b0fe62240 Add read/write syscalls again 2020-01-12 22:59:13 +02:00
Mark d0784e5f4b Userspace init executes again, fixed missing FXSAVE zone in threads 2020-01-12 22:17:15 +02:00
Mark 7ddb53c7a0 Don't run init task longer than needed, remove ethq handler for now 2020-01-12 17:42:48 +02:00
Mark 2aeca31778 Kernel tasks have negative pids 2020-01-12 17:32:12 +02:00
Mark bada9ed786 Rework thread init function a bit 2020-01-12 14:57:06 +02:00
Mark ca1a4d505b Better device node name generation 2020-01-12 13:05:25 +02:00
Mark fa399280fd Add find() and link resolution to VFS 2020-01-12 12:57:31 +02:00
Mark 2e795d2ebf Minimal working vfs refactor 2020-01-10 15:37:54 +02:00
Mark 7272b762c0 Remove comments too 2020-01-10 14:21:44 +02:00
Mark 565f67188a Remove old VFS implementation 2020-01-10 14:09:45 +02:00
Mark f134a72dff Proper FPU initialization, SSE support 2020-01-09 19:55:55 +02:00
Mark a44012cb08 Store FPU context properly with FXSAVE/FXRSTOR 2020-01-09 19:38:20 +02:00
Mark 8d316f3c8b Fix FIFO overflow in rs232 driver 2020-01-09 16:40:28 +02:00
Mark a8d6ad94c8 Add IDE device enumeration, but the driver is focked up 2020-01-09 15:51:46 +02:00
Mark e9e3d323f7 Fix undefined behavior in thread forking 2020-01-09 15:37:47 +02:00
Mark ecf8fe5d46 Add basic urandom device 2020-01-09 15:28:02 +02:00
Mark 9da01f0d46 Merge devfs into dev.c, add stat() 2020-01-09 15:10:22 +02:00
Mark c39c4dca2a Add creat()/unlink()/mkdir() 2020-01-09 13:20:52 +02:00
Mark 9ca8d033a4 AHCI write support 2020-01-09 13:06:21 +02:00
Mark 23dde222fb Moved userspace outside the kernel tree 2020-01-07 16:10:26 +02:00
Mark 22fd70a4aa Refactor: split syscall definitions into separate source files 2020-01-07 02:37:36 +02:00
Mark b323e8c29d Syscall jump table, fix invalid 4th argument handling in libc 2020-01-07 02:15:46 +02:00
Mark 484d177c33 Display working directory in shell 2020-01-06 01:09:46 +02:00
Mark 08d7392046 Detailed ls 2020-01-05 16:06:30 +02:00
Mark aca450c99f Better argument handling 2020-01-05 15:33:27 +02:00
Mark 0ba17d057b Moved reboot outside init sh, fix warnings 2020-01-05 15:05:53 +02:00
Mark cbb1873cbe Move initrd binaries to $(STAGE)/bin 2020-01-05 15:00:34 +02:00
Mark bc1ab6776c Add waitpid syscall 2020-01-05 14:44:07 +02:00
Mark a83f7ddb45 Collect debug information about thread queues 2020-01-05 02:41:31 +02:00
Mark 30078e18e6 Faster CVGA console 2020-01-05 02:32:22 +02:00
Mark 17b8c50931 Start init on any processor instead of 0 2020-01-05 02:13:19 +02:00
Mark 820bb095d9 Fix stack size for idle tasks 2020-01-05 02:12:14 +02:00
Mark 2495d2e705 Process hierarchy + fixed a retarded bug with whole queue reset when
removing a thread
2020-01-05 01:46:29 +02:00
Mark bc26eabff5 Made SMP great again 2020-01-04 20:46:50 +02:00
Mark 1e3b890115 Fix a problem with root vnode in tarfs 2020-01-04 20:26:12 +02:00
Mark 35b93e247f Add support for GPT partitions 2020-01-04 20:11:40 +02:00
Mark 7df7f9cbe4 Added reboot syscall (linux-like) 2020-01-04 19:09:49 +02:00
Mark 091975dd1c Make init execute files from / 2020-01-04 18:41:43 +02:00
Mark c5875c4639 Scheduler optimization, console optimization (still slow as hell) 2020-01-04 15:29:44 +02:00