asleepymoon
asleepymoon pushed to main at asleepymoon/Luna 2022-11-03 19:44:53 +00:00
cbc2e76082 Remove the .elf suffix from the kernel filename
asleepymoon pushed to main at asleepymoon/Luna 2022-11-03 19:30:48 +00:00
e5b2641019 Kernel: Enforce W^X when loading executables
2c08de044f Kernel, libc: Add support for querying the framebuffer's scanline via ioctl()
Compare 2 commits »
asleepymoon pushed to main at asleepymoon/Luna 2022-11-03 16:26:33 +00:00
71633e264f Kernel: Make the serial port writable for everyone :)
979569eb5a Ports: Refactor the NASM port's package script a bit
3b86f87c76 libc: Support %i in printf()
2cfefc25cc libc: Stub out rename()
0fd31698b2 Kernel: Accept not opened file descriptors in dup2()
Compare 5 commits »
asleepymoon pushed to main at asleepymoon/Luna 2022-11-02 20:00:39 +00:00
7afbff08b6 apps: Add a little screen utility
249c79f8a3 Kernel, libc: Add ioctl()
Compare 2 commits »
asleepymoon pushed to main at asleepymoon/Luna 2022-11-02 19:35:21 +00:00
feab66c0d3 Kernel: Remove the paint() system call
asleepymoon pushed to main at asleepymoon/Luna 2022-11-02 19:24:26 +00:00
8f2308c80d Kernel: Implement mmap-able device files (regular files are not mmap-able yet)
asleepymoon pushed to main at asleepymoon/Luna 2022-11-02 18:52:10 +00:00
42a805fd60 Kernel: Move the translated keyboard to /dev/console and make /dev/kbd provide raw scancodes
asleepymoon pushed to main at asleepymoon/Luna 2022-11-02 18:38:30 +00:00
c604c074a1 Kernel: Rename ASSERT() to ensure()
asleepymoon pushed to main at asleepymoon/Luna 2022-11-02 18:32:49 +00:00
e5cf32c7b3 Kernel: Introduce page ownership
asleepymoon pushed to main at asleepymoon/Luna 2022-11-02 17:54:02 +00:00
875d971d3b Tools: Make list-ports.sh exit when ports.list does not exist
asleepymoon pushed to main at asleepymoon/Luna 2022-11-02 17:40:20 +00:00
dfcc827103 libc: Add PROT_EXEC
07e518c38f Kernel: Make sys_mmap log the correct prot value
Compare 2 commits »
asleepymoon pushed to main at asleepymoon/Luna 2022-11-02 17:35:17 +00:00
22740e69bf Kernel: Add support for the NX bit
asleepymoon pushed to rusty-moon at asleepymoon/Luna 2022-11-01 14:00:44 +00:00
ad4a83f0a4 Kernel: Add a timer and keyboard interface
asleepymoon pushed to rusty-moon at asleepymoon/Luna 2022-11-01 11:46:36 +00:00
793b24a994 Kernel: Use x86_64::instructions::port for port IO
asleepymoon pushed to rusty-moon at asleepymoon/Luna 2022-11-01 11:38:25 +00:00
3477df7bde Restructure IDT locking
asleepymoon pushed to rusty-moon at asleepymoon/Luna 2022-11-01 11:34:30 +00:00
327fa0bd0c Kernel: Guard the IDT behind a mutex
asleepymoon pushed to rusty-moon at asleepymoon/Luna 2022-11-01 11:20:04 +00:00
21c5ef0822 Actually, we can protect the GDT behind a proper mutex
asleepymoon pushed to rusty-moon at asleepymoon/Luna 2022-11-01 10:49:20 +00:00
f29161fd0b Remove Cargo.lock
asleepymoon pushed to rusty-moon at asleepymoon/Luna 2022-11-01 10:43:30 +00:00
f362e0e6f4 Kernel/x86_64: Add GDT initialization under a portable cpu::platform_init interface
896ee2d7e9 tools: make some scripts executable
Compare 2 commits »
asleepymoon pushed to rusty-moon at asleepymoon/Luna 2022-11-01 10:11:48 +00:00
739fa56ece Kernel: Add double fault handler
b4914c26fe Kernel: Prevent deadlocks when panicking
06c7bbac0d Kernel: Make a portable wrapper for the breakpoint instruction
Compare 3 commits »