Atags est une liste d’informations sur certaines configuration du matériel. Cette liste est créée par le bootloader avant le chargement de notre noyau. Le bootloader le place à l’adresse 0x100 , et transmet également cette adresse au noyau via le registre r2 . Si nous regardons la signature de la fonction kernel_main, void kernel_main(uint32_t r0, uint32_t r1, uint32_t atags) nous voyons que le pointeur atags est passer en troisième argument.
Les Atags peuvent nous renseigner sur la taille de la mémoire, où le bootloader charge la mémoire, et la ligne de commande passée au noyau à travers cmdline.txt
Un Atag se compose d’une taille (en 4 octets), d’un identifiant du tag (balise) et d’informations spécifiques à la balise. La liste des Atags commence toujours par la balise CORE, avec l’identifiant 0x54410001 , et se termine par la balise NONE , avec l’identifiant . Ces étiquettes sont concaténées ensemble, ainsi la balise suivante dans la liste peut être trouvée en ajoutant le nombre d’octets spécifié par la taille du pointeur Atag actuel.
GIPHY App Key not set. Please check settings
One Comment