diff --git a/Kconfig b/Kconfig index a3ad08e..6bdfd47 100644 --- a/Kconfig +++ b/Kconfig @@ -5,5 +5,6 @@ config KERNEL_FLAVOR default "vanilla" source "arch/$(ARCH)/Kconfig" -source "core/Kconfig" +source "mem/Kconfig" +source "sched/Kconfig" source "dev/Kconfig" diff --git a/core/lib/meson.build b/core/lib/meson.build deleted file mode 100644 index b6e5ecd..0000000 --- a/core/lib/meson.build +++ /dev/null @@ -1,11 +0,0 @@ -# Freestanding libc functions that are needed in the kernel - -kernel_sources += files( - 'guid.c', - 'iovec.c', - 'radix.c', - 'ringbuf.c', - 'runtime.c', - 'stdlib.c', - 'string.c', -) diff --git a/core/clock.c b/lib/clock.c similarity index 100% rename from core/clock.c rename to lib/clock.c diff --git a/core/console.c b/lib/console.c similarity index 100% rename from core/console.c rename to lib/console.c diff --git a/core/dpc.c b/lib/dpc.c similarity index 100% rename from core/dpc.c rename to lib/dpc.c diff --git a/core/lib/guid.c b/lib/guid.c similarity index 100% rename from core/lib/guid.c rename to lib/guid.c diff --git a/core/initgraph.c b/lib/initgraph.c similarity index 100% rename from core/initgraph.c rename to lib/initgraph.c diff --git a/core/lib/iovec.c b/lib/iovec.c similarity index 100% rename from core/lib/iovec.c rename to lib/iovec.c diff --git a/core/irq.c b/lib/irq.c similarity index 100% rename from core/irq.c rename to lib/irq.c diff --git a/core/ksyms.c b/lib/ksyms.c similarity index 100% rename from core/ksyms.c rename to lib/ksyms.c diff --git a/core/meson.build b/lib/meson.build similarity index 64% rename from core/meson.build rename to lib/meson.build index 41f7281..b355ce4 100644 --- a/core/meson.build +++ b/lib/meson.build @@ -1,17 +1,20 @@ kernel_sources += files( 'clock.c', 'console.c', + 'guid.c', 'initgraph.c', + 'iovec.c', 'irq.c', 'ksyms.c', 'module.c', 'panic.c', 'percpu.c', 'print.c', + 'radix.c', 'random.c', + 'ringbuf.c', + 'runtime.c', 'spin.c', + 'stdlib.c', + 'string.c', ) - -subdir('lib') -subdir('mem') -subdir('sched') diff --git a/core/module.c b/lib/module.c similarity index 100% rename from core/module.c rename to lib/module.c diff --git a/core/panic.c b/lib/panic.c similarity index 100% rename from core/panic.c rename to lib/panic.c diff --git a/core/percpu.c b/lib/percpu.c similarity index 100% rename from core/percpu.c rename to lib/percpu.c diff --git a/core/print.c b/lib/print.c similarity index 100% rename from core/print.c rename to lib/print.c diff --git a/core/lib/radix.c b/lib/radix.c similarity index 100% rename from core/lib/radix.c rename to lib/radix.c diff --git a/core/random.c b/lib/random.c similarity index 100% rename from core/random.c rename to lib/random.c diff --git a/core/lib/ringbuf.c b/lib/ringbuf.c similarity index 100% rename from core/lib/ringbuf.c rename to lib/ringbuf.c diff --git a/core/lib/runtime.c b/lib/runtime.c similarity index 100% rename from core/lib/runtime.c rename to lib/runtime.c diff --git a/core/spin.c b/lib/spin.c similarity index 100% rename from core/spin.c rename to lib/spin.c diff --git a/core/lib/stdlib.c b/lib/stdlib.c similarity index 100% rename from core/lib/stdlib.c rename to lib/stdlib.c diff --git a/core/lib/string.c b/lib/string.c similarity index 100% rename from core/lib/string.c rename to lib/string.c diff --git a/core/wait.c b/lib/wait.c similarity index 100% rename from core/wait.c rename to lib/wait.c diff --git a/core/mem/Kconfig b/mem/Kconfig similarity index 100% rename from core/mem/Kconfig rename to mem/Kconfig diff --git a/core/mem/fault.c b/mem/fault.c similarity index 100% rename from core/mem/fault.c rename to mem/fault.c diff --git a/core/mem/init.c b/mem/init.c similarity index 100% rename from core/mem/init.c rename to mem/init.c diff --git a/core/mem/meson.build b/mem/meson.build similarity index 100% rename from core/mem/meson.build rename to mem/meson.build diff --git a/core/mem/pmap.c b/mem/pmap.c similarity index 100% rename from core/mem/pmap.c rename to mem/pmap.c diff --git a/core/mem/pmm.c b/mem/pmm.c similarity index 100% rename from core/mem/pmm.c rename to mem/pmm.c diff --git a/core/mem/shootdown.c b/mem/shootdown.c similarity index 100% rename from core/mem/shootdown.c rename to mem/shootdown.c diff --git a/core/mem/slab.c b/mem/slab.c similarity index 100% rename from core/mem/slab.c rename to mem/slab.c diff --git a/core/mem/stack.c b/mem/stack.c similarity index 100% rename from core/mem/stack.c rename to mem/stack.c diff --git a/core/mem/usercopy.c b/mem/usercopy.c similarity index 100% rename from core/mem/usercopy.c rename to mem/usercopy.c diff --git a/core/mem/virt.c b/mem/virt.c similarity index 100% rename from core/mem/virt.c rename to mem/virt.c diff --git a/core/mem/vma.c b/mem/vma.c similarity index 100% rename from core/mem/vma.c rename to mem/vma.c diff --git a/core/mem/vmo.c b/mem/vmo.c similarity index 100% rename from core/mem/vmo.c rename to mem/vmo.c diff --git a/meson.build b/meson.build index 06144ff..88f37ba 100644 --- a/meson.build +++ b/meson.build @@ -95,7 +95,9 @@ modules = {} # These dirs go first so we can add arch-specific flags to drivers. subdir('arch' / target_machine.cpu_family()) subdir('boot') -subdir('core') +subdir('lib') +subdir('mem') +subdir('sched') subdir('syscalls') # Device and file system drivers. diff --git a/core/Kconfig b/sched/Kconfig similarity index 81% rename from core/Kconfig rename to sched/Kconfig index 30cdc62..93fdab3 100644 --- a/core/Kconfig +++ b/sched/Kconfig @@ -1,6 +1,4 @@ -menu "Kernel Core options" - -source "core/mem/Kconfig" +menu "Scheduler options" choice SCHED_ALG prompt "Scheduler algorithm" diff --git a/core/sched/core.c b/sched/core.c similarity index 100% rename from core/sched/core.c rename to sched/core.c diff --git a/core/sched/meson.build b/sched/meson.build similarity index 100% rename from core/sched/meson.build rename to sched/meson.build diff --git a/core/sched/sched_dumb.c b/sched/sched_dumb.c similarity index 100% rename from core/sched/sched_dumb.c rename to sched/sched_dumb.c