if((we & bit))
if(m->attr == attr)
if(offset >= m->ca && e <= m->cea){
-
m->ref++;
unlock(&pp->mlock);
return m;
/* if isa space isn't big enough, free it and get more */
if(m->len < len){
- if(m->isa){
+ if(m->len){
umbfree(m->isa, m->len);
m->len = 0;
}
- m->isa = PADDR(umbmalloc(0, len, Mgran));
- if(m->isa == 0){
+ m->isa = umballoc(-1, len, Mgran);
+ if(m->isa == -1){
+ m->isa = 0;
print("pcmmap: out of isa space\n");
unlock(&pp->mlock);
return 0;
/* set vpp on card */
if(strncmp(buf, "vpp", 3) == 0)
- wrreg(pp, Rpc, vcode(atoi(buf+3))|Fautopower|Foutena|Fcardena);
+ wrreg(pp, Rpc, vcode(strtol(buf+3, 0, 0))|Fautopower|Foutena|Fcardena);
return n;
case Qmem:
case Qattr: