|  | @@ -209,10 +209,10 @@ real_to_prot:
 | 
		
	
		
			
			| 209 | 209 |  	movl	%cr0, %eax
 | 
		
	
		
			
			| 210 | 210 |  	orb	$CR0_PE, %al
 | 
		
	
		
			
			| 211 | 211 |  	movl	%eax, %cr0
 | 
		
	
		
			
			| 212 |  | -	data32 ljmp	$VIRTUAL_CS, $1f
 | 
		
	
		
			
			|  | 212 | +	data32 ljmp	$VIRTUAL_CS, $r2p_pmode
 | 
		
	
		
			
			| 213 | 213 |  	.section ".text", "ax", @progbits
 | 
		
	
		
			
			| 214 | 214 |  	.code32
 | 
		
	
		
			
			| 215 |  | -1:
 | 
		
	
		
			
			|  | 215 | +r2p_pmode:
 | 
		
	
		
			
			| 216 | 216 |  	/* Set up protected-mode data segments and stack pointer */
 | 
		
	
		
			
			| 217 | 217 |  	movw	$VIRTUAL_DS, %ax
 | 
		
	
		
			
			| 218 | 218 |  	movw	%ax, %ds
 | 
		
	
	
		
			
			|  | @@ -294,10 +294,10 @@ prot_to_real:
 | 
		
	
		
			
			| 294 | 294 |  	movw	%ax, %fs
 | 
		
	
		
			
			| 295 | 295 |  	movw	%ax, %gs
 | 
		
	
		
			
			| 296 | 296 |  	movw	%ax, %ss
 | 
		
	
		
			
			| 297 |  | -	ljmp	$REAL_CS, $1f
 | 
		
	
		
			
			|  | 297 | +	ljmp	$REAL_CS, $p2r_rmode
 | 
		
	
		
			
			| 298 | 298 |  	.section ".text16", "ax", @progbits
 | 
		
	
		
			
			| 299 | 299 |  	.code16
 | 
		
	
		
			
			| 300 |  | -1:
 | 
		
	
		
			
			|  | 300 | +p2r_rmode:
 | 
		
	
		
			
			| 301 | 301 |  	/* Switch to real mode */
 | 
		
	
		
			
			| 302 | 302 |  	movl	%cr0, %eax
 | 
		
	
		
			
			| 303 | 303 |  	andb	$0!CR0_PE, %al
 | 
		
	
	
		
			
			|  | @@ -400,11 +400,11 @@ prot_call:
 | 
		
	
		
			
			| 400 | 400 |  
 | 
		
	
		
			
			| 401 | 401 |  	/* Switch to protected mode and move register dump to PM stack */
 | 
		
	
		
			
			| 402 | 402 |  	movl	$PC_OFFSET_END, %ecx
 | 
		
	
		
			
			| 403 |  | -	pushl	$1f
 | 
		
	
		
			
			|  | 403 | +	pushl	$pc_pmode
 | 
		
	
		
			
			| 404 | 404 |  	jmp	real_to_prot
 | 
		
	
		
			
			| 405 | 405 |  	.section ".text", "ax", @progbits
 | 
		
	
		
			
			| 406 | 406 |  	.code32
 | 
		
	
		
			
			| 407 |  | -1:
 | 
		
	
		
			
			|  | 407 | +pc_pmode:
 | 
		
	
		
			
			| 408 | 408 |  	/* Call function */
 | 
		
	
		
			
			| 409 | 409 |  	leal	PC_OFFSET_IX86(%esp), %eax
 | 
		
	
		
			
			| 410 | 410 |  	pushl	%eax
 | 
		
	
	
		
			
			|  | @@ -413,11 +413,11 @@ prot_call:
 | 
		
	
		
			
			| 413 | 413 |  
 | 
		
	
		
			
			| 414 | 414 |  	/* Switch to real mode and move register dump back to RM stack */
 | 
		
	
		
			
			| 415 | 415 |  	movl	$PC_OFFSET_END, %ecx
 | 
		
	
		
			
			| 416 |  | -	pushl	$1f
 | 
		
	
		
			
			|  | 416 | +	pushl	$pc_rmode
 | 
		
	
		
			
			| 417 | 417 |  	jmp	prot_to_real
 | 
		
	
		
			
			| 418 | 418 |  	.section ".text16", "ax", @progbits
 | 
		
	
		
			
			| 419 | 419 |  	.code16
 | 
		
	
		
			
			| 420 |  | -1:	
 | 
		
	
		
			
			|  | 420 | +pc_rmode:
 | 
		
	
		
			
			| 421 | 421 |  	/* Reload GDT and IDT, restore registers and flags and return */
 | 
		
	
		
			
			| 422 | 422 |  	movw	%sp, %bp
 | 
		
	
		
			
			| 423 | 423 |  	data32 lgdt (%bp)
 | 
		
	
	
		
			
			|  | @@ -475,11 +475,11 @@ real_call:
 | 
		
	
		
			
			| 475 | 475 |  
 | 
		
	
		
			
			| 476 | 476 |  	/* Switch to real mode and move register dump to RM stack  */
 | 
		
	
		
			
			| 477 | 477 |  	movl	$( RC_OFFSET_RETADDR + 4 /* function pointer copy */ ), %ecx
 | 
		
	
		
			
			| 478 |  | -	pushl	$1f
 | 
		
	
		
			
			|  | 478 | +	pushl	$rc_rmode
 | 
		
	
		
			
			| 479 | 479 |  	jmp	prot_to_real
 | 
		
	
		
			
			| 480 | 480 |  	.section ".text16", "ax", @progbits
 | 
		
	
		
			
			| 481 | 481 |  	.code16
 | 
		
	
		
			
			| 482 |  | -1:
 | 
		
	
		
			
			|  | 482 | +rc_rmode:
 | 
		
	
		
			
			| 483 | 483 |  	/* Call real-mode function */
 | 
		
	
		
			
			| 484 | 484 |  	popl	rc_function
 | 
		
	
		
			
			| 485 | 485 |  	popal
 | 
		
	
	
		
			
			|  | @@ -491,11 +491,11 @@ real_call:
 | 
		
	
		
			
			| 491 | 491 |  
 | 
		
	
		
			
			| 492 | 492 |  	/* Switch to protected mode and move register dump back to PM stack */
 | 
		
	
		
			
			| 493 | 493 |  	movl	$RC_OFFSET_RETADDR, %ecx
 | 
		
	
		
			
			| 494 |  | -	pushl	$1f
 | 
		
	
		
			
			|  | 494 | +	pushl	$rc_pmode
 | 
		
	
		
			
			| 495 | 495 |  	jmp	real_to_prot
 | 
		
	
		
			
			| 496 | 496 |  	.section ".text", "ax", @progbits
 | 
		
	
		
			
			| 497 | 497 |  	.code32
 | 
		
	
		
			
			| 498 |  | -1:
 | 
		
	
		
			
			|  | 498 | +rc_pmode:
 | 
		
	
		
			
			| 499 | 499 |  	/* Restore registers and return */
 | 
		
	
		
			
			| 500 | 500 |  	popal
 | 
		
	
		
			
			| 501 | 501 |  	ret
 |