Re: Using rump kernel to provide drivers?

  • From: Antti Kantee <pooka@xxxxxx>
  • To: rumpkernel-users@xxxxxxxxxxxxx
  • Date: Wed, 29 Jul 2015 12:59:15 +0000

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 ;)

Other related posts: