in

Atags

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 0. 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.

What do you think?

23 points
Upvote Downvote

commentaires

Laisser un commentaire

un Ping

  1. pingback:

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Chargement & hellip;

0x00 – Mise en place de l’environnement de développement

List.h: Liste chaînée dans le kernel