mirror of https://github.com/acidanthera/audk.git
51 lines
1.6 KiB
C
51 lines
1.6 KiB
C
/** @file
|
|
This module collects performance data for SMM driver boot records and S3 Suspend Performance Record.
|
|
|
|
This module registers report status code listener to collect performance data
|
|
for SMM driver boot records and S3 Suspend Performance Record.
|
|
|
|
Caution: This module requires additional review when modified.
|
|
This driver will have external input - communicate buffer in SMM mode.
|
|
This external input must be validated carefully to avoid security issue like
|
|
buffer overflow, integer overflow.
|
|
|
|
FpdtSmiHandler() will receive untrusted input and do basic validation.
|
|
|
|
Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
|
|
Copyright (c), Microsoft Corporation.
|
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
|
|
**/
|
|
|
|
#ifndef _FW_PERF_COMMON_H_
|
|
#define _FW_PERF_COMMON_H_
|
|
|
|
/**
|
|
This function is an abstraction layer for implementation specific Mm buffer validation routine.
|
|
|
|
@param Buffer The buffer start address to be checked.
|
|
@param Length The buffer length to be checked.
|
|
|
|
@retval TRUE This buffer is valid per processor architecture and not overlap with SMRAM.
|
|
@retval FALSE This buffer is not valid per processor architecture or overlap with SMRAM.
|
|
**/
|
|
BOOLEAN
|
|
IsBufferOutsideMmValid (
|
|
IN EFI_PHYSICAL_ADDRESS Buffer,
|
|
IN UINT64 Length
|
|
);
|
|
|
|
/**
|
|
The module Entry Point of the Firmware Performance Data Table MM driver.
|
|
|
|
@retval EFI_SUCCESS The entry point is executed successfully.
|
|
@retval Other Some error occurs when executing this entry point.
|
|
|
|
**/
|
|
EFI_STATUS
|
|
FirmwarePerformanceCommonEntryPoint (
|
|
VOID
|
|
);
|
|
|
|
#endif // _FW_PERF_COMMON_H_
|