My Project
Chargement...
Recherche...
Aucune correspondance
Macros | Fonctions | Variables
Référence du fichier memoire.c
#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>
Graphe des dépendances par inclusion de memoire.c:

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
 

Documentation des macros

◆ MANUX_AFFECTATION_PAGES

#define MANUX_AFFECTATION_PAGES   0x1000

Définition à la ligne 42 du fichier memoire.c.

Documentation des fonctions

◆ allouerPage()

void * allouerPage ( void  )

Définition à la ligne 234 du fichier memoire.c.

◆ allouerPages()

void * allouerPages ( uint32_t  nombre)

Allocation de plusieurs pages contigues

Définition à la ligne 284 du fichier memoire.c.

◆ initialiserMemoire()

void initialiserMemoire ( uint32_t  tailleMemoireDeBase,
uint32_t  tailleMemoireEtendue 
)

Initialisation de la mémoire au niveau pages.

Cette initialisation est nécessaire avant toute demande d'allocation. C'est elle qui va permettre de mettre en place le mécanisme d'allocation des pages dans le système.

Définition à la ligne 103 du fichier memoire.c.

◆ libererPage()

void libererPage ( void *  pageLiberee)

La libération qui va avec

Définition à la ligne 81 du fichier memoire.c.

◆ nombrePagesAllouees()

int nombrePagesAllouees ( void  )

Définition à la ligne 257 du fichier memoire.c.

◆ nombrePagesTotal()

int nombrePagesTotal ( void  )

Définition à la ligne 262 du fichier memoire.c.

Documentation des variables

◆ _adresseDebutManuX

uint32_t _adresseDebutManuX[]
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

◆ _adresseFinManuX

uint32_t _adresseFinManuX[]

Définition à la ligne 28 du fichier memoire.c.

◆ _adresseLimitePileManuX

uint32_t _adresseLimitePileManuX[]

Définition à la ligne 30 du fichier memoire.c.

◆ _adressePileManuX

uint32_t _adressePileManuX[]

Définition à la ligne 29 du fichier memoire.c.

◆ adresseDebutManuX

uint32_t adresseDebutManuX = ((uint32_t)_adresseDebutManuX)

Définition à la ligne 32 du fichier memoire.c.

◆ adresseFinManuX

uint32_t adresseFinManuX = ((uint32_t)_adresseFinManuX)

Définition à la ligne 33 du fichier memoire.c.

◆ adresseLimitePileManuX

uint32_t adresseLimitePileManuX = ((uint32_t)_adresseLimitePileManuX)

Définition à la ligne 35 du fichier memoire.c.

◆ adressePileManuX

uint32_t adressePileManuX = ((uint32_t)_adressePileManuX)

Définition à la ligne 34 du fichier memoire.c.

◆ nombrePagesSysteme

int nombrePagesSysteme = MANUX_NOMBRE_PAGES_SYSTEME

Définition à la ligne 48 du fichier memoire.c.

◆ proprietairePage

TacheID* proprietairePage

Définition à la ligne 56 du fichier memoire.c.