summaryrefslogtreecommitdiff
path: root/Kernel/kstdio.h
AgeCommit message (Collapse)Author
2021-11-24Kernel+UE+LibC: Remove unused dbgputch syscallBen Wiederhake
Everything uses the dbgputstr syscall anyway, so there is no need to keep supporting it.
2021-09-10Kernel: Add kernelearlyputstr and use it in dbgln in very-early bootIdan Horowitz
This variant of dbgputstr does not lock the global log lock, as it is called before the current or any other processor was initialized, meaning that: A) The $gs base was not setup yet, so we cannot enter into critical sections, and as a result we cannot use SpinLocks B) No other processors may try to print at the same time anyway
2021-08-13Kernel: Introduce a StringView overload of dbgputstr(..)Brian Gianforcaro
2021-06-24Kernel: Add dbgputch() to kstdio.hMax Wipfli
This adds a dbgputch() alongside dbgputstr() in kstdio.h. The function already existed as the static function debugger_out(). It has now been exposed to users of kstdio.h.
2021-05-16Kernel/Graphics + SystemServer: Support text mode properlyLiav A
As we removed the support of VBE modesetting that was done by GRUB early on boot, we need to determine if we can modeset the resolution with our drivers, and if not, we should enable text mode and ensure that SystemServer knows about it too. Also, SystemServer should first check if there's a framebuffer device node, which is an indication that text mode was not even if it was requested. Then, if it doesn't find it, it should check what boot_mode argument the user specified (in case it's self-test). This way if we try to use bochs-display device (which is not VGA compatible) and request a text mode, it will not honor the request and will continue with graphical mode. Also try to print critical messages with mininum memory allocations possible. In LibVT, We make the implementation flexible for kernel-specific methods that are implemented in ConsoleImpl class.
2021-04-22Everything: Move to SPDX license identifiers in all files.Brian Gianforcaro
SPDX License Identifiers are a more compact / standardized way of representing file license information. See: https://spdx.dev/resources/use/#identifiers This was done with the `ambr` search and replace tool. ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2021-03-12Everywhere: Remove klog(), dbg() and purge all LogStream usage :^)Andreas Kling
Good-bye LogStream. Long live AK::Format!
2021-02-17Kernel: Remove kprintf()Andreas Kling
There are no remaining users of this API.
2021-02-17Kernel: Remove dbgprintf() from kernelAndreas Kling
There are no remaining users of this API in the kernel.
2020-12-26LibC: Enable compiler warnings for printf format stringsSahan Fernando
2020-08-22Kernel: Stop supporting sprintfBen Wiederhake
The kernel no longer needs sprintf (which might, in theory, overflow), so we can hide the C++ declaration and make the function uncallable from within the kernel. However, libstdc++ still links against it, as libstdc++ uses it for demangling, from AK::demangle().
2020-08-22AK+Kernel: Support snprintfBen Wiederhake
In contrast to sprintf, which might overflow the given buffer. I feel bad about the code duplication, but that is a pre-existing issue.
2020-08-09LibELF+Lagom: Work towards getting LibELF in LagomNico Weber
Mostly -Wformat fixes, some of which pointed out real (if benign) bugs.
2020-05-16Kernel: Remove awkward "#define printf dbgprintf"Andreas Kling
2020-05-16Kernel: Absorb LibBareMetal back into the kernelAndreas Kling
This was supposed to be the foundation for some kind of pre-kernel environment, but nobody is working on it right now, so let's move everything back into the kernel and remove all the confusion.
2020-02-09Kernel: Apply changes to use LibBareMetal definitionsLiav A
2020-01-18Meta: Add license header to source filesAndreas Kling
As suggested by Joshua, this commit adds the 2-clause BSD license as a comment block to the top of every source file. For the first pass, I've just added myself for simplicity. I encourage everyone to add themselves as copyright holders of any file they've added or modified in some significant way. If I've added myself in error somewhere, feel free to replace it with the appropriate copyright holder instead. Going forward, all new source files should include a license header.
2020-01-13Kernel: Overload dbgputstr for char array literals in C++Andrew Kaster
This just seems like something we should be able to do. The compiler knows how long my "string literal" is, passing it along manually seems siilly.
2019-12-20Build: Get rid of the USERLAND defineAndreas Kling
Let's simplify things. There is now only KERNEL. To see if you're on Serenity, check if __serenity__ is defined.
2019-11-27Kernel: Demangle userspace ELF symbols in backtracesAndreas Kling
Turns out we can use abi::__cxa_demangle() for this, and all we need to provide is sprintf(), realloc() and free(), so this patch exposes them. We now have fully demangled C++ backtraces :^)
2019-08-11Kernel: Add serial_debug cmdline parameterConrad Pankoff
serial_debug will output all the kprintf and dbgprintf data to COM1 at 8-N-1 57600 baud. this is particularly useful for debugging the boot process on live hardware. Note: it must be the first parameter in the boot cmdline.
2019-07-21Kernel+LibC: Add a dbgputstr() syscall for sending strings to debug output.Andreas Kling
This is very handy for the DebugLogStream implementation, among others. :^)
2019-06-22LibHTML: Make it possible to build LibHTML on the host.Andreas Kling
- "make" builds the normal Serenity libhtml.a - "make -f Makefile.host" builds a test program for the host machine.
2019-05-28Add clang-format fileRobin Burchell
Also run it across the whole tree to get everything using the One True Style. We don't yet run this in an automated fashion as it's a little slow, but there is a snippet to do so in makeall.sh.
2019-04-10Kernel: Remove two unneeded headers.Andreas Kling
2019-01-13Fix Userland build.Andreas Kling
2019-01-10Make Widgets/ build inside the kernel.Andreas Kling
2018-10-22Move kprintf to its own file. It has nothing to do with VGA anymore.Andreas Kling
2018-10-16Add the basic character devices to kernel.Andreas Kling