import time from datetime import datetime, date include("kernel") include("arch") include("hal") @Term("Kernel Version") @ReadOnly def lunaix_ver(): """ Lunaix kernel version """ type(str) today = date.today() year = today.year start_of_year = datetime(year, 1, 1).date() seq_num = (today - start_of_year).days default("%s v0.%d%d"%(v(arch), year - 2000, seq_num)) @Collection("Kernel Debug and Testing") 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)