tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Kernel code documentation and pci data structures (was: Problem with Intel WiFi card)



Hi Masanobu and hi all!

> Sent: Tuesday, May 23, 2017 at 6:18 AM
> From: "Masanobu SAITOH" <msaitoh%execsw.org@localhost>
> To: "Rocky Hotas" <rockyhotas%post.com@localhost>, msaitoh%netbsd.org@localhost
> Cc: msaitoh%execsw.org@localhost, tech-kern%netbsd.org@localhost
> Subject: Re: Kernel code documentation and pci data structures (was: Problem with Intel WiFi card)
> 
>   It's one of the thing that I want to have it in our ppb.c.
> I'd like to add PCI(e) hot-plug stuff because of nvme(4)
> hot-plug. Reasons why I've not doing the work yet are that
> I'm now working another job(fixing bugs in ixg(4) and wm(4))
> and I'm not familiar with resource allocation near here :-(

I can understand you. Moreover, it is difficult as I was saying to
get documented about it.

> I think it's worth for you to
> read sys/dev/pci/pciconf.c

Thank you, I'll try.

> Did you check the PCI config area of ppb"1" on your machine?
> iwn0 is under ppb1.

Yes and it is not configured, as expected. The base/limit registers
of the "I/O", "Memory" and "Prefetchable memory" regions are
left configured, while instead the code in OpenBSD manages them.

> Could you show me the output of "pcictl pciN dump" of your ppb1?

You can find it here: https://pastebin.com/bkwXMuxX

> And, If you are OK, could you me the full output of pcictl
> using with the following script?
> 
> 	http://www.netbsd.org/~msaitoh/pcidump
> 

Yes, no problem. I had some issue to upload it, though.
These are two options:
1) http://www119.zippyshare.com/v/DUR50NZw/file.html
(It is a page from where the file can be downloaded: I tried and it
worked, but be careful: a pop-up or similar can be opened!)
2) https://www.sendspace.com/file/ddnvqd
(I tried here also, and it worked, without popups)

Both should expire after 30 days of no use.
For further information: I re-compiled the kernel today
(it is -current, version 7.99.73), with

options PCIVERBOSE
options PCI_CONFIG_DUMP
options MSGBUFSIZE=262144

and here is the content of `/var/run/dmesg.boot' about ppb1:

https://pastebin.com/zaACgZXf

(unfortunately the dmesg was not entirely recorded, despite the
huge MSGBUFSIZE, but the interesting part here has been saved).
In particular, notice that

    I/O region:
      base register:  0x00
      limit register: 0x00
    ...
    Memory region:
      base register:  0x0000
      limit register: 0x0000
    ....
    Prefetchable memory region:
      base register:  0x0001
      limit register: 0x0001

as anticipated.
If it can be useful, this is the dump of Configuration Space
in Linux of the same ppb:

https://pastebin.com/pFbcMWYp
(in human-readable form)

https://pastebin.com/d3xCKjCZ
(full, in hexadecimal)

In Linux, this WiFi card (and the associated ppb) works.
Sorry for my delay, it took a while to get all these files.
Thank you for your reply!

Rocky


>   Regards.
> 
> -- 
> -----------------------------------------------
>                  SAITOH Masanobu (msaitoh%execsw.org@localhost
>                                   msaitoh%netbsd.org@localhost)
> 


Home | Main Index | Thread Index | Old Index