9#include <manux/config.h>
14# include <manux/i386.h>
21#define DBG_KERNEL_ERREUR 0x00000001
22#define DBG_KERNEL_START 0x00000002
23#define DBG_KERNEL_PAGIN 0x00000004
24#define DBG_KERNEL_SYSFI 0x00000008
25#define DBG_KERNEL_ORDON 0x00000010
26#define DBG_KERNEL_TACHE 0x00000020
27#define DBG_KERNEL_MEMOIRE 0x00000040
28#define DBG_KERNEL_AS 0x00000080
29#define DBG_KERNEL_PCI 0x00000100
30#define DBG_KERNEL_NET 0x00000200
31#define DBG_KERNEL_VIRTIO 0x00000400
32#define DBG_KERNEL_A_FAIRE 0x00000800
33#define DBG_KERNEL_BOOTLOADER 0x00001000
34#define DBG_KERNEL_TUBE 0x00002000
35#define DBG_KERNEL_REGISTRE 0x00004000
36#define DBG_KERNEL_ALL 0xFFFFFFFF
41#define _masqueDebugageConsole (0x00000000 \
45# define _masqueDebugageFichier (0x00000000\
48#ifdef MANUX_DEBUGMASK_VAR
52# define masqueDebugageConsole _masqueDebugageConsole
53# define masqueDebugageFichier _masqueDebugageFichier
77#define printk_debug(lvl, fmt, args...) \
78 if (((lvl)& masqueDebugageConsole) && ((lvl)& masqueDebugageFichier)) { \
79 printk("{7} [%d] %s line %d : " fmt, nbTopHorloge, __FUNCTION__ , __LINE__, ## args); \
80 } else if ((lvl)& masqueDebugageFichier) { \
81 printk("(7) [%d] %s line %d : " fmt, nbTopHorloge, __FUNCTION__ , __LINE__, ## args); \
82 } else if ((lvl)& masqueDebugageConsole) { \
83 printk("[7] [%d] %s line %d : " fmt, nbTopHorloge, __FUNCTION__ , __LINE__, ## args); \
86#define printk_debug(lvl, fmt, args...) \
87 if (((lvl)& masqueDebugageConsole) && ((lvl)& masqueDebugageFichier)) { \
88 printk("{7} %s line %d : " fmt, __FUNCTION__ , __LINE__, ## args); \
89 } else if ((lvl)& masqueDebugageFichier) { \
90 printk("(7) %s line %d : " fmt, __FUNCTION__ , __LINE__, ## args); \
91 } else if ((lvl)& masqueDebugageConsole) { \
92 printk("[7] %s line %d : " fmt, __FUNCTION__ , __LINE__, ## args); \
99#define paniqueNoyau(fmt, args...) \
101 printk("\n*** PANIQUE NOYAU (tache %d) ***\n", tacheEnCours->numero); \
102 printk("%s (dans %s ligne %d)\n", __FUNCTION__, __FILE__, __LINE__); \
103 printk("" fmt, ## args); \
107#define paniqueNoyau(fmt, args...) \
109 printk("\n*** PANIQUE NOYAU ***\n"); \
110 printk("%s (dans %s ligne %d)\n", __FUNCTION__, __FILE__, __LINE__); \
111 printk("" fmt, ## args); \
119#ifdef MANUX_ASSERT_ACTIVES
120#define assert(cond) \
122 paniqueNoyau("L'assertion '"#cond"' n'est pas verifiee"); \
126#define assert(cond) {}
Définition des fonctions de base d'entrée-sortie du noyau.
#define masqueDebugageFichier
#define masqueDebugageConsole
void debugInitialiser(void)
Initialisation du sytème de débogage.