plan 9 kernel history: overview | file list | diff list

2002/0405/pc/vgavmware.c (diff list | history)

2002/0404/sys/src/9/pc/vgavmware.c:157,1632002/0405/sys/src/9/pc/vgavmware.c:157,162 (short | long | prev | next)
2001/0822    
	oapsize = scr->apsize; 
	wasupamem = scr->isupamem; 
 
2002/0404    
iprint("osize %d oaperture %.8lux oapsize %d wasupamem %d\n", osize, oaperture, oapsize, wasupamem); 
2001/0822    
	p = pcimatch(nil, PCIVMWARE, 0); 
	if(p == nil) 
		error("no vmware card found"); 
2002/0404/sys/src/9/pc/vgavmware.c:189,2002002/0405/sys/src/9/pc/vgavmware.c:188,195
2001/0822    
		if(wasupamem && upamalloc(oaperture, oapsize, 0)) 
			scr->isupamem = 1; 
	}else 
2002/0404    
{ 
memset((void*)KADDR(aperture), 0x7F, 1048576); 
2001/0822    
		scr->isupamem = 1; 
2002/0404    
} 
2001/0822    
 
2002/0404    
iprint("aperture %lux size %lux\n", aperture, *size); 
2001/0908    
	if(oaperture && aperture != oaperture) 
2001/0822    
		print("warning (BUG): redefinition of aperture does not change vmwarescreen segment\n"); 
2001/0908    
	addvgaseg("vmwarescreen", aperture, osize); 
2002/0404/sys/src/9/pc/vgavmware.c:306,3192002/0405/sys/src/9/pc/vgavmware.c:301,313
2002/0404    
{ 
	if(vm->mmio == nil) 
		return 0; 
	vmfifowr(vm, Xrectropcopy); 
	vmfifowr(vm, r.max.x); 
	vmfifowr(vm, r.max.y); 
2002/0405    
	vmfifowr(vm, Xrectcopy); 
	vmfifowr(vm, sr.min.x); 
	vmfifowr(vm, sr.min.y); 
2002/0404    
	vmfifowr(vm, r.min.x); 
	vmfifowr(vm, r.min.y); 
	vmfifowr(vm, sr.min.x - r.min.x); 
	vmfifowr(vm, sr.min.y - r.min.y); 
	vmfifowr(vm, 3);	/* code for copy */ 
2002/0405    
	vmfifowr(vm, Dx(r)); 
	vmfifowr(vm, Dy(r)); 
2002/0404    
	vmwait(vm); 
	return 1; 
} 
2002/0404/sys/src/9/pc/vgavmware.c:338,3552002/0405/sys/src/9/pc/vgavmware.c:332,343
2001/0822    
{ 
2002/0404    
	ulong mmiobase, mmiosize; 
 
extern int iprintscreenputs; 
	iprintscreenputs = 0; 
                 
	if(scr->mmio==nil){ 
		mmiobase = vmrd(vm, Rmemstart); 
		if(mmiobase == 0){ 
			iprint("mmiobase 0\n"); 
2002/0405    
		if(mmiobase == 0) 
2002/0404    
			return; 
		} 
		mmiosize = vmrd(vm, Rmemsize); 
		scr->mmio = KADDR(upamalloc(mmiobase, mmiosize, 0)); 
iprint("mmio %p\n", scr->mmio); 
		vm->mmio = scr->mmio; 
		vm->mmiosize = mmiosize; 
		if(scr->mmio == nil) 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)