Genode Packages collection https://git.sr.ht/~ehmry/genodepkgs/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

graphical-log.dhall 3.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. let Genode = env:DHALL_GENODE
  2. let Prelude = Genode.Prelude
  3. let XML = Prelude.XML
  4. let Init = Genode.Init
  5. let Child = Init.Child
  6. let Resources = Init.Resources
  7. let ServiceRoute = Init.ServiceRoute
  8. let routeLogRom =
  9. λ(label : Text) → ServiceRoute.parentLabel "ROM" (Some "log") (Some label)
  10. in Init::{
  11. , verbose = True
  12. , routes =
  13. Prelude.List.map
  14. Text
  15. Init.ServiceRoute.Type
  16. Init.ServiceRoute.parent
  17. [ "Gui", "Rtc", "Timer" ]
  18. , children = toMap
  19. { gui_fb =
  20. Child.flat
  21. Child.Attributes::{
  22. , binary = "gui_fb"
  23. , config = Init.Config::{
  24. , attributes = toMap
  25. { initial_width = "600", initial_height = "600" }
  26. }
  27. , exitPropagate = True
  28. , provides = [ "Framebuffer", "Input" ]
  29. , resources = Resources::{ ram = Genode.units.MiB 8 }
  30. }
  31. , terminal =
  32. Child.flat
  33. Child.Attributes::{
  34. , binary = "terminal"
  35. , config = Init.Config::{
  36. , content =
  37. [ XML.element
  38. { name = "vfs"
  39. , attributes = XML.emptyAttributes
  40. , content =
  41. [ XML.element
  42. { name = "dir"
  43. , attributes = toMap { name = "fonts" }
  44. , content =
  45. [ XML.leaf
  46. { name = "fs"
  47. , attributes = toMap { label = "fonts" }
  48. }
  49. ]
  50. }
  51. ]
  52. }
  53. ]
  54. }
  55. , provides = [ "Terminal" ]
  56. , resources = Resources::{ caps = 256, ram = Genode.units.MiB 4 }
  57. , routes =
  58. [ ServiceRoute.child "Framebuffer" "gui_fb"
  59. , ServiceRoute.child "Input" "gui_fb"
  60. , ServiceRoute.parent "File_system"
  61. ]
  62. }
  63. , terminal_log =
  64. Child.flat
  65. Child.Attributes::{
  66. , binary = "terminal_log"
  67. , provides = [ "LOG" ]
  68. , routes = [ ServiceRoute.child "Terminal" "terminal" ]
  69. }
  70. , log_core =
  71. Child.flat
  72. Child.Attributes::{
  73. , binary = "log_core"
  74. , routes =
  75. [ routeLogRom "core_log"
  76. , ServiceRoute.childLabel
  77. "LOG"
  78. "terminal_log"
  79. (Some "log")
  80. (Some "core")
  81. ]
  82. }
  83. , log_kernel =
  84. Child.flat
  85. Child.Attributes::{
  86. , binary = "log_core"
  87. , routes =
  88. [ routeLogRom "kernel_log"
  89. , ServiceRoute.childLabel
  90. "LOG"
  91. "terminal_log"
  92. (Some "log")
  93. (Some "kernel")
  94. ]
  95. }
  96. }
  97. }