component("mem_mgmt") {
    parent      "nu.os.arch.arm.process"
    version     "1.0.0"
    description "This component implements the ARM architecture specific relocation functionality"
    enable      false

    architecture "arm"

    requires("nu.os.kern.process.mem_mgmt")

    option("avg_l2_count"){
        default     16
        values      1..4096
        description "The average amount of level 2 tables a process will need access to.  A level 2 table maps 1 MB of space.  The process will have the kernel mapped along with itself and any shared processes that it accesses.  A process can exceed the average address space, when many processes exceed the average number and level 2 tables run out new processes will fail to load."
    }

    library("nucleus.lib") {
        sources { Dir.glob("*.c") }
    }
}
