GNU/Linux >> Tutoriels Linux >  >> Linux

Qu'est-ce que ioremap()

La fonction ioremap() est utilisée pour mapper l'adresse physique d'un périphérique d'E/S à l'adresse virtuelle du noyau. Le noyau crée une table de page, c'est-à-dire le mappage de l'adresse virtuelle à l'adresse physique demandée. Lorsque nous faisons iounmap(), ce mappage est détruit.

La fonction ioremap prend deux paramètres :

  • début de la région mémoire
  • taille de la région mémoire
void *ioremap(unsigned long phys_addr, unsigned long size);

void iounmap(void * addr)

phys_addr n'est requis que si les zones de mémoire physique décrites par une adresse physique sont mappées avec ioremap. Ces informations sont conservées dans phys_addr.

Sur de nombreux systèmes, la mémoire d'E/S n'est pas du tout directement accessible de cette manière. Donc, un mappage doit être mis en place en premier. C'est le rôle de la fonction ioremap. La fonction est conçue spécifiquement pour attribuer des adresses virtuelles aux régions de mémoire d'E/S.


Linux
  1. Qu'est-ce qu'un utilisateur Linux ?

  2. Qu'est-ce que le Web 3.0 ?

  3. Qu'est-ce que c'est ?

  4. Qu'est-ce que Echo $ ? Faire??

  5. Qu'est-ce qu'un certificat SSL ?

Qu'est-ce que SSH ?

Qu'est-ce que SFTP ?

Qu'est-ce qui arrive dans GNOME 42 ?

Qu'est-ce que l'analphabétisme numérique ?

Fuite de mémoire déroutante. Qu'est-ce qui utilise environ 10 Go de mémoire sur ce système ?

quels tueurs de processus Linux a-t-il?