Framework for exporting system header to user space (#59)
[lunaix-os.git] / lunaix-os / LConfig
index fef122188449c0736e5c46540d2efa1b549d2ea4..0e27e4e4e88ac716d243f9deb1fb313f12f6754b 100644 (file)
@@ -1,10 +1,11 @@
 import time
 import time
+from datetime import datetime, date
 
 include("kernel")
 include("arch")
 include("hal")
 
 
 include("kernel")
 include("arch")
 include("hal")
 
-@Term("Version")
+@Term("Kernel Version")
 @ReadOnly
 def lunaix_ver():
     """
 @ReadOnly
 def lunaix_ver():
     """
@@ -13,10 +14,14 @@ def lunaix_ver():
 
     type(str)
     
 
     type(str)
     
-    seq_num = int(time.time() / 3600)
-    default("%s dev-2024_%d"%(v(arch), seq_num))
+    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
+@Collection("Kernel Debug and Testing")
 def debug_and_testing():
     """
     General settings for kernel debugging feature
 def debug_and_testing():
     """
     General settings for kernel debugging feature
@@ -30,4 +35,39 @@ def debug_and_testing():
               extermly unstable
         """
         type(bool)
               extermly unstable
         """
         type(bool)
-        default(False)
\ No newline at end of file
+        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)
\ No newline at end of file