Hi Lars,
OSVVM has an InterruptHandler.vhd in OsvvmLibraries/Common/Src. It handles switching records for you. When there is no interrupt pending, it connects the transaction record of TransRec to the AddressBus VC (such as Axi4Manager or Axi4LiteManager). When an interrupt is pending it connects the InterruptRec to the AddressBusVC.
The InterruptRec can come from either TestCtrl or a separate entity (especially if it is always the same).
Testbench that tests it is here: OsvvmLibraries/Common/Src/TbInterrupt/Testbench
You do not need the InterruptGenerator if you already have a source of interrupts. The array of interrupts is defined by: InterruptGlobalSignalPkg also in OsvvmLibraries/Common/Src, but you are not required to use this as long as you have an array of interrupts (even an array of 1 to 1).
Documentation is here: OsvvmLibraries/Documentation/InterruptHandler_user_guide.pdf
Best Regards,
Jim