Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
На некоторых платформах инструкции и кэши данных в процессоре проявляют аномалии когерентности кэша во время операций чтения PIO.
Заметка Чтобы обеспечить целостность данных во время операций чтения, драйверы, использующие ПИО, должны соответствовать этому руководству: вызов KeFlushIoBuffers в конце каждой операции чтения.
Например, драйвер, выполняющий передачу PIO с устройства на системную память, должен вызывать KeFlushIoBuffers в конце каждой операции передачи устройства. В качестве другого примера драйвер, считывающий последовательность регистров устройств в системную память, должен вызывать KeFlushIoBuffers в конце последовательности. В противном случае такой драйвер может попытаться получить доступ к данным, которые все еще находится в кэше данных процессора, а не в системной памяти на некоторых платформах.
KeFlushIoBuffers не выполняет никаких действий, если процессор обеспечивает поддержание когерентности кэша, поэтому вызовы этой подпрограммы поддержки почти не дают нагрузки на систему на такой платформе.