|
My Project
|
#include <manux/config.h>#include <manux/types.h>#include <manux/debug.h>#include <manux/memoire.h>#include <manux/atomique.h>#include <manux/pagination.h>#include <manux/console.h>#include <manux/i386.h>
Aller au code source de ce fichier.
Macros | |
| #define | MANUX_AFFECTATION_PAGES 0x1000 |
Fonctions | |
| void | libererPage (void *pageLiberee) |
| void | initialiserMemoire (uint32_t tailleMemoireDeBase, uint32_t tailleMemoireEtendue) |
| Initialisation de la mémoire au niveau pages. | |
| void * | allouerPage (void) |
| int | nombrePagesAllouees (void) |
| int | nombrePagesTotal (void) |
| void * | allouerPages (uint32_t nombre) |
Variables | |
| uint32_t | _adresseDebutManuX [] |
| Implantation des sous-programme de manipulation de la mémoire sous ManuX. On fait pour le moment un truc hyper minimaliste, sans aucune forme de vérification, le but étant juste de fournir un service élémentaire aux autres parties du noyau afin d'en avancer le développement. | |
| uint32_t | _adresseFinManuX [] |
| uint32_t | _adressePileManuX [] |
| uint32_t | _adresseLimitePileManuX [] |
| uint32_t | adresseDebutManuX = ((uint32_t)_adresseDebutManuX) |
| uint32_t | adresseFinManuX = ((uint32_t)_adresseFinManuX) |
| uint32_t | adressePileManuX = ((uint32_t)_adressePileManuX) |
| uint32_t | adresseLimitePileManuX = ((uint32_t)_adresseLimitePileManuX) |
| int | nombrePagesSysteme = MANUX_NOMBRE_PAGES_SYSTEME |
| TacheID * | proprietairePage |
|
extern |
Implantation des sous-programme de manipulation de la mémoire sous ManuX. On fait pour le moment un truc hyper minimaliste, sans aucune forme de vérification, le but étant juste de fournir un service élémentaire aux autres parties du noyau afin d'en avancer le développement.
(C) Manu Chaput 2000-2026
Obtention des adresses de base. La récupération des variables du script du linker est un peu ésotérique. Voir par exemple https://stackoverflow.com/questions/48561217/how-to-get-value-of-variable-defined-in-ld-linker-script-from-c pour un exemple, et surtout la doc pour une explication https://sourceware.org/binutils/docs/ld/Source-Code-Reference.html
| uint32_t adresseDebutManuX = ((uint32_t)_adresseDebutManuX) |
| uint32_t adresseFinManuX = ((uint32_t)_adresseFinManuX) |
| uint32_t adresseLimitePileManuX = ((uint32_t)_adresseLimitePileManuX) |
| uint32_t adressePileManuX = ((uint32_t)_adressePileManuX) |
| int nombrePagesSysteme = MANUX_NOMBRE_PAGES_SYSTEME |