This is the final part of the major mm subsystem refactor (for now). The new and improved slab allocator can do *proper* poisoning, with pretty accurate out-of-bounds and use-after-free detection. vm_page_t has also been restructured; its flags and order are now combined into one atomic field.
31 lines
649 B
C
31 lines
649 B
C
/* Copyright (C) 2021 fef <owo@fef.moe>. All rights reserved. */
|
|
|
|
#include <gay/irq.h>
|
|
#include <gay/mm.h>
|
|
#include <gay/sched.h>
|
|
|
|
/**
|
|
* @brief Main kernel entry point.
|
|
*
|
|
* This is the first truly architecture independent code that will be executed.
|
|
* It bootstraps the entire kernel core and drivers, and when done, spawns the
|
|
* init daemon.
|
|
* The arguments passed to this function are the kernel command line,
|
|
* as obtained by the bootloader.
|
|
*
|
|
* (that is, when it's finished at some point lmao)
|
|
*/
|
|
int main(int argc, char *argv[])
|
|
{
|
|
int err;
|
|
|
|
kmalloc_init();
|
|
|
|
irq_init();
|
|
|
|
err = sched_init();
|
|
if (err)
|
|
return err;
|
|
|
|
return 0;
|
|
}
|