/** @file
Copyright (c) 2019 Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include
#include
#include
#include
/**
Performs silicon pre-mem policy initialization.
The meaning of Policy is defined by silicon code.
It could be the raw data, a handle, a PPI, etc.
The returned data must be used as input data for SiliconPolicyDonePreMem(),
and SiliconPolicyUpdateLib.SiliconPolicyUpdatePreMem().
1) In FSP path, the input Policy should be FspmUpd.
Value of FspmUpd has been initialized by FSP binary default value.
Only a subset of FspmUpd needs to be updated for different silicon sku.
The return data is same FspmUpd.
2) In non-FSP path, the input policy could be NULL.
The return data is the initialized policy.
@param[in, out] Policy Pointer to policy.
@return the initialized policy.
**/
VOID *
EFIAPI
SiliconPolicyInitPreMem (
IN OUT VOID *Policy OPTIONAL
)
{
return Policy;
}
/*
The silicon pre-mem policy is finalized.
Silicon code can do initialization based upon the policy data.
The input Policy must be returned by SiliconPolicyInitPreMem().
@param[in] Policy Pointer to policy.
@retval RETURN_SUCCESS The policy is handled consumed by silicon code.
*/
RETURN_STATUS
EFIAPI
SiliconPolicyDonePreMem (
IN VOID *Policy
)
{
return RETURN_SUCCESS;
}
/**
Performs silicon post-mem policy initialization.
The meaning of Policy is defined by silicon code.
It could be the raw data, a handle, a PPI, etc.
The returned data must be used as input data for SiliconPolicyDonePostMem(),
and SiliconPolicyUpdateLib.SiliconPolicyUpdatePostMem().
1) In FSP path, the input Policy should be FspsUpd.
Value of FspsUpd has been initialized by FSP binary default value.
Only a subset of FspsUpd needs to be updated for different silicon sku.
The return data is same FspsUpd.
2) In non-FSP path, the input policy could be NULL.
The return data is the initialized policy.
@param[in, out] Policy Pointer to policy.
@return the initialized policy.
**/
VOID *
EFIAPI
SiliconPolicyInitPostMem (
IN OUT VOID *Policy OPTIONAL
)
{
return Policy;
}
/*
The silicon post-mem policy is finalized.
Silicon code can do initialization based upon the policy data.
The input Policy must be returned by SiliconPolicyInitPostMem().
@param[in] Policy Pointer to policy.
@retval RETURN_SUCCESS The policy is handled consumed by silicon code.
*/
RETURN_STATUS
EFIAPI
SiliconPolicyDonePostMem (
IN VOID *Policy
)
{
return RETURN_SUCCESS;
}