Hi,
Am Dienstag, den 28.03.2017, 15:57 +0200 schrieb Christian Helmuth:
Hey Phillip,
I assume Sebastian will not mind if I give a small hint according to item 3 on the list. ;-)
On Tue, Mar 28, 2017 at 03:43:48PM +0200, Sebastian Sumpf wrote:
- Find and map the PCI I/O memory resource of the controller
Have a look at os/run/pci.run and os/src/test/pci/test.cc to convince the platform_drv to hand out PCI devices to your driver component.
Thanks - copying the policy from pci.run did help quite a bit :-)
You can now review the code at https://github.com/pkerling/genode/commit/4130907 I have to admit that it's mostly copypaste from the AHCI driver. I tested it successfully with both base-hw and NOVA. My output is:
$ make run/nvme_test [...] Genode 17.02-148-g41309074e <local changes> 58 MiB RAM assigned to init [...] [init -> nvme_drv] NVMe demo [init -> nvme_drv] NVMe found (vendor: 0x8086 device: 0x5845 class: 0x10802) [init -> nvme_drv] BAR0: 0xfebf0000, size: 0x2000 [init -> nvme_drv] Controller supports NVMe version 1.1.0 [init -> nvme_drv] Memory pages from 4096 to 65536 bytes supported [init -> nvme_drv] 2048 maximum entries per queue [init -> nvme_drv] --- NVMe demo finished ---
Regards, Philipp