Funkce ioremap() se používá k mapování fyzických adres I/O zařízení na virtuální adresu jádra. Jádro vytvoří tabulku stránek, tj. mapování virtuální adresy na požadovanou fyzickou adresu. Když provedeme iounmap(), toto mapování je zničeno.
Funkce ioremap má dva parametry:
- začátek oblasti paměti
- velikost oblasti paměti
void *ioremap(unsigned long phys_addr, unsigned long size); void iounmap(void * addr)
phys_addr je vyžadován pouze v případě, že oblasti fyzické paměti popsané fyzickou adresou jsou mapovány pomocí ioremap. Tyto informace jsou uloženy v phys_addr.
Na mnoha systémech není I/O paměť tímto způsobem vůbec přímo přístupná. Nejprve je tedy nutné nastavit mapování. To je role funkce ioremap. Funkce je navržena speciálně pro přidělování virtuálních adres I/O paměťovým oblastem.