forked from xamidev/pepperOS
Move headers to include/
This commit is contained in:
2
Makefile
2
Makefile
@@ -25,7 +25,7 @@ $(BUILDDIR):
|
||||
|
||||
$(BUILDDIR)/%.o: $(SRC)/%.c
|
||||
mkdir -p $(dir $@)
|
||||
$(CC) -g -c -Isrc $< $(CC_PROBLEMATIC_FLAGS) $(CC_FLAGS) -o $@
|
||||
$(CC) -g -c -Iinclude $< $(CC_PROBLEMATIC_FLAGS) $(CC_FLAGS) -o $@
|
||||
|
||||
limine/limine:
|
||||
rm -rf limine
|
||||
|
||||
@@ -15,9 +15,9 @@ enum ErrorCodes {
|
||||
#define CLEAR_INTERRUPTS __asm__ volatile("cli")
|
||||
#define SET_INTERRUPTS __asm__ volatile("sti")
|
||||
|
||||
#include "io/serial/serial.h"
|
||||
#include "io/term/term.h"
|
||||
#include "idt/idt.h"
|
||||
#include <io/serial/serial.h>
|
||||
#include <io/term/term.h>
|
||||
#include <idt/idt.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
extern volatile uint64_t ticks;
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
#include <stdint.h>
|
||||
#include <limine.h>
|
||||
#include "mem/heap/kheap.h"
|
||||
#include <mem/kheap.h>
|
||||
#include <kernel.h>
|
||||
|
||||
void paging_init(struct boot_context boot_ctx);
|
||||
@@ -8,7 +8,7 @@
|
||||
#define PROCESS_H
|
||||
|
||||
#include <stddef.h>
|
||||
#include "config.h"
|
||||
#include <config.h>
|
||||
#include <stdint.h>
|
||||
|
||||
typedef enum {
|
||||
@@ -1,6 +1,8 @@
|
||||
timeout: 3
|
||||
interface_branding: Welcome to the PepperOS disk!
|
||||
|
||||
/PepperOS
|
||||
protocol: limine
|
||||
|
||||
|
||||
comment: Default configuration (warning: spicy)
|
||||
path: boot():/boot/pepperk
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
*/
|
||||
|
||||
#include <kernel.h>
|
||||
#include "limine.h"
|
||||
#include "string/string.h"
|
||||
#include <limine.h>
|
||||
#include <string/string.h>
|
||||
#include <stddef.h>
|
||||
|
||||
extern struct boot_context boot_ctx;
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
*/
|
||||
|
||||
#include <stddef.h>
|
||||
#include "idt/idt.h"
|
||||
#include "io/serial/serial.h"
|
||||
#include "kernel.h"
|
||||
#include <idt/idt.h>
|
||||
#include <io/serial/serial.h>
|
||||
#include <kernel.h>
|
||||
|
||||
extern struct init_status init;
|
||||
extern int panic_count;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
#include "kernel.h"
|
||||
#include <kernel.h>
|
||||
#include <stddef.h>
|
||||
|
||||
extern struct init_status init;
|
||||
|
||||
@@ -4,16 +4,16 @@
|
||||
* @license GPL-3.0-only
|
||||
*/
|
||||
|
||||
#include "idt.h"
|
||||
#include <idt/idt.h>
|
||||
#include <stdint.h>
|
||||
#include <stddef.h>
|
||||
#include "io/serial/serial.h"
|
||||
#include "io/kbd/ps2.h"
|
||||
#include <io/serial/serial.h>
|
||||
#include <io/kbd/ps2.h>
|
||||
#include <kernel.h>
|
||||
#include <stdbool.h>
|
||||
#include "sched/scheduler.h"
|
||||
#include "config.h"
|
||||
#include "sched/process.h"
|
||||
#include <sched/scheduler.h>
|
||||
#include <config.h>
|
||||
#include <sched/process.h>
|
||||
|
||||
struct interrupt_descriptor idt[256];
|
||||
struct idtr idt_reg;
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
* @license GPL-3.0-only
|
||||
*/
|
||||
|
||||
#include "io/serial/serial.h"
|
||||
#include "ps2.h"
|
||||
#include <io/serial/serial.h>
|
||||
#include <io/kbd/ps2.h>
|
||||
#include <stdint.h>
|
||||
#include "io/term/term.h"
|
||||
#include <io/term/term.h>
|
||||
#include <kernel.h>
|
||||
#include <stddef.h>
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
*/
|
||||
|
||||
#include <kernel.h>
|
||||
#include "serial.h"
|
||||
#include <io/serial/serial.h>
|
||||
|
||||
extern struct init_status init;
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
#define FLANTERM_IN_FLANTERM
|
||||
#endif
|
||||
|
||||
#include "flanterm.h"
|
||||
#include <io/term/flanterm.h>
|
||||
|
||||
// Tries to implement this standard for terminfo
|
||||
// https://man7.org/linux/man-pages/man4/console_codes.4.html
|
||||
|
||||
@@ -51,8 +51,8 @@
|
||||
#define FLANTERM_IN_FLANTERM
|
||||
#endif
|
||||
|
||||
#include "../flanterm.h"
|
||||
#include "fb.h"
|
||||
#include <io/term/flanterm.h>
|
||||
#include <io/term/flanterm_backends/fb.h>
|
||||
|
||||
void *memset(void *, int, size_t);
|
||||
void *memcpy(void *, const void *, size_t);
|
||||
|
||||
@@ -13,18 +13,18 @@ because this shitty implementation will be replaced one day by Flanterm
|
||||
|
||||
#include <stddef.h>
|
||||
#include <kernel.h>
|
||||
#include "term.h"
|
||||
#include "config.h"
|
||||
#include "flanterm.h"
|
||||
#include "flanterm_backends/fb.h"
|
||||
#include "mem/heap/kheap.h"
|
||||
#include "limine.h"
|
||||
#include <io/term/term.h>
|
||||
#include <config.h>
|
||||
#include <io/term/flanterm.h>
|
||||
#include <io/term/flanterm_backends/fb.h>
|
||||
#include <mem/kheap.h>
|
||||
#include <limine.h>
|
||||
#include <stdarg.h>
|
||||
#include "sched/spinlock.h"
|
||||
#include "io/serial/serial.h"
|
||||
#include <sched/spinlock.h>
|
||||
#include <io/serial/serial.h>
|
||||
|
||||
#define NANOPRINTF_IMPLEMENTATION
|
||||
#include "nanoprintf.h"
|
||||
#include <io/term/nanoprintf.h>
|
||||
|
||||
extern struct flanterm_context* ft_ctx;
|
||||
extern struct init_status init;
|
||||
|
||||
37
src/kmain.c
37
src/kmain.c
@@ -4,27 +4,26 @@
|
||||
* @license GPL-3.0-only
|
||||
*/
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
#include <limine.h>
|
||||
#include "io/term/term.h"
|
||||
#include "io/term/term.h"
|
||||
#include "io/serial/serial.h"
|
||||
#include "mem/gdt/gdt.h"
|
||||
#include "mem/misc/utils.h"
|
||||
#include "idt/idt.h"
|
||||
#include "kernel.h"
|
||||
#include "time/timer.h"
|
||||
#include "io/kbd/ps2.h"
|
||||
#include "mem/paging/pmm.h"
|
||||
#include "mem/paging/paging.h"
|
||||
#include "mem/paging/vmm.h"
|
||||
#include "mem/heap/kheap.h"
|
||||
#include "sched/process.h"
|
||||
#include "sched/scheduler.h"
|
||||
#include "config.h"
|
||||
#include "io/term/flanterm.h"
|
||||
#include "io/term/flanterm_backends/fb.h"
|
||||
#include <io/term/term.h>
|
||||
#include <io/serial/serial.h>
|
||||
#include <mem/gdt.h>
|
||||
#include <mem/utils.h>
|
||||
#include <idt/idt.h>
|
||||
#include <kernel.h>
|
||||
#include <time/timer.h>
|
||||
#include <io/kbd/ps2.h>
|
||||
#include <mem/pmm.h>
|
||||
#include <mem/paging.h>
|
||||
#include <mem/vmm.h>
|
||||
#include <mem/kheap.h>
|
||||
#include <sched/process.h>
|
||||
#include <sched/scheduler.h>
|
||||
#include <config.h>
|
||||
#include <io/term/flanterm.h>
|
||||
#include <io/term/flanterm_backends/fb.h>
|
||||
|
||||
// Limine version used
|
||||
__attribute__((used, section(".limine_requests")))
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
* @license GPL-3.0-only
|
||||
*/
|
||||
|
||||
#include "gdt.h"
|
||||
#include <mem/gdt.h>
|
||||
#include <stdint.h>
|
||||
#include "io/serial/serial.h"
|
||||
#include <io/serial/serial.h>
|
||||
#include <kernel.h>
|
||||
|
||||
// Descriptors are 8-byte wide (64bits)
|
||||
@@ -4,13 +4,13 @@
|
||||
* @license GPL-3.0-only
|
||||
*/
|
||||
|
||||
#include "kheap.h"
|
||||
#include "mem/paging/paging.h"
|
||||
#include "mem/paging/pmm.h"
|
||||
#include <mem/kheap.h>
|
||||
#include <mem/paging.h>
|
||||
#include <mem/pmm.h>
|
||||
#include <stddef.h>
|
||||
#include <kernel.h>
|
||||
#include "sched/process.h"
|
||||
#include "config.h"
|
||||
#include <sched/process.h>
|
||||
#include <config.h>
|
||||
|
||||
extern uint64_t kernel_phys_base;
|
||||
extern uint64_t kernel_virt_base;
|
||||
@@ -4,12 +4,12 @@
|
||||
* @license GPL-3.0-only
|
||||
*/
|
||||
|
||||
#include "paging.h"
|
||||
#include "pmm.h"
|
||||
#include <mem/paging.h>
|
||||
#include <mem/pmm.h>
|
||||
#include <kernel.h>
|
||||
#include <stddef.h>
|
||||
#include <limine.h>
|
||||
#include "config.h"
|
||||
#include <config.h>
|
||||
|
||||
/*
|
||||
Paging on x86 uses four different page table levels:
|
||||
@@ -11,13 +11,13 @@ it will probably need to get some info from Limine,
|
||||
to see which pages are used by kernel/bootloader/mmio/fb etc.
|
||||
*/
|
||||
|
||||
#include "paging.h"
|
||||
#include <mem/paging.h>
|
||||
#include <limine.h>
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include <kernel.h>
|
||||
#include "mem/misc/utils.h"
|
||||
#include "pmm.h"
|
||||
#include <mem/utils.h>
|
||||
#include <mem/pmm.h>
|
||||
|
||||
/*
|
||||
First we'll have to discover the physical memory layout,
|
||||
@@ -7,8 +7,8 @@
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
#include <limine.h>
|
||||
#include "kernel.h"
|
||||
#include "string/string.h"
|
||||
#include <kernel.h>
|
||||
#include <string/string.h>
|
||||
|
||||
// We won't be linked to standard library, but still need the basic mem* functions
|
||||
// so everything goes allright with the compiler
|
||||
@@ -13,10 +13,10 @@ in a specified virtual space
|
||||
compared to the PMM which allocs/frees 4kb frames ("physical pages").
|
||||
*/
|
||||
|
||||
#include "vmm.h"
|
||||
#include "paging.h"
|
||||
#include <mem/vmm.h>
|
||||
#include <mem/paging.h>
|
||||
#include <stddef.h>
|
||||
#include "pmm.h"
|
||||
#include <mem/pmm.h>
|
||||
#include <kernel.h>
|
||||
|
||||
void* vmm_pt_root = 0;
|
||||
@@ -5,15 +5,15 @@
|
||||
*/
|
||||
|
||||
#include <stddef.h>
|
||||
#include "process.h"
|
||||
#include "mem/heap/kheap.h"
|
||||
#include "kernel.h"
|
||||
#include "string/string.h"
|
||||
#include "mem/gdt/gdt.h"
|
||||
#include "config.h"
|
||||
#include "io/serial/serial.h"
|
||||
#include <sched/process.h>
|
||||
#include <mem/kheap.h>
|
||||
#include <kernel.h>
|
||||
#include <string/string.h>
|
||||
#include <mem/gdt.h>
|
||||
#include <config.h>
|
||||
#include <io/serial/serial.h>
|
||||
|
||||
#include "io/term/flanterm.h"
|
||||
#include <io/term/flanterm.h>
|
||||
extern struct flanterm_context* ft_ctx;
|
||||
|
||||
struct process_t* processes_list;
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
* @license GPL-3.0-only
|
||||
*/
|
||||
|
||||
#include "kernel.h"
|
||||
#include "process.h"
|
||||
#include "mem/paging/paging.h"
|
||||
#include <kernel.h>
|
||||
#include <sched/process.h>
|
||||
#include <mem/paging.h>
|
||||
#include <stdint.h>
|
||||
#include "io/serial/serial.h"
|
||||
#include <io/serial/serial.h>
|
||||
|
||||
extern struct process_t* processes_list;
|
||||
extern struct process_t* current_process;
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
|
||||
#include <stdatomic.h>
|
||||
#include <stdbool.h>
|
||||
#include "kernel.h"
|
||||
#include "spinlock.h"
|
||||
#include <kernel.h>
|
||||
#include <sched/spinlock.h>
|
||||
|
||||
/*
|
||||
* spinlock_acquire - Lock a lock
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
#include "io/serial/serial.h"
|
||||
#include <io/serial/serial.h>
|
||||
#include <kernel.h>
|
||||
#include "config.h"
|
||||
#include <config.h>
|
||||
|
||||
/*
|
||||
For now, the timer module will be using the PIC.
|
||||
|
||||
Reference in New Issue
Block a user