11 Commits

Author SHA1 Message Date
42efc21110 Start implementing read and write support in tmpfs
write seems to work fine, read just hangs there, waiting.
2022-11-12 20:11:26 +01:00
8d46c9bbe2 Kernel, libc: Fix a big bug in printf()
Every time printf flushes the buffer to us in sprintf() or snprintf(), we call strncat to append the data.

But we want to start from the beginning in the first flush. What if there was data already there?
Well, we just append to the old data. Which is not good, and breaks snprintf()'s maximum size policy.

This fix sets the first byte of str to NULL, to avoid this.
2022-10-30 09:53:23 +01:00
3ee1f34bc4 Forgot to add break :)
And that, is why you test before pushing and commiting >.<
2022-10-08 18:08:50 +02:00
c67079dd74 Kernel, libc: Implement %p in *printf()
So we can avoid writing (unsigned long)ptr or (uint64_t)ptr everywhere when wanting to print a pointer.
2022-10-08 18:07:33 +02:00
1ee5deb0f0 Remove unnecessary include 2022-10-06 19:51:16 +02:00
594d79143e Kernel: enable -Wconversion 2022-10-06 17:13:34 +02:00
0e46ea8ada Finally, a text renderer that actually works. We can now see the kernel messages without a serial port :) 2022-10-01 14:27:45 +02:00
aa6c578a3c Fix bug in internal_printf 2022-09-07 15:02:38 +02:00
bd0a24097f Add a KernelMemoryManager namespace to wrap PMM + VMM 2022-09-06 18:08:15 +02:00
1367e88d88 Finally implement %l and %z format modifiers
Finally, we can use %zx with a 64-bit number instead of %x%x with 2 32-bit values split from a 64-bit number!
2022-09-05 16:59:45 +02:00
1b727a66ea Ready. Set. Go! 2022-09-05 16:13:51 +02:00