summaryrefslogtreecommitdiff
path: root/Kernel/kprintf.cpp
AgeCommit message (Collapse)Author
2020-07-03Kernel: Allow recursion when writing to the debug logTom
This allows printing in the case e.g. a page fault happens during a log statement
2020-07-01Kernel: Serialize debug outputTom
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.
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-11-03Kernel: Prevent kprintf() from asserting in Console::the() (#718)Nicolas Van Bossuyt
This triggered a stack overflow because ubsan can call kprintf() at any time, even before Console is initialized.
2019-09-09Kernel: Write logs into dmesg from the start of the boot processConrad Pankoff
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-22Kernel: Colorize debugger output from the kernel.Andreas Kling
This makes it easy to distinguish kernel/userspace dbgprintf()'s. :^)
2019-06-07AK: Rename printf.cpp to PrintfImplementation.h.Andreas Kling
2019-04-29Kernel: Have File virtuals take a FileDescriptor& rather than a Process&.Andreas Kling
This will allow us to implement different behaviors depending on the role of the descriptor a File is being accessed through.
2019-04-10Kernel: Remove two unneeded headers.Andreas Kling
2019-03-23Kernel: Introduce threads, and refactor everything in support of it.Andreas Kling
The scheduler now operates on threads, rather than on processes. Each process has a main thread, and can have any number of additional threads. The process exits when the main thread exits. This patch doesn't actually spawn any additional threads, it merely does all the plumbing needed to make it possible. :^)
2019-01-31Big, possibly complete sweep of naming changes.Andreas Kling
2019-01-23Kernel: Get rid of Unix namespace.Andreas Kling
This is no longer needed as the Kernel can stand on its own legs now and there won't be any conflict with host system data types.
2019-01-16Pass the process to CharacterDevice::read/write.Andreas Kling
This is much nicer than grabbing directly at 'current' inside a read().
2019-01-14Build Painter & friends into LibC. Use it in the GUI test app.Andreas Kling
2018-10-29Fix broken SpinLock.Andreas Kling
The SpinLock was all backwards and didn't actually work. Fixing it exposed how wrong most of the locking here is. I need to come up with a better granularity here.
2018-10-27Add some basic field width support to printf().Andreas Kling
Use it to make "ls" output a bit better. Also sys$spawn now fails with EACCES if the path is not a file that's executable by the current uid/gid.
2018-10-25Add gettimeofday() syscall and LibC wrappers gettimeofday() and time().Andreas Kling
This only has second accuracy right now, I'll work out subseconds later.
2018-10-22Move kprintf to its own file. It has nothing to do with VGA anymore.Andreas Kling