Hi,

OpenBSD 5.0 fails to boot on older servers (generally Pentium III and
under) with the ServerWorks chipset.  MSI should not try to be used on
these.

I created the following patch.  The chipsets identified are educated
guesses based on Google search and sequence number, but there's not a
great way to cross reference and make sure all are included and the
PCI names don't match up to the marketing name.  Anyway, this is a
good enough start and should make people happy as their systems will
boot again.

Regards,
Kevin Bowling

*** pci_machdep.c-orig  2012-01-31 03:01:18.814973578 -0700
--- pci_machdep.c       2012-01-31 03:22:54.766124176 -0700
***************
*** 303,308 ****
--- 303,327 ----
                        break;
                }
                break;
+       case PCI_VENDOR_RCC:
+               /*
+                * Older ServerWorks chipsets don't support MSI
+                * TODO: x-reference and confirm all older chipsets listed
+                */
+               switch (PCI_PRODUCT(id)) {
+               case PCI_PRODUCT_RCC_CMIC_LE:
+               case PCI_PRODUCT_RCC_CNB20_LE:
+               case PCI_PRODUCT_RCC_CNB20HE_1:
+               case PCI_PRODUCT_RCC_CNB20_LE_2:
+               case PCI_PRODUCT_RCC_CNB20HE_2:
+               case PCI_PRODUCT_RCC_CNB20LE:
+               case PCI_PRODUCT_RCC_CIOB30:
+                       break;
+               default:
+                       pba->pba_flags |= PCI_FLAGS_MSI_ENABLED;
+                       break;
+               }
+               break;
        }

        /*

Reply via email to