GNU/Linux >> Znalost Linux >  >> Linux

Co je ioremap()

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.


Linux
  1. Co je to sysadmin?

  2. Co dělá „lc_all=c“?

  3. Linux – Co je velká a nízká paměť v Linuxu?

  1. Co dělá Echo $? Dělat??

  2. Co je /dev/mem?

  3. Zmatený únik paměti. Co v tomto systému využívá ~10 GB paměti?

  1. Co je uživatel Linuxu?

  2. Využití paměti Linuxu

  3. Co je Web 3.0?