Moved interrupt code from hal into kernel