> For the complete documentation index, see [llms.txt](https://xiayingp.gitbook.io/build_a_os/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://xiayingp.gitbook.io/build_a_os/traps-and-interrupts/trap-home-page.md).

# Trap Home Page

## RISC-V trap machinery

{% content-ref url="/pages/-M4f4umOXQLM--2dmp-H" %}
[What is trampoline](/build_a_os/traps-and-interrupts/untitled-3.md)
{% endcontent-ref %}

{% content-ref url="/pages/-M4f4uBfm2Ua8uXLmsWU" %}
[What is trapframe](/build_a_os/traps-and-interrupts/untitled-2.md)
{% endcontent-ref %}

## Traps from Kernel Space

{% content-ref url="/pages/-M4f9lIYgqvIMLdZRgLz" %}
[Traps from kernel space](/build_a_os/traps-and-interrupts/traps-from-kernel-space.md)
{% endcontent-ref %}

## Traps from User Space

{% content-ref url="/pages/-M1ITenaXBqQJbTySQCI" %}
[How system calls get into/out of the kernel](/build_a_os/traps-and-interrupts/untitled.md)
{% endcontent-ref %}

## How `exec` works

{% content-ref url="/pages/-M4fDUURc-qZ9I\_ytOp8" %}
[How exec() works](/build_a_os/traps-and-interrupts/how-exec-works.md)
{% endcontent-ref %}

## How fork works

{% content-ref url="/pages/-M4f9keh0yFllRNKArCm" %}
[How fork() works](/build_a_os/traps-and-interrupts/how-fork-works.md)
{% endcontent-ref %}
