Skip to content
This repository was archived by the owner on Mar 20, 2025. It is now read-only.

Conversation

@ViktorPopp
Copy link
Contributor

This pull request introduces interrupt handling and exception support into InfinityOS by integrating concepts from the phill-opp blog_os "Interrupts and Exceptions" post. The changes include the following:

  • IDT (Interrupt Descriptor Table) Loading: Implemented the setup and loading of the IDT to handle interrupts and exceptions.
  • CPU Exception Support: Added support for handling CPU exceptions, specifically int 3 (breakpoint) for debugging purposes.
  • Breakpoint Support: Integrated basic exception handling for breakpoints to aid in debugging during development.

Changes Made:

  • Added IDT setup and loading functionality to the kernel.
  • Implemented basic CPU exception handling, including support for int 3 breakpoints.
  • Updated kernel code to handle interrupts and exceptions in a structured manner.

Testing Instructions:

  1. Build the OS using the cargo build command.
  2. Run the OS on QEMU or another virtual machine to test interrupt and exception handling.
  3. Trigger a breakpoint (int 3) to verify exception handling is functioning as expected.

Impact:
This update introduces essential functionality for handling interrupts and exceptions within InfinityOS. It improves debugging capabilities with breakpoints and prepares the OS for more complex interrupt handling in the future.

@ViktorPopp ViktorPopp merged commit 5054d4c into dev Jan 10, 2025
@ViktorPopp ViktorPopp deleted the feature/cpu-exeptions branch January 10, 2025 15:39
@ViktorPopp ViktorPopp added bug Something isn't working enhancement New feature or request labels Jan 14, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

bug Something isn't working enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants