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

2001/0123/pc/apm.c (diff list | history)

2001/0123/sys/src/9/pc/apm.c:64,822002/0109/sys/src/9/pc/apm.c:64,69 (short | long | prev)
Remove loadgdt after changing GDT. XXX Why?
rsc Fri Mar 4 12:44:25 2005
2000/1018    
			((base>>16)&0xFF) | SEGP | SEGPL(0) | flag; 
} 
 
static void 
loadgdt(void) 
{ 
	ulong x; 
	ushort ptr[3]; 
                 
	ptr[0] = sizeof(m->gdt); 
	x = (ulong)m->gdt; 
	ptr[1] = x & 0xFFFF; 
	ptr[2] = (x>>16) & 0xFFFF; 
	lgdt(ptr); 
} 
                 
static	ulong ax, cx, dx, di, ebx, esi; 
static Ureg apmu; 
static long 
2001/0123/sys/src/9/pc/apm.c:154,1602002/0109/sys/src/9/pc/apm.c:141,146
2000/1018    
	setgdt(APMCSEG, ax<<4, ((esi&0xFFFF)-1)&0xFFFF, SEGEXEC|SEGR|SEGD); 
	setgdt(APMCSEG16, cx<<4, ((esi>>16)-1)&0xFFFF, SEGEXEC|SEGR); 
	setgdt(APMDSEG, dx<<4, (di-1)&0xFFFF, SEGDATA|SEGW|SEGD); 
	loadgdt(); 
 
	addarchfile("apm", 0660, apmread, apmwrite); 
 


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