X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/270869139db617e29a35bb9ded41087bb702f9ac..5b211a176c805745d48517eff99c4dd651f2da75:/lunaix-os/LConfig diff --git a/lunaix-os/LConfig b/lunaix-os/LConfig index 36be155..65cfb07 100644 --- a/lunaix-os/LConfig +++ b/lunaix-os/LConfig @@ -1,68 +1,68 @@ -import time +from datetime import datetime, date -include("kernel") -include("arch") -include("hal") +from . import kernel, arch, hal -@Term("Version") -@ReadOnly -def lunaix_ver(): +@native +def get_patch_seq(): + today = date.today() + year = today.year + start_of_year = datetime(year, 1, 1).date() + seq_num = (today - start_of_year).days + + return "%d%d"%(year - 2000, seq_num) + +@"Kernel Version" +@readonly +def lunaix_ver() -> str: """ Lunaix kernel version """ - - type(str) - seq_num = int(time.time() / 3600) - default("%s dev-2024_%d"%(v(arch), seq_num)) + return f"{arch.val} v0.0.{get_patch_seq()}" -@Collection +@"Kernel Debug and Testing" def debug_and_testing(): """ General settings for kernel debugging feature """ - @Term("Supress assertion") - def no_assert(): + @"Supress assertion" + def no_assert() -> bool: """ Supress all assertion fail activity. Note: Enable this is highly NOT recommended and would result system extermly unstable """ - type(bool) - default(False) - @Term("Report on stalled thread") - def check_stall(): + return False + + @"Report on stalled thread" + def check_stall() -> bool: """ Check and report on any thread that spend too much time in kernel. """ - type(bool) - default(True) + return True - @Term("Max kernel time allowance") - def stall_timeout(): + @"Max kernel time allowance" + def stall_timeout() -> int: """ Set the maximum time (in seconds) spent in kernel before considered to be stalled. """ + require (check_stall) - type(int) - default(10) - - return v(check_stall) + return 10 - @Term("Max number of preemptions") - def stall_max_preempts(): + @"Max number of preemptions" + def stall_max_preempts() -> int: """ Set the maximum number of preemptions that a task can take before it is considered to be stucked in some loops. Setting it to 0 disable this check """ + require (check_stall) - type(int) - default(0) + return 0 - return v(check_stall) \ No newline at end of file