|  | @@ -21,7 +21,9 @@ undiisr:
 | 
		
	
		
			
			| 21 | 21 |  	/* Preserve registers */
 | 
		
	
		
			
			| 22 | 22 |  	pushw	%ds
 | 
		
	
		
			
			| 23 | 23 |  	pushw	%es
 | 
		
	
		
			
			| 24 |  | -	pusha
 | 
		
	
		
			
			|  | 24 | +	pushw	%fs
 | 
		
	
		
			
			|  | 25 | +	pushw	%gs
 | 
		
	
		
			
			|  | 26 | +	pushal
 | 
		
	
		
			
			| 25 | 27 |  
 | 
		
	
		
			
			| 26 | 28 |  	/* Set up our segment registers */
 | 
		
	
		
			
			| 27 | 29 |  	movw	%cs:rm_ds, %ax
 | 
		
	
	
		
			
			|  | @@ -32,8 +34,7 @@ undiisr:
 | 
		
	
		
			
			| 32 | 34 |  	je	chain
 | 
		
	
		
			
			| 33 | 35 |  	
 | 
		
	
		
			
			| 34 | 36 |  	/* Issue UNDI API call */
 | 
		
	
		
			
			| 35 |  | -	pushw	%ds
 | 
		
	
		
			
			| 36 |  | -	popw	%es
 | 
		
	
		
			
			|  | 37 | +	movw	%ax, %es
 | 
		
	
		
			
			| 37 | 38 |  	movw	$undinet_params, %di
 | 
		
	
		
			
			| 38 | 39 |  	movw	$PXENV_UNDI_ISR, %bx
 | 
		
	
		
			
			| 39 | 40 |  	movw	$PXENV_UNDI_ISR_IN_START, funcflag
 | 
		
	
	
		
			
			|  | @@ -62,7 +63,9 @@ chain:	/* Chain to next handler */
 | 
		
	
		
			
			| 62 | 63 |  	lcall	*undiisr_next_handler
 | 
		
	
		
			
			| 63 | 64 |  	
 | 
		
	
		
			
			| 64 | 65 |  exit:	/* Restore registers and return */
 | 
		
	
		
			
			| 65 |  | -	popa
 | 
		
	
		
			
			|  | 66 | +	popal
 | 
		
	
		
			
			|  | 67 | +	popw	%gs
 | 
		
	
		
			
			|  | 68 | +	popw	%fs
 | 
		
	
		
			
			| 66 | 69 |  	popw	%es
 | 
		
	
		
			
			| 67 | 70 |  	popw	%ds
 | 
		
	
		
			
			| 68 | 71 |  	iret
 |