-- vim:set ft=lua: local L4 = require("L4"); local l = L4.default_loader; -- start console server local cons = l:new_channel(); l:start({ caps = { cons = cons:svr(); }, log = L4.Env.log }, "rom/cons -a"); l.log_fab = cons:svr(); -- start io server local rtc_vbus = l:new_channel(); l:start({ caps = { rtc_vbus = rtc_vbus:svr(), icu = L4.Env.icu, iommu = L4.Env.iommu, sigma0 = L4.Env.sigma0, }, log = { "IO", "y" }, l4re_dbg = L4.Dbg.Warn, }, "rom/io rom/rtc.io"); local rtc_caps = { vbus = rtc_vbus; rtc = l:new_channel():svr(); }; l:startv({caps = rtc_caps, log = {"rtc", "c"}}, "rom/rtc"); local flags = L4.Mem_alloc_flags.Continuous | L4.Mem_alloc_flags.Pinned | L4.Mem_alloc_flags.Super_pages; local align = 28; l:startv({ caps = { ram = L4.Env.user_factory:create(L4.Proto.Dataspace, 256 * 1024 * 1024, flags, align):m("rw"), rtc = rtc_caps.rtc, }, log = { "vm", "Blue" }, }, "rom/uvmm", "-v", "-krom/linux", "-rrom/ramdisk-" .. L4.Info.arch() .. ".rd", "-drom/virt-pc.dtb", "-cconsole=ttyS0 ramdisk_size=10000 root=/dev/ram0 rw");