View Single Post
  #4   (View Single Post)  
Old 24th January 2013
jggimi's Avatar
jggimi jggimi is offline
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,977
Default

Quote:
...the 5.2 install disk and it also had the mem conflict message...
Then patch 1.96 cannot be the root cause. That's a -current patch. 5.2-release is at patch level 1.94. As is 5.1 -- there was no change to this module between 5.1 and 5.2. However, because 5.0 does not produce the message and is at 1.93, the patch that causes the message must be 1.94. Logic works.

The CVS log entry for 1.94 states:
Code:
Introduce pci_probe_device_hook(pci_chipset_tag_t, struct pci_attach_args *).
This mandatory function will get invoked in pci_probe_device(), and allows
a pci host driver to alter the pci_attach_args passed to a device when
attaching.

This function will also, if returning non-zero, cause the device to be
skipped completely during all the phases of the PCI device discovery
(i.e. ressource enumeration, ressource assignment, and actual attachment).
This particular feature is experimental and might be reverted in the future
(or the scope narrowed to device attachment only).

A dummy #define pci_probe_device_hook() 0 is added to all platforms except
sgi, where real functions (currently only returning 0) are added; real meat
will be added shortly.
The patch is very small, and adds a single probe hook at bus attachment time:
Code:
--- src/sys/dev/pci/pci.c    2011/06/12 12:13:28    1.93
+++ src/sys/dev/pci/pci.c    2011/10/10 20:42:37    1.94
@@ -1,4 +1,4 @@
-/*    $OpenBSD: pci.c,v 1.93 2011/06/12 11:13:28 kettenis Exp $    */
+/*    $OpenBSD: pci.c,v 1.94 2011/10/10 19:42:37 miod Exp $    */
 /*    $NetBSD: pci.c,v 1.31 1997/06/06 23:48:04 thorpej Exp $    */
 
 /*
@@ -461,6 +461,13 @@ pci_probe_device(struct pci_softc *sc, pcitag_t tag,
                 pa.pa_flags |= PCI_FLAGS_MSI_ENABLED;
         }
     }
+
+    /*
+     * Give the MD code a chance to alter pci_attach_args and/or
+     * skip devices.
+     */
+    if (pci_probe_device_hook(pc, &pa) != 0)
+        return (0);
 
     if (match != NULL) {
         ret = (*match)(&pa);
I'm not a device driver programmer, nor am I cluefull about PCI buses. But this 15-month old driver revision is why you get the message.

If in a few days there are no further posts in misc@ in response to your query, you might contact the developer who commited 1.94 -- Miod Vallet (miod@), and politely ask his advice. He might recommend ignoring the messages - or he might ask you to participate in further testing by applying test patches, building kernels, and testing them with your hardware. Or, he might recommend repairing/replacing your hardware.

The second possibility -- kernel testing -- is very common when users contact developers over specific hardware issues. If you've never used cvs(1) or built a kernel from source, it would be an invaluable learning experience for you, as OpenBSD is source-code maintained using cvs(1) and unified diff(1) patches.

Last edited by jggimi; 24th January 2013 at 02:58 AM. Reason: typo, clarity
Reply With Quote