Commit Graph

750 Commits

Author SHA1 Message Date
327fa0bd0c Kernel: Guard the IDT behind a mutex 2022-11-01 12:34:15 +01:00
21c5ef0822 Actually, we can protect the GDT behind a proper mutex 2022-11-01 12:19:48 +01:00
f29161fd0b Remove Cargo.lock 2022-11-01 11:49:04 +01:00
f362e0e6f4 Kernel/x86_64: Add GDT initialization under a portable cpu::platform_init interface 2022-11-01 11:43:10 +01:00
896ee2d7e9 tools: make some scripts executable 2022-11-01 11:42:34 +01:00
739fa56ece Kernel: Add double fault handler 2022-11-01 11:11:33 +01:00
b4914c26fe Kernel: Prevent deadlocks when panicking 2022-11-01 11:11:20 +01:00
06c7bbac0d Kernel: Make a portable wrapper for the breakpoint instruction 2022-11-01 11:10:55 +01:00
d2fb4a68ca Kernel: Add basic interrupt handling 2022-11-01 10:55:54 +01:00
523130a69e Kernel: Add try_print! and try_println! 2022-11-01 10:55:42 +01:00
6a41c4fc4e Kernel: Make get_bootboot return a reference to avoid continuously copying data 2022-11-01 10:54:46 +01:00
75219763da update spin to 0.9.4 2022-10-31 17:44:35 +01:00
a08a53c7f0 Add IO and Serial 2022-10-31 17:32:33 +01:00
d49823d5d0 video: Add support for BGRA framebuffers 2022-10-31 16:39:20 +01:00
70d78d86be Kernel: Add CPU functions in a portable way 2022-10-31 16:18:05 +01:00
ed29870172 Update README.md 2022-10-31 14:48:35 +01:00
79f7a285a2 Remove Makefile 2022-10-31 14:48:29 +01:00
868597b70a Add a script to build and install mkbootimg 2022-10-31 14:48:23 +01:00
9c09fe7cec init: add a check_magic function 2022-10-31 14:34:32 +01:00
9902506264 video: Add a Color enum to make it easier to work with colors 2022-10-31 14:34:09 +01:00
ab4d34ecdb Add Cargo.lock to gitignore 2022-10-31 14:33:37 +01:00
c167b7a247 remove .clang-format 2022-10-31 14:33:19 +01:00
a26dabaa5a Let's get Rusty!! 2022-10-31 14:02:12 +01:00
534500cda0 Implement enough runtime for binutils to compile 2022-10-31 12:29:53 +01:00
497a52dd82 apps: add a little mkdir utility 2022-10-31 09:53:52 +01:00
c2a08060cf VFS: Add support for an implementation-defined value 2022-10-30 20:53:45 +01:00
5eae93bbb0 Bugfix: do not crash if we are blocking for no reason 2022-10-30 20:51:32 +01:00
aabff7a1d3 libc: Add mktime() 2022-10-30 20:46:25 +01:00
45f40a31d6 Remove old FIXME 2022-10-30 20:40:53 +01:00
f83c78bcad libc: Implement gettimeofday() and instantly mark it as deprecated 2022-10-30 20:40:05 +01:00
7bd1cba1e3 libc: Stub out bsearch() 2022-10-30 20:02:03 +01:00
52d4f34f05 Kernel, libc: Implement umask() 2022-10-30 19:55:38 +01:00
0d443385e9 libc: Add system() 2022-10-30 19:43:37 +01:00
29c59abf7d Kernel: Rename blocking_wait_info's wait_pid to pid 2022-10-30 19:28:43 +01:00
9c3792718c Kernel: Remove waitpid() debug messages and add more checks 2022-10-30 19:24:56 +01:00
e244c150c2 Kernel, libc: Add ECHILD 2022-10-30 19:24:26 +01:00
c68d040484 Scheduler: Make sure we are in the kernel's address space when resuming a blocked process 2022-10-30 19:10:46 +01:00
a7e4f2bdd2 sh: Make it much more versatile
This commit implements:
Argument matching, to show help and version
Support for running scripts
Support for parsing and running commands (via -c)

This is the first step to implementing the system() libc function.
2022-10-30 19:09:18 +01:00
e58aa361c8 sh: Show message when child called abort() 2022-10-30 18:36:52 +01:00
00f90246c8 Kernel: Implement very basic escape sequences for TextRenderer 2022-10-30 18:34:40 +01:00
08c4dac2c2 Kernel: Enable -Wvla 2022-10-30 18:20:16 +01:00
b4ccd786f9 remove-port.sh: export DESTDIR 2022-10-30 18:19:12 +01:00
97df9d8d3a Ports: Add nasm port 2022-10-30 18:14:57 +01:00
948361bec5 printf: Show which format specifier is unknown 2022-10-30 18:08:29 +01:00
d186d573dd libc: Document strftime in time.h 2022-10-30 17:48:54 +01:00
d5a6c7f27f libc: Implement strftime() 2022-10-30 17:47:47 +01:00
4c096bd36c uptime: break time down into more understandable units
80 seconds -> 1 minute, 20 seconds for example
647 seconds would be 10 minutes, 47 seconds
and more...
2022-10-30 10:31:59 +01:00
af0f4d2037 Kernel: Remove /dev/uptime
This information can now be fetched with clock_gettime.
2022-10-30 10:16:53 +01:00
6df5b8a703 Make backspace work 2022-10-30 10:08:52 +01:00
e640c6e245 Kernel, libc, userspace: Add file timestamps (atime,ctime,mtime) 2022-10-30 09:57:17 +01:00