Fungsi ioremap() digunakan untuk memetakan alamat fisik perangkat I/O ke alamat virtual kernel. Kernel membuat tabel halaman yaitu pemetaan alamat virtual ke alamat fisik yang diminta. Ketika kita melakukan iounmap() pemetaan ini dihancurkan.
Fungsi ioremap mengambil dua parameter:
- awal wilayah memori
- ukuran wilayah memori
void *ioremap(unsigned long phys_addr, unsigned long size); void iounmap(void * addr)
phys_addr diperlukan hanya jika area memori fisik yang dijelaskan oleh alamat fisik dipetakan dengan ioremap. Informasi ini disimpan di phys_addr.
Pada banyak sistem, memori I/O tidak dapat diakses secara langsung dengan cara ini sama sekali. Jadi pemetaan harus diatur terlebih dahulu. Ini adalah peran dari fungsi ioremap. Fungsi ini dirancang khusus untuk menetapkan alamat virtual ke wilayah memori I/O.