1 #include <u.h> 2 #include <libc.h> 3 #include <bio.h> 4 5 #include "pci.h" 6 #include "vga.h" 7 8 int cflag; /* do not use hwgc */ 9 int dflag; /* do the palette */ 10 11 Ctlr* ctlrs[] = { 12 &ark2000pv, /* ctlr */ 13 &ark2000pvhwgc, /* hwgc */ 14 &att20c490, /* ramdac */ 15 &att20c491, /* ramdac */ 16 &att20c492, /* ramdac */ 17 &att21c498, /* ramdac */ 18 &bt485, /* ramdac */ 19 &bt485hwgc, /* hwgc */ 20 &ch9294, /* clock */ 21 &clgd542x, /* ctlr */ 22 &clgd542xhwgc, /* hwgc */ 23 &clgd546x, /* ctlr */ 24 &clgd546xhwgc, /* hwgc */ 25 &ct65540, /* ctlr */ 26 &ct65545, /* ctlr */ 27 &ct65545hwgc, /* hwgc */ 28 &cyber938x, /* ctlr */ 29 &cyber938xhwgc, /* hwgc */ 30 &et4000, /* ctlr */ 31 &et4000hwgc, /* hwgc */ 32 &generic, /* ctlr */ 33 &hiqvideo, /* ctlr */ 34 &hiqvideohwgc, /* hwgc */ 35 &i81x, /* ctlr */ 36 &i81xhwgc, /* hwgc */ 37 &ibm8514, /* ctlr */ 38 &icd2061a, /* clock */ 39 &ics2494, /* clock */ 40 &ics2494a, /* clock */ 41 &ics534x, /* gendac */ 42 &mach32, /* ctlr */ 43 &mach64, /* ctlr */ 44 &mach64xx, /* ctlr */ 45 &mach64xxhwgc, /* hwgc */ 46 &mga2164w, /* ctlr */ 47 &mga2164whwgc, /* hwgc */ 48 &neomagic, /* ctlr */ 49 &neomagichwgc, /* hwgc */ 50 &nvidia, /* ctlr */ 51 &nvidiahwgc, /* hwgc */ 52 &radeon, /* ctlr */ 53 &radeonhwgc, /* hwgc */ 54 &palette, /* ctlr */ 55 &rgb524, /* ramdac */ 56 &rgb524hwgc, /* hwgc */ 57 &rgb524mn, /* ramdac */ 58 &s3801, /* ctlr */ 59 &s3805, /* ctlr */ 60 &s3928, /* ctlr */ 61 &s3clock, /* clock */ 62 &s3hwgc, /* hwgc */ 63 &sc15025, /* ramdac */ 64 &softhwgc, /* hwgc */ 65 &stg1702, /* ramdac */ 66 &t2r4, /* ctlr */ 67 &t2r4hwgc, /* hwgc */ 68 &tdfx, /* ctlr */ 69 &tdfxhwgc, /* hwgc */ 70 &trio64, /* ctlr */ 71 &tvp3020, /* ramdac */ 72 &tvp3020hwgc, /* hwgc */ 73 &tvp3025, /* ramdac */ 74 &tvp3025clock, /* clock */ 75 &tvp3026, /* ramdac */ 76 &tvp3026clock, /* clock */ 77 &tvp3026hwgc, /* hwgc */ 78 &vesa, /* ctlr */ 79 &virge, /* ctlr */ 80 &vision864, /* ctlr */ 81 &vision964, /* ctlr */ 82 &vision968, /* ctlr */ 83 &vmware, /* ctlr */ 84 &vmwarehwgc, /* hwgc */ 85 &w30c516, /* ctlr */ 86 &mga4xx, 87 &mga4xxhwgc, 88 0, 89 }; 90 91 /* 92 * Lower 2-bits of indirect DAC register 93 * addressing. 94 */ 95 ushort dacxreg[4] = { 96 PaddrW, Pdata, Pixmask, PaddrR 97 }; 98