View of xos/include/config.h


XOS | Parent Directory | View | Download

/* 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