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

1991/0626/pc/l.s (diff list | history)

1991/0625/sys/src/9/pc/l.s:1,251991/0626/sys/src/9/pc/l.s:1,39 (short | long | prev | next)
1991/0625    
#include "mem.h" 
1991/0614    
 
1991/0626    
/* 
 *  pointer to initial gdt (must be in first 64K of program) 
 */ 
1991/0625    
GLOBL	gdtptr(SB),$6 
 
	DATA	gdtptr+0(SB)/2, $(6*8) 
1991/0626    
	DATA	gdtptr+0(SB)/2, $(5*8) 
1991/0625    
	DATA	gdtptr+2(SB)/4, $gdt(SB) 
 
1991/0614    
/* 
1991/0626    
 *  pointer to idt (must be in first 64K of program) 
 */ 
GLOBL	idtptr(SB),$6 
 
	DATA	idtptr+0(SB)/2, $(6*8) 
	DATA	idtptr+2(SB)/4, $idt(SB) 
 
/* 
1991/0622    
 *  boot processor 
1991/0614    
 */ 
TEXT	start(SB),$0 
 
1991/0625    
	CLI			/* disable interrupts */ 
	MOVW	$NULLSEL,IDTR	/* force shutdown on error */ 
 
1991/0626    
	/* point CPU at the interrupt/trap table */ 
	LEAL	idtptr(SB),AX 
/*	MOVL	(AX),IDTR /**/ 
 
1991/0625    
	/* point data segment at low memory */ 
	XORL	AX,AX 
	MOVW	AX,DS 
1991/0626    
/*	MOVW	AX,DS /**/ 
1991/0625    
 
	/* load gdt address (valid after paging) */ 
1991/0626    
	/* point CPU at the interrupt/trap table */ 
1991/0625    
	LEAL	gdtptr(SB),AX 
	MOVL	-KZERO(AX),GDTR 
1991/0626    
/*	MOVL	(AX),GDTR /**/ 
1991/0625    
 
1991/0614    
	CALL	main(SB) 
	/* never returns */ 
1991/0625/sys/src/9/pc/l.s:132,1431991/0626/sys/src/9/pc/l.s:146,157
1991/0623    
 */ 
1991/0622    
alltrap: 
1991/0623    
 
1991/0625    
	PUSHL	DS 
1991/0626    
/*	PUSHL	DS	/**/ 
1991/0622    
	PUSHAL 
1991/0625    
	MOVL	$KDSEL, AX 
	MOVW	AX, DS 
1991/0626    
/*	MOVW	AX, DS /**/ 
1991/0614    
	CALL	trap(SB) 
1991/0622    
	POPAL 
1991/0625    
	POPL	DS 
1991/0626    
/*	POPL	DS	/**/ 
1991/0625    
	ADDL	$8,SP		/* pop the trap and error codes */ 
1991/0622    
	IRETL 


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