Hi Masanobu and hi all! After the discussion on this thread, http://mail-index.netbsd.org/netbsd-users/2017/02/01/msg019280.html
I'm trying to apply this patch http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pci/ppb.c.diff?r1=1.35&r2=1.36 to NetBSD. The current version of OpenBSD kernel ppb.c file (which works in my laptop, where I tried to temporarily install OpenBSD) has some more lines and is based on the rev. 1.40. I write to you because you made much of the last commits on the NetBSD ppb.c sourcefile; I write also to the list, to let the community know these updates. OpenBSD code is based upon the following members of the `struct pci_attach_args': struct extent *pa_ioex; struct extent *pa_memex; They must be added to the NetBSD code, and then correctly handled. The extent(9) manpages both in NetBSD and in OpenBSDare both too much concise. These pages https://www.netbsd.org/docs/internals/en/ https://www.netbsd.org/docs/kernel/ don't mention nor pci neither extents. So, a couple of questions: 1) What are the extent(9) used for? They were born in NetBSD (as it is even stated in the OpenBSD manpage). After a quick discussion on #netbsd-code with coypu, they seem to be related to address spaces. If there is some guide like this one http://www.unixag-kl.fh-kl.de/~jkunz/projekte/NetBSD-driver_writing-1.0.1e.pdf.gz but for extents(9) and memory, please let me know. 2) About these lines (that are both in NetBSD and in OpenBSD): static int ppbmatch(device_t parent, cfdata_t match, void *aux) { struct pci_attach_args *pa = aux; driver(9) explicitly states that "The match function would type-cast the aux argument to its appropriate attachment structure and use its contents to determine whether it supports the device". But who initially fills the `aux' data? Whoever he is, he should then take care about some new members, like `pa_ioex' and `pa_memex'. Thank you for having read, Rocky