My Project
Chargement...
Recherche...
Aucune correspondance
main-bootreg.c
Aller à la documentation de ce fichier.
1
8#include <manux/config.h>
9#include <manux/types.h> // TRUE
10#include <manux/stdlib.h> // atoi
11#include <manux/console.h>
12#include <manux/printk.h>
13#include <manux/memoire.h>
14#include <manux/kmalloc.h>
15#include <manux/bootloader.h>
16#include <manux/registre.h>
17
18#include <manux/debug.h>
19
25void miseAJourPararametre(void * prive, char * valeur)
26{
27 uint16_t * n = (uint16_t *)prive;
28
29 printk("Nouvelle valeur = '%s' pour 0x%x\n", valeur, prive);
30
31 // Une conversion bas de gamme
32 *n = atoihex(valeur);
33}
34
36{
37 // On doit commencer par ça a priori
39
40 // Initialisation de la console noyau
42
43 // On peut initialiser la gestion de la mémoire
46
47 // Initialsation du système kmalloc
49
50 // On initialise le registre
52
53 // Analyse des paramètres obtenus par le bootloader
55
56 // Maintenant le sous-système test s'initialise. Il a une valeur
57 // par défaut pour a, b et c, mais celles de a et b ne seront pas
58 // utilisées, puisqu'une valeur a déjà été donnée au boot.
60 "test", "a", NULL);
61
63 "test", "b", NULL);
64
66 "test", "c", NULL);
67
69
70 printk("Finalement, le systeme va demarrer avec a=%d, b=%d et c=%d\n", a, b, c);
71
72} /* startManuX */
73
74
Définition des fonctions de base d'accés à la console.
int consoleInitialisation(void)
Initialisation du système de console sans notion de fichier.
Definition console.c:869
Définition de kmalloc.
void initialiserMemoire(uint32_t tailleMemoireDeBase, uint32_t tailleMemoireEtendue)
Initialisation de la mémoire au niveau pages.
Definition memoire.c:103
Définition des fonctions de base d'entrée-sortie du noyau.
void printk(char *format,...)
Fonction principale d'affichage dans le noyau.
Definition printk.c:166
Gestion des registres (outils permettant de stocker des paramètres)
void registreSystemeAfficher(void)
Affichage du registre de ManuX.
Definition registre.c:580
void registreSystemeInitialiser(void)
Initialisation du registre système.
Definition registre.c:536
void registreSystemeAffecterParametre(char *valeur, void *prive, registreMiseAJour miseAJour,...)
Ajouter un paramètre au registre système de ManuX.
Definition registre.c:565
#define NULL
Definition stddef.h:10
unsigned short uint16_t
Definition types.h:16
void kmallocInitialisation(void)
Initialisation du sytème kmalloc.
Definition kmalloc-zs.c:80
void startManuX()
uint16_t b
void miseAJourPararametre(void *prive, char *valeur)
uint16_t a
Exemple de fonction de mise-à-jour d'un paramètre dans un registre.
uint16_t c
Interfaçage avec les bootloader.
void bootloaderLireLigneCmd(void)
Analyse de la ligne de commande et modification de certains paramètres. Cette fonction estparticulièr...
Definition bootloader.c:104
InfoSysteme infoSysteme
Stockage des informations décrivant le système fournies par le bootloader.
Definition bootloader.c:29
void bootloaderInitialiser(void)
Lecture des informations fournies par le bootloader.
Definition bootloader.c:46
Définition de quelques fonctions de base (C) Manu Chaput 2020-2023.
int atoihex(char *ch)
Version hexadécimale de atoi()
Definition stdlib.c:36
uint32_t memoireDeBase
Definition bootloader.h:43
uint32_t memoireEtendue
Definition bootloader.h:44