1 -- vim:set ft=lua: 2 3 local L4 = require("L4"); 4 5 local l = L4.default_loader; 6 7 local io_buses = 8 { 9 common = l:new_channel(); 10 }; 11 12 l:start({ 13 caps = { 14 common = io_buses.common:svr(), 15 icu = L4.Env.icu, 16 sigma0 = L4.cast(L4.Proto.Factory, L4.Env.sigma0):create(L4.Proto.Sigma0), 17 }, 18 log = { "IO", "y" }, 19 l4re_dbg = L4.Dbg.Warn, 20 }, 21 "rom/io rom/hw_devices.io rom/mips-x1600-msc-block.io"); 22 23 local block_server = l:new_channel(); 24 25 l:startv({ 26 caps = { 27 fsserver = block_server:svr(), 28 jdb = L4.Env.jdb, -- to set the server name 29 icu = L4.Env.icu, 30 vbus = io_buses.common, 31 }, 32 log = { "server", "r" }, 33 }, 34 -- arguments: MSC channel/device, DMA channel, card index, memory pages 35 "rom/msc_block_server", "0", "0", "0", "10"); 36 37 l:startv({ 38 caps = { 39 fsserver = block_server, 40 }, 41 log = { "client", "g" }, 42 }, 43 -- arguments: partition number 44 "rom/msc_block_client", "1");