aux/vga ccru/ccrb parsing

This commit is contained in:
taruti 2011-06-02 21:27:41 +00:00
parent 64f14cc6a4
commit 8e388a7037
4 changed files with 6 additions and 5 deletions

View file

@ -142,7 +142,7 @@ dbpci(Vga *vga, Ndbtuple *tuple)
else if((did=atoi(td->val)) == 0) else if((did=atoi(td->val)) == 0)
continue; continue;
for(pci=nil; pci=pcimatch(pci, vid, did);) for(pci=nil; pci=pcimatch(pci, vid, did);)
if((pci->ccru>>8) == 3) if(pci->ccrb == 3)
break; break;
if(pci == nil) if(pci == nil)
continue; continue;

View file

@ -138,7 +138,7 @@ snarf(Vga* vga, Ctlr* ctlr)
p = nil; p = nil;
while((p = pcimatch(p, 0x10DE, 0)) != nil){ while((p = pcimatch(p, 0x10DE, 0)) != nil){
if((p->ccru>>8) == 3) if(p->ccrb == 3)
break; break;
} }
if(p == nil) if(p == nil)
@ -400,7 +400,6 @@ options(Vga*, Ctlr* ctlr)
ctlr->flag |= Hlinear|Foptions; ctlr->flag |= Hlinear|Foptions;
} }
static void static void
clock(Vga* vga, Ctlr* ctlr) clock(Vga* vga, Ctlr* ctlr)
{ {

View file

@ -55,7 +55,8 @@ pcicfginit(void)
buf[j] = 0; buf[j] = 0;
close(fd); close(fd);
p->ccru = strtol(buf + 0, nil, 16) << 8; p->ccrb = strtol(buf, nil, 16);
p->ccru = strtol(buf + 3, nil, 16);
p->vid = strtol(buf + 9, &s, 16); p->vid = strtol(buf + 9, &s, 16);
p->did = strtol(s + 1, &s, 16); p->did = strtol(s + 1, &s, 16);
p->intl = strtol(s + 1, &s, 10); p->intl = strtol(s + 1, &s, 10);

View file

@ -97,7 +97,8 @@ typedef struct Pcidev {
} mem[6]; } mem[6];
uchar intl; /* interrupt line */ uchar intl; /* interrupt line */
ushort ccru; uchar ccru;
uchar ccrb;
Pcidev* list; Pcidev* list;
int rawfd; int rawfd;