Типичная цепочка состоит в том, что вывод прерывания процессора мультиплексируется через контроллер прерываний (например, GI C) на набор устройств.
Отключение прерываний просто шунтирует вывод на ЦП, прерывание контроллер по-прежнему поддерживает состояние ожидания. Вы можете использовать функцию на контроллере прерываний для маскировки всех прерываний, что позволит вам затем разрешить прерывания ЦП без их получения. Не совсем уверен, что смысл в этом, когда вы могли бы просто оставить процессор игнорировать прерывания.
Чтобы по-настоящему очистить ожидающие прерывания, вам нужно вызвать код устройства c (ie. Обработчик прерываний) для каждого устройства с ожидающим прерыванием. Вы можете просмотреть биты состояния GI C, идентифицировать каждое ожидающее прерывание, затем просмотреть структуру прерывания ядра, чтобы определить соответствующее устройство и вызвать его обработчик. Намного проще просто снова включить прерывания.