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