думаю стоит... и одназначно IRQL... кроме того можно и для мультипроцессорной системы учесть, раз пошла такая пьянка...)
брокировать стоит и чтение и запись... если операции не атомарны.а они скорее всего не атомарны.
когда может произойти чтение/запись этих регистров? - изменение статуса шины... включение выключение питания? переконфигурация..?!
все, что работает ниже диспача - прерывается и вытесняется. и драйвера в том числе.
на диспаче - происходит переключение задач, пока вы на нем - переключения не будет, могут быть только DIRQL... но думаю что по ним никто конфиг читать не станет?... если только вдруг по появлению нового устройства в PCI, например...
мультипроцессорность - даже наверное обязалова, потому что "Р4-HT", как я недавно копался могут реально планировать два независимых потока на разных IRQL судя по всему. как такое обойти - я пока не представляю... быть может IRQL до межпроцессорного поднять, если позволят?
да, и старайтесь чтобы запросы от апликухи к драйверу могли выполнятся атомарно за один раз.
мое ИМХО такое!