1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/conf/landfall-examples/mips-jz4780-msc-block.cfg Sat Apr 27 23:46:28 2024 +0200
1.3 @@ -0,0 +1,87 @@
1.4 +-- vim:set ft=lua:
1.5 +
1.6 +local L4 = require("L4");
1.7 +
1.8 +local l = L4.default_loader;
1.9 +
1.10 +local io_buses =
1.11 + {
1.12 + common = l:new_channel();
1.13 + };
1.14 +
1.15 +l:start({
1.16 + caps = {
1.17 + common = io_buses.common:svr(),
1.18 + icu = L4.Env.icu,
1.19 + sigma0 = L4.cast(L4.Proto.Factory, L4.Env.sigma0):create(L4.Proto.Sigma0),
1.20 + },
1.21 + log = { "IO", "y" },
1.22 + l4re_dbg = L4.Dbg.Warn,
1.23 + },
1.24 + "rom/io rom/hw_devices.io rom/mips-jz4780-msc-block.io");
1.25 +
1.26 +local block_server = l:new_channel();
1.27 +
1.28 +l:startv({
1.29 + caps = {
1.30 + fsserver = block_server:svr(),
1.31 + jdb = L4.Env.jdb, -- to set the server name
1.32 + icu = L4.Env.icu,
1.33 + vbus = io_buses.common,
1.34 + },
1.35 + log = { "server", "r" },
1.36 + },
1.37 + -- arguments: machine, MSC channel/device, DMA channel, card index, memory pages
1.38 + "rom/msc_block_server", "jz4780", "0", "0", "0", "10");
1.39 +
1.40 +local pipe_server = l:new_channel();
1.41 +
1.42 +l:startv({
1.43 + caps = {
1.44 + pipeserver = pipe_server:svr(),
1.45 + jdb = L4.Env.jdb, -- to set the server name
1.46 + },
1.47 + log = { "pipes", "r" },
1.48 + },
1.49 + "rom/pipe_server", "10");
1.50 +
1.51 +local ext2server = l:new_channel();
1.52 +
1.53 +l:startv({
1.54 + caps = {
1.55 + blockserver = block_server,
1.56 + pipeserver = pipe_server,
1.57 + fsserver = ext2server:svr(),
1.58 + jdb = L4.Env.jdb, -- to set the server name
1.59 + },
1.60 + log = { "ext2svr", "y" },
1.61 + },
1.62 + "rom/ext2_server", "blockserver", "1", "20", "fsserver");
1.63 +
1.64 +-- Obtain user filesystems with umask 0022 (18).
1.65 +
1.66 +local open_for_user = 6;
1.67 +local ext2server_paulb = L4.cast(L4.Proto.Factory, ext2server):create(open_for_user, 1000, 1000, 18);
1.68 +
1.69 +local process_server = l:new_channel();
1.70 +
1.71 +l:startv({
1.72 + caps = {
1.73 + fsserver = ext2server_paulb,
1.74 + prserver = process_server:svr(),
1.75 + jdb = L4.Env.jdb, -- to set the server name
1.76 + },
1.77 + log = { "process", "y" },
1.78 + },
1.79 + "rom/process_server", "l4/exec_region_mapper");
1.80 +
1.81 +l:startv({
1.82 + log = L4.Env.log,
1.83 + caps = {
1.84 + fsserver = ext2server_paulb,
1.85 + pipeserver = pipe_server,
1.86 + prserver = process_server,
1.87 + },
1.88 + },
1.89 + -- program, options, operation involving a script file
1.90 + "rom/fsaccess", "-m", "0022", "script", "-");