Display fallback message in case poweroff fails (contributed by Feiran 'Fam' Zheng)
This commit is contained in:
		
							parent
							
								
									c7859a538c
								
							
						
					
					
						commit
						ebec792700
					
				@ -54,18 +54,41 @@ gate_A20:
 | 
				
			|||||||
	mov	$0x5301,%ax
 | 
						mov	$0x5301,%ax
 | 
				
			||||||
	mov	$0x0,%bx
 | 
						mov	$0x0,%bx
 | 
				
			||||||
	int	0x15
 | 
						int	0x15
 | 
				
			||||||
 | 
						jc	apm_err
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	/* Enable power management */
 | 
						/* Enable power management */
 | 
				
			||||||
	mov	$0x5308,%ax
 | 
						mov	$0x5308,%ax
 | 
				
			||||||
	mov	$0x1,%bx
 | 
						mov	$0x1,%bx
 | 
				
			||||||
	mov	$0x1,%cx
 | 
						mov	$0x1,%cx
 | 
				
			||||||
	int	0x15
 | 
						int	0x15
 | 
				
			||||||
 | 
						jc	apm_err
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	/* Set power state to off */
 | 
						/* Set power state to off */
 | 
				
			||||||
	mov	$0x5307,%ax
 | 
						mov	$0x5307,%ax
 | 
				
			||||||
	mov	$0x01,%bx
 | 
						mov	$0x01,%bx
 | 
				
			||||||
	mov	$0x3,%cx
 | 
						mov	$0x3,%cx
 | 
				
			||||||
	int	0x15
 | 
						int	0x15
 | 
				
			||||||
 | 
						jc	apm_err
 | 
				
			||||||
 | 
					0:	hlt
 | 
				
			||||||
 | 
						jmp	0b
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					poweroff_msg:
 | 
				
			||||||
 | 
					.ascii	"You can poweroff the machine safely now"
 | 
				
			||||||
 | 
					poweroff_msg_end:
 | 
				
			||||||
 | 
					#define POWEROFF_MSG_LEN	(poweroff_msg_end-poweroff_msg)
 | 
				
			||||||
 | 
					apm_err:
 | 
				
			||||||
 | 
						/* If APM can't perform the shutdown, print something to inform */
 | 
				
			||||||
 | 
						mov	$0x02, %ax	/* clear screen */
 | 
				
			||||||
 | 
						int	$0x10
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						mov	$(BIOS_POWEROFF_ENTRY >> 4), %ax
 | 
				
			||||||
 | 
						mov	%ax, %es
 | 
				
			||||||
 | 
						mov	$0x1301, %ax
 | 
				
			||||||
 | 
						mov	$0x07, %bx
 | 
				
			||||||
 | 
						mov	$POWEROFF_MSG_LEN, %cx
 | 
				
			||||||
 | 
						mov	$0x0300, %dx
 | 
				
			||||||
 | 
						mov	$(poweroff_msg - _poweroff16), %bp
 | 
				
			||||||
 | 
						int	$0x10
 | 
				
			||||||
0:	hlt
 | 
					0:	hlt
 | 
				
			||||||
	jmp	0b
 | 
						jmp	0b
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user