[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Running rump for the / filesystem
From: |
Damien Zammit |
Subject: |
Re: Running rump for the / filesystem |
Date: |
Fri, 10 Apr 2020 17:15:30 +1000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 |
Hi Samuel,
On 9/12/19 10:08 am, Samuel Thibault wrote:
> I have been thinking about how to get rump running for the / filesystem.
> ...
> I'm thinking that the same can be used for the rump translator,
> something like:
>
> module rump --fs-server-task='${fs-task}' '$(task-create)' '$(task-resume)'
> module ext2fs --exec-server-task='${exec-task}' '$(fs-task=task-create)'
> module exec '$(exec-task=task-create)'
>
> and we'd make rump's initialization use task_set_special_port to set
> the TASK_BOOTSTRAP_PORT special port of ext2fs to a send right to rump,
> and resume it. When ext2fs sees that this port is set, it would use it
> instead of the gnumach-provided _hurd_device_master port to open
> devices.
>
> And we can nest this yet more for the pci-arbiter:
>
> module pci-arbiter --disk-server-task='${disk-task}' '$(task-create)'
> '$(task-resume)'
> module rump --fs-server-task='${fs-task}' '$(disk-task=task-create)'
> module ext2fs --exec-server-task='${exec-task}' '$(fs-task=task-create)'
> module exec '$(exec-task=task-create)'
>
> and we'd make pci-arbiter's initialization use task_set_special_port
> to set the TASK_BOOTSTRAP_PORT special port of rump to a send right to
> pci-arbiter and resume it. When libpciaccess sees that this port is set,
> it would use it instead of looking up /server/bus/pci.
In my own words, the changes that are needed:
1. libpciaccess needs to check if pci-arbiter's task_bootstrap_port is set
and if it is, use it instead of /servers/bus/pci
2. pci-arbiter needs to call task_set_special_port on rump's TASK_BOOTSTRAP_PORT
if --disk-server-task flag is detected.
3. rumpdisk needs to call task_set_special_port on ext2fs's TASK_BOOTSTRAP_PORT
if --fs-server-task flag is detected.
4. ext2fs will just work in this configuration
I'm unsure if I have this correct.
Can you please elaborate on the above?
Thanks,
Damien
- Re: Running rump for the / filesystem,
Damien Zammit <=