Skip to content
This repository has been archived by the owner on Dec 11, 2024. It is now read-only.

Implemented Comprehensive Exception Handling in OS Kernel #30

Merged
merged 2 commits into from
Feb 13, 2024

Conversation

mintsuku
Copy link
Collaborator

@mintsuku mintsuku commented Feb 9, 2024

Description:

This pull request introduces a broad range of exception handlers to enhance the robustness and stability of our operating system kernel. By covering a spectrum from common exceptions and advanced ones such as the SIMD Floating-Point Exception and the Virtualization Exception, we ensure our system is prepared to handle various fault scenarios gracefully.

Key highlights include:

  • Hardware and Virtualization Support: Introduction of handlers for the x87 Floating-Point Exception (#MF), SIMD Floating-Point Exception (#XM/#XF), and Virtualization Exception (#VE), ensuring compatibility and optimization for hardware-accelerated operations and virtualized environments.
  • Control Flow and Security Enhancements: Implementation of the Control Protection Exception (#CP) and VMM Communication Exception (#VC) handlers, bolstering our system's control flow integrity and virtual machine communication capabilities.

Each handler has been carefully implemented to preserve system state and provide meaningful logging where possible, utilizing the SerialPort for output. This approach not only aids in diagnosing issues but also enhances the overall security and reliability of the system.

This PR closes #20

Copy link
Collaborator

@EthanPlant EthanPlant left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, probably gonna want a review from @parkerstafford or @mdpatelcsecon though

Copy link
Collaborator

@mdpatelcsecon mdpatelcsecon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to remove the unnecessary blank lines introduced in various places but otherwise looks good. Running cargo fmt is always a good idea but that only fixes the Rust files and not assembly file or the makefile.

Make sure to test everything as well.

@EthanPlant EthanPlant merged commit 25e0bbc into main Feb 13, 2024
2 checks passed
@EthanPlant EthanPlant deleted the exceptions-done branch February 13, 2024 15:45
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add ISRs for all of the x86-64 CPU exceptions
4 participants