fermi-ad/vxpp

Add interrupt support to `vwpp::Task` interface

rneswold opened this issue · 0 comments

Add a nested class for vwpp::Task that encompasses interrupt management.

  • Creating the object attaches it to the vector table.
  • Destroying the object will unregister it.
  • The interrupt handler should be pure virtual. It'll have one parameter; a vwpp::IntLock const&.

This might be a small hierarchy of abstract classes, depending if we need to handle VME interrupts differently than PCI interrupts

IntBase --+--> VMEInt -----> UserVMEInt
           \-> PCIInt -----> UserPCIInt

This also brings up the idea of creating a vwpp::IntUnlock object, in case an interrupt routine wants to re-enable interrupts.