C10 — pułapki i sterowanie przerwaniami RV32I

Trzy obrazy pokazują kolejno:

  1. synchroniczny ecall, mepc + 4 i wznowienie przez mret;
  2. machine software interrupt z kontrolowanym pending;
  3. macierz: źródło pending, mie.MSIE i mstatus.MIE.

set_softirq jest kontrolowanym źródłem testbench, dzięki czemu karta nie miesza jeszcze sterownika peryferium z mechanizmem pułapki. C12 i C13 dodają UART i GPIO jako rzeczywiste źródła external IRQ modelu.

make tasks
./tests/test_hazard3.sh
./scripts/render_card_layouts.sh
GITEA_SHA=0000000000000000000000000000000000000000 ./scripts/render_new_pdf.sh
S
Description
No description provided
Readme 489 KiB
Languages
C 45.5%
Shell 30.8%
Makefile 11.7%
Linker Script 7%
HTML 3%
Other 2%