Rewrite the lunabuild toolchain with enhanced feature (#60)
[lunaix-os.git] / lunaix-os / hal / LConfig
index 9a70d02d05337371993496b90112bb44ec22f9e8..5b6a86f72b52c7bcc969b5641bae967009fa0109 100644 (file)
@@ -1,13 +1,11 @@
-include("char")
-include("bus")
-include("ahci")
+from . import char, bus, ahci
 
 
-@Collection("Devices & Peripherials")
+@"Devices & Peripherials"
 def hal():
     """ Lunaix hardware asbtraction layer """
 
 def hal():
     """ Lunaix hardware asbtraction layer """
 
-    @Term("Devicetree for hardware discovery")
-    def use_devicetree():
+    @"Devicetree for hardware discovery"
+    def use_devicetree() -> bool:
         """
             Decide whether to use Devicetree for platform
             resource topology sensing.
         """
             Decide whether to use Devicetree for platform
             resource topology sensing.
@@ -18,18 +16,23 @@ def hal():
             devicetree might be mandatory and perhaps the only
             way.
         """
             devicetree might be mandatory and perhaps the only
             way.
         """
+        require (not arch_x86)
 
 
-        type(bool)
-        default(not v(arch).startswith("x86"))
+        return False
 
 
-    @ReadOnly
-    @Term("Maximum size of device tree blob (in KiB)")
-    def dtb_maxsize():
+    @"Maximum size of device tree blob (in KiB)"
+    @readonly
+    def dtb_maxsize() -> int:
         """
             Maximum size for a firmware provided device tree blob
         """
         """
             Maximum size for a firmware provided device tree blob
         """
+        require (use_devicetree)
 
 
-        type(int)
-        default(256)
-
-        return v(use_devicetree)
\ No newline at end of file
+        return 256
+    
+    @"Graphic Devices"
+    def use_graphic_dev() -> int:
+        """
+            Support of graphical devices and display protocol
+        """
+        return False
\ No newline at end of file