Hi all,

Recently, Sakura VPS 980, which is a KVM-based VPS service, has been
launched in Japan.
I tried to install Plan 9 on it, and now Plan 9 is working!!

    http://vps.sakura.ad.jp/ (Sorry, only in Japanese)
    http://yfrog.com/ncwj6p (screen shot)

I found 2 problems of the etherigbe driver in the process.  Note that
these problems are caused by
the e1000 driver of the QEMU 0.11 and earlier.

1) etherigbe cannot read EEPROM properly.  This bug is fixed on the QEMU 0.12.
Unfortunately Sakura VPS 980 may use the QEMU 0.11.x, and we cannot
change the version.
    https://bugs.launchpad.net/qemu/+bug/581737

2) etherigbe get the cache line size of 0.  I fixed the value to 32 bytes.
I am not sure my workaound is appropriate.

My patch is here:
term% diff -c etherigbe.c.orig etherigbe.c
etherigbe.c.orig:1680,1686 - etherigbe.c:1680,1686
                }
                break;
        }
-       snprint(rop, sizeof(rop), "S :%dDCc;", bits+3);
+       snprint(rop, sizeof(rop), "CcS :%dDCc;", bits+3);

        for(addr = 0; addr < 0x40; addr++){
                /*
etherigbe.c.orig:1953,1959 - etherigbe.c:1953,1961
                                break;
                        case 0x00:
                        case 0xFF:
-                               print("igbe: unusable CLS - %d\n", cls*4);
+ #define CACHELINESZ 32
+                               cls = CACHELINESZ / sizeof(long);
+                               pcicfgw8(p, PciCLS, cls);
                                break;
                        case 0x08:
                        case 0x10:


I hope to share this information with others who want to install Plan
9 on the QEMU.

Thanks,
Ryousei

Reply via email to