summaryrefslogtreecommitdiff
path: root/Kernel/Panic.cpp
AgeCommit message (Collapse)Author
2022-04-01Everywhere: Run clang-formatIdan Horowitz
2022-01-21Kernel: Ensure that CommandLine is initialized before choosing PanicModeLiav A
If the kernel commandline is not initialized, just halt everything.
2021-12-30Kernel: Add some implied auto qualifiersHendiadyoin1
2021-10-25Kernel: Separate panic behavior from bootmodeBen Wiederhake
Bootmode used to control panic behavior and SystemServer. This patch factors panic behavior control into a separate flag.
2021-10-14Kernel: Add per platform Processor.h headersJames Mintram
The platform independent Processor.h file includes the shared processor code and includes the specific platform header file. All references to the Arch/x86/Processor.h file have been replaced with a reference to Arch/Processor.h.
2021-10-01Kernel: Move x86 IO instructions code into the x86 specific folderLiav A
2021-09-07Kernel: Track when a thread is in the middle of crashingBrian Gianforcaro
There are certain checks that we should skip if the system is crashing. The system can avoid stack overflow during crash, or even triple faulting while while handling issues that can causes recursive panics or aborts.
2021-08-04Kernel: Print panic backtrace to both the screen and serialLuke
Previously it would only print the backtrace to serial, which would be inaccessible if you don't have serial setup.
2021-07-27Kernel: Shutdown on panic in self-test modeLiav A
Instead of doing a reset via triple-fault, let's just shutdown the QEMU virtual machine because this is already a QEMU-specific handling code for Self-Test CI mode.
2021-07-26Kernel: Reset on panic in self-test modeAli Mohammad Pur
This makes a kernel panic immediately fail the on-target CI job. Otherwise the failed job looks like a test timeout unless one digs into the details of the job.
2021-06-24Kernel: Pull apart CPU.hHendiadyoin1
This does not add any functional changes
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-21Kernel::CPU: Move headers into common directoryHendiadyoin1
Alot of code is shared between i386/i686/x86 and x86_64 and a lot probably will be used for compatability modes. So we start by moving the headers into one Directory. We will probalby be able to move some cpp files aswell.
2021-02-14Kernel: Add a PANIC() functionAndreas Kling
Let's be a little more expressive when inducing a kernel panic. :^) PANIC(...) passes any arguments you give it to dmesgln(), then prints a backtrace and hangs the machine.