Dear Developers,

I have been trying to mount ssd and hard disk in l4linux. There are some similiar questions in previous archives, and I have done the following things according to them:
  • configure 'devs' file and 'io' file, add sata to vbus
  • enable PCI support
  • enable vPCI driver
  • enable AHCI driver
But when I ran l4linux in hardware, I still couldn't find sata in pci bus, nor could I found my devices under /dev. Does anyone have some suggestions? Or maybe there are something wrong in my device configuration, please let me know if so.

Thanks a lot.

x86-legacy.devs =================
local Res = Io.Res
local Hw = Io.Hw

Io.hw_add_devices(function()
  SATA = Hw.Device(function()
        Property.hid = "SATA";
        Resource.iop1 = Res.io(0x1f0, 0x1f7);
        Resource.iop2 = Res.io(0x3f6, 0x3f7);
        Resource.irq = Res.irq(14);
  end);
end)

l4lx-x86.io ====================
local hw = Io.system_bus()

Io.add_vbusses
{
  l4linux = Io.Vi.System_bus
  {
    -- Add a new virtual PCI root bridge
    PCI0 = Io.Vi.PCI_bus
    {
          pci_sata = wrap(hw:match("SATA"));
    };
  };
}

l4lx.cfg ======================
local L4 = require("L4");

loader = L4.default_loader;

vbus_l4linux = loader:new_channel();
vbus_input       = loader:new_channel();

loader:start(
        {
                caps = {
                        sigma0  = L4.cast(L4.Proto.Factory, L4.Env.sigma0):create(L4.Proto.Sigma0);
                        icu             = L4.Env.icu;
                        l4linux = vbus_l4linux:svr();
                },
                log = {"IO", "y"},
                l4re_dbg = L4.Dbg.Warn,
        }, "rom/io rom/x86-legacy.devs rom/l4lx-x86.io");

loader:start(
        {
                caps = {
                vbus = vbus_l4linux;
                },
                log = L4.Env.log:m("rws"),
        },

    "rom/vmlinuz mem=1024M console=ttyLv0 earlyprintk=1 l4x_rd=rom/ramdisk-256m.rd root=1:0 ramdisk_size=268435456");