;References:
;swi - vector_handler_forward

;R12, R14 are on the stack


;vector_handler_4B
;--------------------
;Allows IOMD onward to support IOC device 9

.vector_handler_4B
 TEQ     R0, #IOC_SSBC			;IOC SSBC device
 BNE     vector_handler_forward		;NO, pass to OS

 #if JIT_WIMP_support == 0 AND compile_RO == 400
   LDR     R12, existing_DataAbort
   TEQ     R12, #0			;have we claimed the Data Abort vector?
   BEQ     vector_handler_forward	;NO, pass to OS
 #endif

 #if JIT_WIMP_support == 1 AND compile_RO == 400
  BL      check_task_ID			;task we support?
  BNE     vector_handler_forward	;NO, pass to OS
 #endif

 ADR     R12, DeviceVectors + (IOC_SSBC * device_table.size)
 STR     R1, [R12, #device_table.entry_code] ;store claiming address
 STR     R2, [R12, #device_table.private]
B       vector_handler_trap
