mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-12-27 16:58:09 +01:00
7c0aa811ec
Signed-off-by: Sergey Isakov <isakov-sl@bk.ru>
84 lines
1.7 KiB
C
84 lines
1.7 KiB
C
/** @file
|
|
Functions for video bios patches.
|
|
**/
|
|
|
|
#ifndef __VIDEO_BIOS_PATCH_LIB_H__
|
|
#define __VIDEO_BIOS_PATCH_LIB_H__
|
|
|
|
|
|
|
|
/**
|
|
Set of Search & replace bytes for VideoBiosPatchBytes().
|
|
**/
|
|
typedef struct _VBIOS_PATCH_BYTES {
|
|
VOID *Find;
|
|
VOID *Replace;
|
|
UINTN NumberOfBytes;
|
|
} VBIOS_PATCH_BYTES;
|
|
|
|
|
|
/**
|
|
Unlocks video bios area for writing.
|
|
|
|
@retval EFI_SUCCESS If area is unlocked.
|
|
@retval other In case of error.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
EFIAPI
|
|
VideoBiosUnlock (
|
|
VOID
|
|
);
|
|
|
|
|
|
/**
|
|
Locks video bios area for writing.
|
|
|
|
@retval EFI_SUCCESS If area is locked.
|
|
@retval other In case of error.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
EFIAPI
|
|
VideoBiosLock (
|
|
VOID
|
|
);
|
|
|
|
|
|
/**
|
|
Performs mutltiple Find&Replace operations on the video bios memory.
|
|
|
|
@param FindAndReplace Pointer to array of VBIOS_PATCH_BYTES.
|
|
@param FindAndReplaceCount Number of VBIOS_PATCH_BYTES elements in a FindAndReplace array.
|
|
|
|
@retval EFI_SUCCESS If no error occured.
|
|
@retval other In case of error.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
EFIAPI
|
|
VideoBiosPatchBytes (
|
|
IN VBIOS_PATCH_BYTES *FindAndReplace,
|
|
IN UINTN FindAndReplaceCount
|
|
);
|
|
|
|
|
|
/**
|
|
Determines "native" resolution from Edid detail timing descriptor
|
|
and patches first video mode with that timing/resolution info.
|
|
|
|
@param Edid Edid to use. If NULL, then Edid will be read from EFI_EDID_ACTIVE_PROTOCOL
|
|
|
|
@retval EFI_SUCCESS If no error occured.
|
|
@retval other In case of error.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
EFIAPI
|
|
VideoBiosPatchNativeFromEdid (
|
|
IN UINT8 *Edid OPTIONAL
|
|
);
|
|
|
|
|
|
#endif // __VIDEO_BIOS_PATCH_LIB_H__
|