Break up user and system cpu_interrupt implementations