[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: pci-arbiter + rumpdisk
From: |
Samuel Thibault |
Subject: |
Re: pci-arbiter + rumpdisk |
Date: |
Sat, 14 Nov 2020 11:14:46 +0100 |
User-agent: |
NeoMutt/20170609 (1.8.3) |
Damien Zammit, le sam. 14 nov. 2020 17:59:30 +1100, a ecrit:
> > youpi: pci-arbiter could be exposed as a device name in the master device
> > port and the userland pci-arbiter running on /server/bus/pci can try to
> > open that
> > youpi: just like netdde tries to open eth0 to check whether there are
> > already device drivers in gnumach, in which case it shouldn't handle
> > network cards
> > youpi: in the end, when we know for sure that pci-arbiter is run as a
> > bootstrap translator, we can make /server/bus/pci a mere device node
>
> How do i make a bootstrap translator such as pci-arbiter expose a device name
> in the master device port?
By registering it with machdev_register, like you already did for
rumpdisk. The idea is that the "master device port" that applications
see is just a chain of master. Applications get it from the / ext2fs,
but ext2fs got it from rumpdisk, whose ds_device_open catchs device_open
calls on wd*, and otherwise calls device_open on its own master port,
gotten from the previous translator in the bootstrap chain, which will
now be pci-arbiter, which itself will catch device_open calls on pci,
and otherwise calls device_open on its own master port, gotten from the
kernel.
Samuel