Bagikan melalui


Menghapus Data Cache selama Operasi PIO

Pada beberapa platform, instruksi dan cache data dalam prosesor menunjukkan anomali koherensi cache selama operasi baca PIO.

Nota Untuk mempertahankan integritas data selama operasi baca, driver yang menggunakan PIO harus mengikuti panduan ini: Panggil KeFlushIoBuffers di akhir setiap operasi baca.

Misalnya, driver yang melakukan transfer PIO dari perangkatnya ke memori sistem harus memanggil KeFlushIoBuffers di akhir setiap operasi transfer perangkat. Sebagai contoh lain, driver yang membaca urutan pendaftaran perangkat ke dalam memori sistem harus memanggil KeFlushIoBuffers di akhir urutan. Jika tidak, driver seperti itu mungkin mencoba mengakses data yang masih berada di cache data prosesor, daripada dalam memori sistem, pada beberapa platform.

KeFlushIoBuffers tidak melakukan apa-apa jika prosesor dapat diandalkan untuk mempertahankan koherensi cache, jadi panggilan ke rutinitas dukungan ini hampir tidak memiliki overhead di platform seperti itu.