From e2988e6632fe056b55d208eb72b4aec52c692196 Mon Sep 17 00:00:00 2001 From: xdu2 Date: Fri, 4 Nov 2011 08:27:53 +0000 Subject: [PATCH] MdeModulePkg: Define Boot Logo protocol to convey information of Logo dispayed during boot. Signed-off-by: xdu2 Reviewed-by: mdkinney Reviewed-by: lgao4 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12663 6f19259b-4bc3-4df7-8a09-765794883524 --- MdeModulePkg/Include/Protocol/BootLogo.h | 65 ++++++++++++++++++++++++ MdeModulePkg/MdeModulePkg.dec | 4 ++ 2 files changed, 69 insertions(+) create mode 100644 MdeModulePkg/Include/Protocol/BootLogo.h diff --git a/MdeModulePkg/Include/Protocol/BootLogo.h b/MdeModulePkg/Include/Protocol/BootLogo.h new file mode 100644 index 0000000000..1eba47a704 --- /dev/null +++ b/MdeModulePkg/Include/Protocol/BootLogo.h @@ -0,0 +1,65 @@ +/** @file + Boot Logo protocol is used to convey information of Logo dispayed during boot. + +Copyright (c) 2011, Intel Corporation. All rights reserved.
+This program and the accompanying materials are licensed and made available under +the terms and conditions of the BSD License that accompanies this distribution. +The full text of the license may be found at +http://opensource.org/licenses/bsd-license.php. + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#ifndef _BOOT_LOGO_H_ +#define _BOOT_LOGO_H_ + +#include + +#define EFI_BOOT_LOGO_PROTOCOL_GUID \ + { \ + 0xcdea2bd3, 0xfc25, 0x4c1c, { 0xb9, 0x7c, 0xb3, 0x11, 0x86, 0x6, 0x49, 0x90 } \ + } + +// +// Forward reference for pure ANSI compatability +// +typedef struct _EFI_BOOT_LOGO_PROTOCOL EFI_BOOT_LOGO_PROTOCOL; + +/** + Update information of logo image drawn on screen. + + @param This The pointer to the Boot Logo protocol instance. + @param BltBuffer The BLT buffer for logo drawn on screen. If BltBuffer + is set to NULL, it indicates that logo image is no + longer on the screen. + @param DestinationX X coordinate of destination for the BltBuffer. + @param DestinationY Y coordinate of destination for the BltBuffer. + @param Width Width of rectangle in BltBuffer in pixels. + @param Height Hight of rectangle in BltBuffer in pixels. + + @retval EFI_SUCCESS The boot logo information was updated. + @retval EFI_INVALID_PARAMETER One of the parameters has an invalid value. + @retval EFI_OUT_OF_RESOURCES The logo information was not updated due to + insufficient memory resources. + +**/ +typedef +EFI_STATUS +(EFIAPI *EFI_SET_BOOT_LOGO)( + 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 + ); + +struct _EFI_BOOT_LOGO_PROTOCOL { + EFI_SET_BOOT_LOGO SetBootLogo; +}; + +extern EFI_GUID gEfiBootLogoProtocolGuid; + +#endif diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index dc9ec5b9b1..27268d33f9 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -328,6 +328,10 @@ ## Include/Protocol/EbcSimpleDebugger.h gEfiEbcSimpleDebuggerProtocolGuid = { 0x2a72d11e, 0x7376, 0x40f6, { 0x9c, 0x68, 0x23, 0xfa, 0x2f, 0xe3, 0x63, 0xf1 } } + + ## Include/Protocol/BootLogo.h + gEfiBootLogoProtocolGuid = { 0xcdea2bd3, 0xfc25, 0x4c1c, { 0xb9, 0x7c, 0xb3, 0x11, 0x86, 0x6, 0x49, 0x90 } } + [PcdsFeatureFlag] ## Indicate whether platform can support update capsule across a system reset gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|FALSE|BOOLEAN|0x0001001d -- 2.39.2