On 29/07/15 06:42, Takumi Shimada wrote:
Hi all,
I am also interested in running rump kernel to use NetBSD drivers.
I plan to run rump kernel on the bare metal ARM board and use network
driver.
I wonder how to configure hardware information (e.g. like Linux's
DeviceTree) and how to implement hypcalls.
I have downloaded rumprun, frankenlibc and genode. But I cannot understand
how to implement hardware specific parts for rump kernel.
Could you explain what should I do for running drivers or tell me good
examples which implement hardware specific parts?
I can't give a generic answer to how that should be done. Can you
disclose which particular ARM board, network chip and bus you are
talking about?
The device drivers themselves are regular NetBSD device drivers, the
question is rather how to attach the bus to the hardware on rumprun.
For some indication, you can study how the PCI support for x86. The
hypercalls are in the platform/{hw,xen}/pci directories. However,
there's of course a lot of underlying work that you don't see by just
looking at the hypercall implementation.
I have been planning to add support for Raspberry Pi to rumprun for a
while now, never just got around to doing it. I'm not set on that
board, though, also listening to suggestions (and accepting shipments of
the hardware for said suggestions ;)