/* * @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;196m \x1b[38;5;231m____ _____\r\n\x1b[0m"\ "\x1b[38;5;196m ____ ___ ____ ____ ___ _____\x1b[38;5;231m/ __ \\/ ___/\r\n\x1b[0m"\ "\x1b[38;5;196m / __ \\/ _ \\/ __ \\/ __ \\/ _ \\/ ___\x1b[38;5;231m/ / / /\\__ \\ \r\n\x1b[0m"\ "\x1b[38;5;196m / /_/ / __/ /_/ / /_/ / __/ / \x1b[38;5;231m/ /_/ /___/ / \r\n\x1b[0m"\ "\x1b[38;5;196m / .___/\\___/ .___/ .___/\\___/_/ \x1b[38;5;231m\\____//____/ \r\n\x1b[0m"\ "\x1b[38;5;196m/_/ /_/ /_/ \r\n\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\r\n" /* pedicel */ #define PEDICEL_PROMPT "pedicel$ " #define PEDICEL_INPUT_SIZE 128 /* 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 0x200000000 /* 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