Skip to content

Define Vector Table #8

@chrisdedman

Description

@chrisdedman

Description

Add an interrupt vector table so AstraKernel can handle exceptions and interrupts in a structured way. This is the foundation for adding timer interrupts, fault handling, and later context switching.

Tasks

  • Define vector table layout in assembly start.s.
  • Add default handlers (reset, undefined instruction, software interrupt, prefetch abort, data abort, IRQ, FIQ).
  • Implement a generic default_handler that just loops/hangs for now.
  • Hook the reset entry to _start.
  • Update linker script if necessary to make sure the vector table is at the correct memory address.
  • Document the memory addresses and behavior of each vector entry.

Acceptance Criteria

  • Kernel builds with the vector table placed correctly.
  • On startup, the system jumps to _start via the reset vector.
  • Any unexpected exception should land in default_handler.
  • Verified in QEMU that the kernel still boots with the vector table in place.

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationenhancementNew feature or request

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions