TianoCore EDK2 master
Loading...
Searching...
No Matches
BootGraphicsResourceTableDxe.c File Reference

Go to the source code of this file.

Functions

EFI_STATUS EFIAPI SetBootLogo (IN EFI_BOOT_LOGO_PROTOCOL *This, IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer OPTIONAL, IN UINTN DestinationX, IN UINTN DestinationY, IN UINTN Width, IN UINTN Height)
 
EFI_STATUS EFIAPI SetBootLogo2 (IN EDKII_BOOT_LOGO2_PROTOCOL *This, IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer OPTIONAL, IN UINTN DestinationX, IN UINTN DestinationY, IN UINTN Width, IN UINTN Height)
 
EFI_STATUS EFIAPI GetBootLogo2 (IN EDKII_BOOT_LOGO2_PROTOCOL *This, OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL **BltBuffer, OUT UINTN *DestinationX, OUT UINTN *DestinationY, OUT UINTN *Width, OUT UINTN *Height)
 
VOID EFIAPI BgrtReadyToBootEventNotify (IN EFI_EVENT Event, IN VOID *Context)
 
EFI_STATUS EFIAPI BootGraphicsDxeEntryPoint (IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable)
 

Variables

EFI_HANDLE mBootLogoHandle = NULL
 
EFI_BOOT_LOGO_PROTOCOL mBootLogoProtocolTemplate
 
EDKII_BOOT_LOGO2_PROTOCOL mBootLogo2ProtocolTemplate
 
EFI_EVENT mBootGraphicsReadyToBootEvent
 
UINTN mBootGraphicsResourceTableKey = 0
 
BOOLEAN mIsLogoValid = FALSE
 
EFI_GRAPHICS_OUTPUT_BLT_PIXELmLogoBltBuffer = NULL
 
UINTN mLogoDestX = 0
 
UINTN mLogoDestY = 0
 
UINTN mLogoWidth = 0
 
UINTN mLogoHeight = 0
 
BOOLEAN mAcpiBgrtInstalled = FALSE
 
BOOLEAN mAcpiBgrtStatusChanged = FALSE
 
BOOLEAN mAcpiBgrtBufferChanged = FALSE
 
EFI_ACPI_5_0_BOOT_GRAPHICS_RESOURCE_TABLE mBootGraphicsResourceTableTemplate
 

Detailed Description

This module install ACPI Boot Graphics Resource Table (BGRT).

Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.
Copyright (c) 2016, Microsoft Corporation
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file BootGraphicsResourceTableDxe.c.

Function Documentation

◆ BgrtReadyToBootEventNotify()

VOID EFIAPI BgrtReadyToBootEventNotify ( IN EFI_EVENT  Event,
IN VOID *  Context 
)

Notify function for event group EFI_EVENT_GROUP_READY_TO_BOOT. This is used to install the Boot Graphics Resource Table.

Parameters
[in]EventThe Event that is being processed.
[in]ContextThe Event Context.

Definition at line 417 of file BootGraphicsResourceTableDxe.c.

◆ BootGraphicsDxeEntryPoint()

EFI_STATUS EFIAPI BootGraphicsDxeEntryPoint ( IN EFI_HANDLE  ImageHandle,
IN EFI_SYSTEM_TABLE SystemTable 
)

The module Entry Point of the Boot Graphics Resource Table DXE driver.

Parameters
[in]ImageHandleThe firmware allocated handle for the EFI image.
[in]SystemTableA pointer to the EFI System Table.
Return values
EFI_SUCCESSThe entry point is executed successfully.
OtherSome error occurs when executing this entry point.

Definition at line 557 of file BootGraphicsResourceTableDxe.c.

◆ GetBootLogo2()

EFI_STATUS EFIAPI GetBootLogo2 ( IN EDKII_BOOT_LOGO2_PROTOCOL This,
OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL **  BltBuffer,
OUT UINTN DestinationX,
OUT UINTN DestinationY,
OUT UINTN Width,
OUT UINTN Height 
)

Get the location of the boot logo on the screen.

Parameters
[in]ThisThe pointer to the Boot Logo Protocol 2 instance
[out]BltBufferReturns pointer to the GOP BLT buffer that was previously registered with SetBootLogo2(). The buffer returned must not be modified or freed.
[out]DestinationXReturns the X start position of the GOP BLT buffer that was previously registered with SetBootLogo2().
[out]DestinationYReturns the Y start position of the GOP BLT buffer that was previously registered with SetBootLogo2().
[out]WidthReturns the width of the GOP BLT buffer that was previously registered with SetBootLogo2().
[out]HeightReturns the height of the GOP BLT buffer that was previously registered with SetBootLogo2().
Return values
EFI_SUCCESSThe location of the boot logo was returned.
EFI_NOT_READYThe boot logo has not been set.
EFI_INVALID_PARAMETERBltBuffer is NULL.
EFI_INVALID_PARAMETERDestinationX is NULL.
EFI_INVALID_PARAMETERDestinationY is NULL.
EFI_INVALID_PARAMETERWidth is NULL.
EFI_INVALID_PARAMETERHeight is NULL.

Definition at line 367 of file BootGraphicsResourceTableDxe.c.

◆ SetBootLogo()

EFI_STATUS EFIAPI SetBootLogo ( IN EFI_BOOT_LOGO_PROTOCOL This,
IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer  OPTIONAL,
IN UINTN  DestinationX,
IN UINTN  DestinationY,
IN UINTN  Width,
IN UINTN  Height 
)

Update information of logo image drawn on screen.

Parameters
[in]ThisThe pointer to the Boot Logo protocol 2 instance.
[in]BltBufferThe BLT buffer for logo drawn on screen. If BltBuffer is set to NULL, it indicates that logo image is no longer on the screen.
[in]DestinationXX coordinate of destination for the BltBuffer.
[in]DestinationYY coordinate of destination for the BltBuffer.
[in]WidthWidth of rectangle in BltBuffer in pixels.
[in]HeightHight of rectangle in BltBuffer in pixels.
Return values
EFI_SUCCESSThe boot logo information was updated.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_OUT_OF_RESOURCESThe logo information was not updated due to insufficient memory resources.

Update information of logo image drawn on screen.

Parameters
ThisThe pointer to the Boot Logo protocol instance.
BltBufferThe BLT buffer for logo drawn on screen. If BltBuffer is set to NULL, it indicates that logo image is no longer on the screen.
DestinationXX coordinate of destination for the BltBuffer.
DestinationYY coordinate of destination for the BltBuffer.
WidthWidth of rectangle in BltBuffer in pixels.
HeightHight of rectangle in BltBuffer in pixels.
Return values
EFI_SUCCESSThe boot logo information was updated.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_OUT_OF_RESOURCESThe logo information was not updated due to insufficient memory resources.

Definition at line 198 of file BootGraphicsResourceTableDxe.c.

◆ SetBootLogo2()

EFI_STATUS EFIAPI SetBootLogo2 ( IN EDKII_BOOT_LOGO2_PROTOCOL This,
IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer  OPTIONAL,
IN UINTN  DestinationX,
IN UINTN  DestinationY,
IN UINTN  Width,
IN UINTN  Height 
)

Update information of logo image drawn on screen.

Parameters
[in]ThisThe pointer to the Boot Logo protocol 2 instance.
[in]BltBufferThe BLT buffer for logo drawn on screen. If BltBuffer is set to NULL, it indicates that logo image is no longer on the screen.
[in]DestinationXX coordinate of destination for the BltBuffer.
[in]DestinationYY coordinate of destination for the BltBuffer.
[in]WidthWidth of rectangle in BltBuffer in pixels.
[in]HeightHight of rectangle in BltBuffer in pixels.
Return values
EFI_SUCCESSThe boot logo information was updated.
EFI_INVALID_PARAMETEROne of the parameters has an invalid value.
EFI_OUT_OF_RESOURCESThe logo information was not updated due to insufficient memory resources.

Definition at line 239 of file BootGraphicsResourceTableDxe.c.

Variable Documentation

◆ mAcpiBgrtBufferChanged

BOOLEAN mAcpiBgrtBufferChanged = FALSE

Definition at line 150 of file BootGraphicsResourceTableDxe.c.

◆ mAcpiBgrtInstalled

BOOLEAN mAcpiBgrtInstalled = FALSE

Definition at line 148 of file BootGraphicsResourceTableDxe.c.

◆ mAcpiBgrtStatusChanged

BOOLEAN mAcpiBgrtStatusChanged = FALSE

Definition at line 149 of file BootGraphicsResourceTableDxe.c.

◆ mBootGraphicsReadyToBootEvent

EFI_EVENT mBootGraphicsReadyToBootEvent

Definition at line 140 of file BootGraphicsResourceTableDxe.c.

◆ mBootGraphicsResourceTableKey

UINTN mBootGraphicsResourceTableKey = 0

Definition at line 141 of file BootGraphicsResourceTableDxe.c.

◆ mBootGraphicsResourceTableTemplate

EFI_ACPI_5_0_BOOT_GRAPHICS_RESOURCE_TABLE mBootGraphicsResourceTableTemplate
Initial value:
= {
{
0x00,
{ 0x00 },
0x00,
0x00,
0x00,
0x00,
},
EFI_ACPI_5_0_BGRT_STATUS_VALID,
0,
0,
0
}
#define EFI_ACPI_5_0_BGRT_IMAGE_TYPE_BMP
Definition: Acpi50.h:1112
#define EFI_ACPI_5_0_BOOT_GRAPHICS_RESOURCE_TABLE_SIGNATURE
Definition: Acpi50.h:1900
#define EFI_ACPI_5_0_BGRT_VERSION
Definition: Acpi50.h:1099
#define EFI_ACPI_5_0_BOOT_GRAPHICS_RESOURCE_TABLE_REVISION
Definition: Acpi50.h:1094

Definition at line 155 of file BootGraphicsResourceTableDxe.c.

◆ mBootLogo2ProtocolTemplate

EDKII_BOOT_LOGO2_PROTOCOL mBootLogo2ProtocolTemplate
Initial value:
= {
}
EFI_STATUS EFIAPI SetBootLogo2(IN EDKII_BOOT_LOGO2_PROTOCOL *This, IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer OPTIONAL, IN UINTN DestinationX, IN UINTN DestinationY, IN UINTN Width, IN UINTN Height)
EFI_STATUS EFIAPI GetBootLogo2(IN EDKII_BOOT_LOGO2_PROTOCOL *This, OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL **BltBuffer, OUT UINTN *DestinationX, OUT UINTN *DestinationY, OUT UINTN *Width, OUT UINTN *Height)

Boot Logo 2 Protocol instance

Definition at line 135 of file BootGraphicsResourceTableDxe.c.

◆ mBootLogoHandle

EFI_HANDLE mBootLogoHandle = NULL

Definition at line 123 of file BootGraphicsResourceTableDxe.c.

◆ mBootLogoProtocolTemplate

EFI_BOOT_LOGO_PROTOCOL mBootLogoProtocolTemplate
Initial value:
= {
}
EFI_STATUS EFIAPI SetBootLogo(IN EFI_BOOT_LOGO_PROTOCOL *This, IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer OPTIONAL, IN UINTN DestinationX, IN UINTN DestinationY, IN UINTN Width, IN UINTN Height)

Definition at line 128 of file BootGraphicsResourceTableDxe.c.

◆ mIsLogoValid

BOOLEAN mIsLogoValid = FALSE

Definition at line 142 of file BootGraphicsResourceTableDxe.c.

◆ mLogoBltBuffer

Definition at line 143 of file BootGraphicsResourceTableDxe.c.

◆ mLogoDestX

UINTN mLogoDestX = 0

Definition at line 144 of file BootGraphicsResourceTableDxe.c.

◆ mLogoDestY

UINTN mLogoDestY = 0

Definition at line 145 of file BootGraphicsResourceTableDxe.c.

◆ mLogoHeight

UINTN mLogoHeight = 0

Definition at line 147 of file BootGraphicsResourceTableDxe.c.

◆ mLogoWidth

UINTN mLogoWidth = 0

Definition at line 146 of file BootGraphicsResourceTableDxe.c.