efi_loader: avoid EFI_CALL() for clearing screen
Carve out function efi_clear_screen. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
		
							parent
							
								
									c98f6fed93
								
							
						
					
					
						commit
						f32723663b
					
				| 
						 | 
				
			
			@ -460,6 +460,20 @@ static efi_status_t EFIAPI efi_cout_set_attribute(
 | 
			
		|||
	return EFI_EXIT(EFI_SUCCESS);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * efi_cout_clear_screen() - clear screen
 | 
			
		||||
 */
 | 
			
		||||
static void efi_clear_screen(void)
 | 
			
		||||
{
 | 
			
		||||
	/*
 | 
			
		||||
	 * The Linux console wants both a clear and a home command. The video
 | 
			
		||||
	 * uclass does not support <ESC>[H without coordinates, yet.
 | 
			
		||||
	 */
 | 
			
		||||
	printf(ESC "[2J" ESC "[1;1H");
 | 
			
		||||
	efi_con_mode.cursor_column = 0;
 | 
			
		||||
	efi_con_mode.cursor_row = 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * efi_cout_clear_screen() - clear screen
 | 
			
		||||
 *
 | 
			
		||||
| 
						 | 
				
			
			@ -475,13 +489,7 @@ static efi_status_t EFIAPI efi_cout_clear_screen(
 | 
			
		|||
{
 | 
			
		||||
	EFI_ENTRY("%p", this);
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	 * The Linux console wants both a clear and a home command. The video
 | 
			
		||||
	 * uclass does not support <ESC>[H without coordinates, yet.
 | 
			
		||||
	 */
 | 
			
		||||
	printf(ESC "[2J" ESC "[1;1H");
 | 
			
		||||
	efi_con_mode.cursor_column = 0;
 | 
			
		||||
	efi_con_mode.cursor_row = 0;
 | 
			
		||||
	efi_clear_screen();
 | 
			
		||||
 | 
			
		||||
	return EFI_EXIT(EFI_SUCCESS);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -510,7 +518,7 @@ static efi_status_t EFIAPI efi_cout_set_mode(
 | 
			
		|||
		return EFI_EXIT(EFI_UNSUPPORTED);
 | 
			
		||||
 | 
			
		||||
	efi_con_mode.mode = mode_number;
 | 
			
		||||
	EFI_CALL(efi_cout_clear_screen(this));
 | 
			
		||||
	efi_clear_screen();
 | 
			
		||||
 | 
			
		||||
	return EFI_EXIT(EFI_SUCCESS);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -536,7 +544,7 @@ static efi_status_t EFIAPI efi_cout_reset(
 | 
			
		|||
	efi_con_mode.attribute = 0x07;
 | 
			
		||||
	printf(ESC "[0;37;40m");
 | 
			
		||||
	/* Clear screen */
 | 
			
		||||
	EFI_CALL(efi_cout_clear_screen(this));
 | 
			
		||||
	efi_clear_screen();
 | 
			
		||||
 | 
			
		||||
	return EFI_EXIT(EFI_SUCCESS);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue