import time include("kernel") include("arch") include("hal") @Term("Version") @ReadOnly def lunaix_ver(): """ Lunaix kernel version """ type(str) seq_num = int(time.time() / 3600) default("%s dev-2024_%d"%(v(arch), seq_num)) @Collection def debug_and_testing(): """ General settings for kernel debugging feature """ @Term("Supress assertion") def no_assert(): """ 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(): """ Check and report on any thread that spend too much time in kernel. """ type(bool) default(True) @Term("Max kernel time allowance") def stall_timeout(): """ Set the maximum time (in seconds) spent in kernel before considered to be stalled. """ type(int) default(10) return v(check_stall) @Term("Max number of preemptions") def stall_max_preempts(): """ 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 """ type(int) default(0) return v(check_stall)