tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Kernel code documentation and pci data structures (was: Problem with Intel WiFi card)
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
Home |
Main Index |
Thread Index |
Old Index