On Sat Sep  4 22:56:22 EDT 2010, bruce.el...@gmail.com wrote:
> i came across this the other day - i thought i'd finally found a
> machine for which P9 supports nothing.
> 
> in fact i beat you - no PCI devices at all.
> 
> any help appreciated. it boots any flavour of windows. new HP Pav quadcore.

9atom has this change to 9load.  this fixed up a funky
motherboard with ipmi.

pci.c:528,535 - /n/sources/plan9/sys/src/boot/pc/pci.c:514,520
         * according to the spec.
         */
        n = inl(PciADDR);
- 
-       if(!(n & 0x7f000003)){
+       if(!(n & 0x7FF00000)){
                outl(PciADDR, 0x80000000);
                outb(PciADDR+3, 0);
                if(inl(PciADDR) & 0x80000000){

perhaps this will help.  if not the value of n would
be interesting.

in the same vein, i've got several machines in the lab
that have pci busses >= 64.  this change was all that
was required (and setting *pcimaxbno in the .ini
file for the kernel)

pci.c:37,43 - /n/sources/plan9/sys/src/boot/pc//pci.c:36,42
  
  static Lock pcicfglock;
  static Lock pcicfginitlock;
  static int pcicfgmode = -1;
- static int pcimaxbno = 255;
+ static int pcimaxbno = 7;
  static int pcimaxdno;
  static Pcidev* pciroot;
  static Pcidev* pcilist;

i'm tempted to set maxbno to 255 in the kernel as well, but
i don't think i understand why it was set to less than 255
in the first place.  if this is just a speedup, i'd be tempted.
anyone with first-hand knowledge?

- erik

Reply via email to