Source: cirosantilli/_file/riscv/timer.S

= riscv/timer.S
{file}

TODO: the interrupt is firing only once:
* https://www.reddit.com/r/RISCV/comments/ov4vhh/timer_interrupt/

Adapted from: https://danielmangum.com/posts/risc-v-bytes-timer-interrupts/

Tested on <Ubuntu 23.10>:
``
sudo apt install binutils-riscv64-unknown-elf qemu-system-misc gdb-multiarch
cd riscv
make
``
Then on shell 1:
``
qemu-system-riscv64 -machine virt -cpu rv64 -smp 1 -s -S -nographic -bios none -kernel timer.elf
``
and on shell 2:
``
gdb-multiarch timer.elf -nh -ex "target remote :1234" -ex 'display /i $pc' -ex 'break *mtrap' -ex 'display *0x2004000' -ex 'display *0x200BFF8'
``<GDB> should break infinitel many times on `mtrap` as interrupts happen.