/* * @author xamidev * @brief PepperOS configuration file * @license GPL-3.0-only */ #ifndef CONFIG_H #define CONFIG_H /* version */ #define PEPPEROS_VERSION_MAJOR "0" #define PEPPEROS_VERSION_MINOR "0" #define PEPPEROS_VERSION_PATCH "58" #define PEPPEROS_SPLASH "\x1b[38;5;196mPepperOS\x1b[0m version \x1b[38;5;220m"PEPPEROS_VERSION_MAJOR"."PEPPEROS_VERSION_MINOR"."PEPPEROS_VERSION_PATCH"\x1b[0m built on \x1b[38;5;40m"__DATE__" "__TIME__"\x1b[0m\n" /* process */ #define PROCESS_NAME_MAX 64 #define PROCESS_STACK_SIZE 0x10000 // 64kb #define PROCESS_BASE 0x400000 #define PROCESS_STACK_BASE 0x1000000 /* sched */ // 1 tick = 1 ms => quantum = 10ms #define SCHEDULER_QUANTUM 10 /* kernel */ #define KERNEL_BASE 0xFFFFFFFF80000000ULL // 2 MB should be enough (as of now, the whole kernel ELF is around 75kb) #define KERNEL_SIZE 0x200000 #define KERNEL_STACK_SIZE 65536 #define KERNEL_IDT_ENTRIES 33 /* paging */ #define PAGING_MAX_PHYS 0x100000000 /* heap */ #define KHEAP_SIZE (32*1024*1024) /* term */ #define TERM_HISTORY_MAX_LINES 256 /* kbd */ #define KBD_BUFFER_MAX 256 /* time */ #define TIMER_FREQUENCY 1000 #endif