/* Configuration du systeme */ /* Copyright (C) 2008 Emmanuel Varoquaux This file is part of XOS. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ #ifndef _CONFIG_H #define _CONFIG_H /* Systeme */ /* nom du systeme */ #define OS_NAME "XOS" /* version du systeme */ #define OS_VERSION "0.8" /* date et heure de la construction du noyau */ #define OS_BUILD __DATE__ " " __TIME__ /* architecture */ #define OS_MACHINE "i386" /* auteur */ #define OS_AUTHOR "Emmanuel Varoquaux" /* copyright */ #define OS_COPYRIGHT "Copyright (C) 2005-2014 Emmanuel Varoquaux" /* Carte de la memoire physique */ /* La zone 0..PAGE_SIZE n'est pas accessible, afin de capturer d'accidentels * dereferencements de pointeurs nuls. */ /* tampon DMA du controleur de disquette */ /* L'adresse de base du tampon DMA doit etre sur 20 bits. Le tampon doit etre * contenu dans une seule page de 64K. */ #define FLOPPY_DMA_BUFFER_START 0x10000 #define FLOPPY_DMA_BUFFER_END 0x20000 /* La zone 0xa0000..0x100000 est reservee (memoire video, etc). */ /* Le systeme est charge a l'adresse 0x100000. */ /* Memoire virtuelle */ /* adresse lineaire de base des segments utilisateur */ #define USER_BASE 0x40000000 /* Pilotes */ /* taille des blocs pour les peripheriques de type bloc (min 512) */ #define BLOCK_SIZE 1024 /* table des touches */ /* Note: fr-latin1 a des problemes avec certaines touches, par exemple '~'. La * plupart de ces problemes sont corriges dans custom. Mais custom gere * differement CapsLock, pour les chiffres par exemple. */ #define KEYMAP_QWERTY qwerty #define KEYMAP_FRLATIN1 fr-latin1 #define KEYMAP_CUSTOM custom #define KEYMAP KEYMAP_CUSTOM /* frequence de l'interruption d'horloge (en Hz) */ #define TIMER_FREQUENCY 100 /* taille des tampons des terminaux */ #define TTY_BUFFER_SIZE 1024 /* Fichiers */ /* nombre de peripheriques */ #define NR_DEVICES 256 /* longueur maximale d'un chemin de fichier, en comptant le caractere nul * final */ #define PATH_MAX 4096 /* PAGE_SIZE */ /* longueur maximale d'un nom de fichier, sans compter le caractere nul final - * doit etre superieur ou egal a 255 pour compatibilite avec le pilote FAT */ #define NAME_MAX 255 /* parametres du pilote FAT */ #define VFAT_USE_LONG_NAMES 1 /* support des noms longs */ #define VFAT_FREE_CLUSTER_TABLE_SIZE 64 #define VFAT_LOCK_TABLE_SIZE 16 /* taille du tampon des tubes */ #define PIPE_BUFFER_SIZE 4096 /* nombre maximal de descripteurs de fichiers ouverts */ #define NR_OPEN 1024 /* Processus */ /* nombre maximal de descripteurs de taches */ #define NR_TASKS 64 /* taille de la pile noyau des processus */ #define KERNEL_STACK_SIZE 8192 /* 2 * PAGE_SIZE */ /* valeur maximale d'un identifiant de processus - doit etre superieur a * (2 * NR_TASKS) pour assurer un pid unique pour chaque processus et chaque * groupe de processus */ #define PID_MAX 32767 /* longueur maximal d'un argument de exec() */ #define ARG_MAX_STRLEN 131072 /* 32 * PAGE_SIZE */ /* longueur maximal des arguments de exec() */ #define ARG_MAX 131072 /* 32 * PAGE_SIZE */ /* nombre maximal de descripteurs de fichiers ouverts par processus */ #define OPEN_MAX 256 /* adresse virtuelle du sommet de la pile d'execution utilisateur */ #define USER_STACK_TOP 0xc0000000 /* adresse virtuelle haute de la zone d'allocation des projections */ #define MAPS_TOP 0xb8000000 /* adresse virtuelle de chargement des programmes position-independents */ #define PIE_BASE_ADDR 0x80000000 /* Decalage de l'horloge materielle */ #define TZ_STD_OFFSET (-3600) /* decalage standard */ #define TZ_DST_OFFSET (-7200) /* decalage de l'heure d'ete */ #define TZ_DST_START_MON 2 /* debut de l'heure d'ete - mois */ #define TZ_DST_START_MWEEK 5 /* debut de l'heure d'ete - semaine */ #define TZ_DST_START_WDAY 0 /* debut de l'heure d'ete - jour */ #define TZ_DST_START_TIME 7200 /* debut de l'heure d'ete - heure */ #define TZ_DST_END_MON 9 /* debut de l'heure d'hiver - mois */ #define TZ_DST_END_MWEEK 5 /* debut de l'heure d'hiver - semaine */ #define TZ_DST_END_WDAY 0 /* debut de l'heure d'hiver - jour */ #define TZ_DST_END_TIME 10800 /* debut de l'heure d'hiver - heure */ /* Divers */ /* taille du tampon de printk */ #define PRINTK_BUFFER_SIZE 1024 #endif