mirror of https://github.com/acidanthera/audk.git
Make EDK Module Package pass Intel IPF compiler with /Ox switch.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2346 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
db6efc11d3
commit
3401c092e4
|
@ -581,7 +581,7 @@ Returns:
|
||||||
//
|
//
|
||||||
TxCB *cmd_ptr;
|
TxCB *cmd_ptr;
|
||||||
UINT8 *data_ptr;
|
UINT8 *data_ptr;
|
||||||
INT16 Index;
|
volatile INT16 Index;
|
||||||
UINT8 my_filter;
|
UINT8 my_filter;
|
||||||
|
|
||||||
cmd_ptr = GetFreeCB (AdapterInfo);
|
cmd_ptr = GetFreeCB (AdapterInfo);
|
||||||
|
|
|
@ -50,7 +50,7 @@ Returns:
|
||||||
{
|
{
|
||||||
CHAR8 *Destination8;
|
CHAR8 *Destination8;
|
||||||
CHAR8 *Source8;
|
CHAR8 *Source8;
|
||||||
UINTN Length;
|
volatile UINTN Length;
|
||||||
|
|
||||||
Destination8 = Buffer;
|
Destination8 = Buffer;
|
||||||
Source8 = (CHAR8 *) ((UINTN) FileHandle + FileOffset);
|
Source8 = (CHAR8 *) ((UINTN) FileHandle + FileOffset);
|
||||||
|
|
|
@ -4541,7 +4541,7 @@ Returns:
|
||||||
--*/
|
--*/
|
||||||
{
|
{
|
||||||
UINTN Data;
|
UINTN Data;
|
||||||
UINT32 Size;
|
volatile UINT32 Size;
|
||||||
UINT8 *FromPtr;
|
UINT8 *FromPtr;
|
||||||
UINT8 *ToPtr;
|
UINT8 *ToPtr;
|
||||||
//
|
//
|
||||||
|
|
|
@ -667,3 +667,130 @@ PeiPcdGetNextTokenSpace (
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UINTN
|
||||||
|
GetPtrTypeSize (
|
||||||
|
IN UINTN LocalTokenNumberTableIdx,
|
||||||
|
OUT UINTN *MaxSize,
|
||||||
|
IN PEI_PCD_DATABASE *Database
|
||||||
|
)
|
||||||
|
{
|
||||||
|
INTN SizeTableIdx;
|
||||||
|
UINTN LocalTokenNumber;
|
||||||
|
SKU_ID *SkuIdTable;
|
||||||
|
SIZE_INFO *SizeTable;
|
||||||
|
UINTN i;
|
||||||
|
|
||||||
|
SizeTableIdx = GetSizeTableIndex (LocalTokenNumberTableIdx, Database);
|
||||||
|
|
||||||
|
LocalTokenNumber = Database->Init.LocalTokenNumberTable[LocalTokenNumberTableIdx];
|
||||||
|
|
||||||
|
ASSERT ((LocalTokenNumber & PCD_DATUM_TYPE_ALL_SET) == PCD_DATUM_TYPE_POINTER);
|
||||||
|
|
||||||
|
SizeTable = Database->Init.SizeTable;
|
||||||
|
|
||||||
|
*MaxSize = SizeTable[SizeTableIdx];
|
||||||
|
//
|
||||||
|
// SizeTable only contain record for PCD_DATUM_TYPE_POINTER type
|
||||||
|
// PCD entry.
|
||||||
|
//
|
||||||
|
if (LocalTokenNumber & PCD_TYPE_VPD) {
|
||||||
|
//
|
||||||
|
// We have only one entry for VPD enabled PCD entry:
|
||||||
|
// 1) MAX Size.
|
||||||
|
// We consider current size is equal to MAX size.
|
||||||
|
//
|
||||||
|
return *MaxSize;
|
||||||
|
} else {
|
||||||
|
if ((LocalTokenNumber & PCD_TYPE_SKU_ENABLED) == 0) {
|
||||||
|
//
|
||||||
|
// We have only two entry for Non-Sku enabled PCD entry:
|
||||||
|
// 1) MAX SIZE
|
||||||
|
// 2) Current Size
|
||||||
|
//
|
||||||
|
return SizeTable[SizeTableIdx + 1];
|
||||||
|
} else {
|
||||||
|
//
|
||||||
|
// We have these entry for SKU enabled PCD entry
|
||||||
|
// 1) MAX SIZE
|
||||||
|
// 2) Current Size for each SKU_ID (It is equal to MaxSku).
|
||||||
|
//
|
||||||
|
SkuIdTable = GetSkuIdArray (LocalTokenNumberTableIdx, Database);
|
||||||
|
for (i = 0; i < SkuIdTable[0]; i++) {
|
||||||
|
if (SkuIdTable[1 + i] == Database->Init.SystemSkuId) {
|
||||||
|
return SizeTable[SizeTableIdx + 1 + i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return SizeTable[SizeTableIdx + 1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
BOOLEAN
|
||||||
|
SetPtrTypeSize (
|
||||||
|
IN UINTN LocalTokenNumberTableIdx,
|
||||||
|
IN OUT UINTN *CurrentSize,
|
||||||
|
IN PEI_PCD_DATABASE *Database
|
||||||
|
)
|
||||||
|
{
|
||||||
|
INTN SizeTableIdx;
|
||||||
|
UINTN LocalTokenNumber;
|
||||||
|
SKU_ID *SkuIdTable;
|
||||||
|
SIZE_INFO *SizeTable;
|
||||||
|
UINTN i;
|
||||||
|
UINTN MaxSize;
|
||||||
|
|
||||||
|
SizeTableIdx = GetSizeTableIndex (LocalTokenNumberTableIdx, Database);
|
||||||
|
|
||||||
|
LocalTokenNumber = Database->Init.LocalTokenNumberTable[LocalTokenNumberTableIdx];
|
||||||
|
|
||||||
|
ASSERT ((LocalTokenNumber & PCD_DATUM_TYPE_ALL_SET) == PCD_DATUM_TYPE_POINTER);
|
||||||
|
|
||||||
|
SizeTable = Database->Init.SizeTable;
|
||||||
|
|
||||||
|
MaxSize = SizeTable[SizeTableIdx];
|
||||||
|
//
|
||||||
|
// SizeTable only contain record for PCD_DATUM_TYPE_POINTER type
|
||||||
|
// PCD entry.
|
||||||
|
//
|
||||||
|
if (LocalTokenNumber & PCD_TYPE_VPD) {
|
||||||
|
//
|
||||||
|
// We shouldn't come here as we don't support SET for VPD
|
||||||
|
//
|
||||||
|
ASSERT (FALSE);
|
||||||
|
return FALSE;
|
||||||
|
} else {
|
||||||
|
if ((*CurrentSize > MaxSize) ||
|
||||||
|
(*CurrentSize == MAX_ADDRESS)) {
|
||||||
|
*CurrentSize = MaxSize;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((LocalTokenNumber & PCD_TYPE_SKU_ENABLED) == 0) {
|
||||||
|
//
|
||||||
|
// We have only two entry for Non-Sku enabled PCD entry:
|
||||||
|
// 1) MAX SIZE
|
||||||
|
// 2) Current Size
|
||||||
|
//
|
||||||
|
SizeTable[SizeTableIdx + 1] = (SIZE_INFO) *CurrentSize;
|
||||||
|
return TRUE;
|
||||||
|
} else {
|
||||||
|
//
|
||||||
|
// We have these entry for SKU enabled PCD entry
|
||||||
|
// 1) MAX SIZE
|
||||||
|
// 2) Current Size for each SKU_ID (It is equal to MaxSku).
|
||||||
|
//
|
||||||
|
SkuIdTable = GetSkuIdArray (LocalTokenNumberTableIdx, Database);
|
||||||
|
for (i = 0; i < SkuIdTable[0]; i++) {
|
||||||
|
if (SkuIdTable[1 + i] == Database->Init.SystemSkuId) {
|
||||||
|
SizeTable[SizeTableIdx + 1 + i] = (SIZE_INFO) *CurrentSize;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SizeTable[SizeTableIdx + 1] = (SIZE_INFO) *CurrentSize;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -652,7 +652,7 @@ GetPcdDatabase (
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
STATIC
|
|
||||||
SKU_ID *
|
SKU_ID *
|
||||||
GetSkuIdArray (
|
GetSkuIdArray (
|
||||||
IN UINTN LocalTokenNumberTableIdx,
|
IN UINTN LocalTokenNumberTableIdx,
|
||||||
|
@ -673,7 +673,7 @@ GetSkuIdArray (
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
STATIC
|
|
||||||
UINTN
|
UINTN
|
||||||
GetSizeTableIndex (
|
GetSizeTableIndex (
|
||||||
IN UINTN LocalTokenNumberTableIdx,
|
IN UINTN LocalTokenNumberTableIdx,
|
||||||
|
@ -726,134 +726,3 @@ GetSizeTableIndex (
|
||||||
|
|
||||||
return SizeTableIdx;
|
return SizeTableIdx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
UINTN
|
|
||||||
GetPtrTypeSize (
|
|
||||||
IN UINTN LocalTokenNumberTableIdx,
|
|
||||||
OUT UINTN *MaxSize,
|
|
||||||
IN PEI_PCD_DATABASE *Database
|
|
||||||
)
|
|
||||||
{
|
|
||||||
INTN SizeTableIdx;
|
|
||||||
UINTN LocalTokenNumber;
|
|
||||||
SKU_ID *SkuIdTable;
|
|
||||||
SIZE_INFO *SizeTable;
|
|
||||||
UINTN i;
|
|
||||||
|
|
||||||
SizeTableIdx = GetSizeTableIndex (LocalTokenNumberTableIdx, Database);
|
|
||||||
|
|
||||||
LocalTokenNumber = Database->Init.LocalTokenNumberTable[LocalTokenNumberTableIdx];
|
|
||||||
|
|
||||||
ASSERT ((LocalTokenNumber & PCD_DATUM_TYPE_ALL_SET) == PCD_DATUM_TYPE_POINTER);
|
|
||||||
|
|
||||||
SizeTable = Database->Init.SizeTable;
|
|
||||||
|
|
||||||
*MaxSize = SizeTable[SizeTableIdx];
|
|
||||||
//
|
|
||||||
// SizeTable only contain record for PCD_DATUM_TYPE_POINTER type
|
|
||||||
// PCD entry.
|
|
||||||
//
|
|
||||||
if (LocalTokenNumber & PCD_TYPE_VPD) {
|
|
||||||
//
|
|
||||||
// We have only one entry for VPD enabled PCD entry:
|
|
||||||
// 1) MAX Size.
|
|
||||||
// We consider current size is equal to MAX size.
|
|
||||||
//
|
|
||||||
return *MaxSize;
|
|
||||||
} else {
|
|
||||||
if ((LocalTokenNumber & PCD_TYPE_SKU_ENABLED) == 0) {
|
|
||||||
//
|
|
||||||
// We have only two entry for Non-Sku enabled PCD entry:
|
|
||||||
// 1) MAX SIZE
|
|
||||||
// 2) Current Size
|
|
||||||
//
|
|
||||||
return SizeTable[SizeTableIdx + 1];
|
|
||||||
} else {
|
|
||||||
//
|
|
||||||
// We have these entry for SKU enabled PCD entry
|
|
||||||
// 1) MAX SIZE
|
|
||||||
// 2) Current Size for each SKU_ID (It is equal to MaxSku).
|
|
||||||
//
|
|
||||||
SkuIdTable = GetSkuIdArray (LocalTokenNumberTableIdx, Database);
|
|
||||||
for (i = 0; i < SkuIdTable[0]; i++) {
|
|
||||||
if (SkuIdTable[1 + i] == Database->Init.SystemSkuId) {
|
|
||||||
return SizeTable[SizeTableIdx + 1 + i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return SizeTable[SizeTableIdx + 1];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BOOLEAN
|
|
||||||
SetPtrTypeSize (
|
|
||||||
IN UINTN LocalTokenNumberTableIdx,
|
|
||||||
IN OUT UINTN *CurrentSize,
|
|
||||||
IN PEI_PCD_DATABASE *Database
|
|
||||||
)
|
|
||||||
{
|
|
||||||
INTN SizeTableIdx;
|
|
||||||
UINTN LocalTokenNumber;
|
|
||||||
SKU_ID *SkuIdTable;
|
|
||||||
SIZE_INFO *SizeTable;
|
|
||||||
UINTN i;
|
|
||||||
UINTN MaxSize;
|
|
||||||
|
|
||||||
SizeTableIdx = GetSizeTableIndex (LocalTokenNumberTableIdx, Database);
|
|
||||||
|
|
||||||
LocalTokenNumber = Database->Init.LocalTokenNumberTable[LocalTokenNumberTableIdx];
|
|
||||||
|
|
||||||
ASSERT ((LocalTokenNumber & PCD_DATUM_TYPE_ALL_SET) == PCD_DATUM_TYPE_POINTER);
|
|
||||||
|
|
||||||
SizeTable = Database->Init.SizeTable;
|
|
||||||
|
|
||||||
MaxSize = SizeTable[SizeTableIdx];
|
|
||||||
//
|
|
||||||
// SizeTable only contain record for PCD_DATUM_TYPE_POINTER type
|
|
||||||
// PCD entry.
|
|
||||||
//
|
|
||||||
if (LocalTokenNumber & PCD_TYPE_VPD) {
|
|
||||||
//
|
|
||||||
// We shouldn't come here as we don't support SET for VPD
|
|
||||||
//
|
|
||||||
ASSERT (FALSE);
|
|
||||||
return FALSE;
|
|
||||||
} else {
|
|
||||||
if ((*CurrentSize > MaxSize) ||
|
|
||||||
(*CurrentSize == MAX_ADDRESS)) {
|
|
||||||
*CurrentSize = MaxSize;
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((LocalTokenNumber & PCD_TYPE_SKU_ENABLED) == 0) {
|
|
||||||
//
|
|
||||||
// We have only two entry for Non-Sku enabled PCD entry:
|
|
||||||
// 1) MAX SIZE
|
|
||||||
// 2) Current Size
|
|
||||||
//
|
|
||||||
SizeTable[SizeTableIdx + 1] = (SIZE_INFO) *CurrentSize;
|
|
||||||
return TRUE;
|
|
||||||
} else {
|
|
||||||
//
|
|
||||||
// We have these entry for SKU enabled PCD entry
|
|
||||||
// 1) MAX SIZE
|
|
||||||
// 2) Current Size for each SKU_ID (It is equal to MaxSku).
|
|
||||||
//
|
|
||||||
SkuIdTable = GetSkuIdArray (LocalTokenNumberTableIdx, Database);
|
|
||||||
for (i = 0; i < SkuIdTable[0]; i++) {
|
|
||||||
if (SkuIdTable[1 + i] == Database->Init.SystemSkuId) {
|
|
||||||
SizeTable[SizeTableIdx + 1 + i] = (SIZE_INFO) *CurrentSize;
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
SizeTable[SizeTableIdx + 1] = (SIZE_INFO) *CurrentSize;
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
@ -415,8 +415,19 @@ BuildPcdDatabase (
|
||||||
)
|
)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
SKU_ID *
|
||||||
|
GetSkuIdArray (
|
||||||
|
IN UINTN LocalTokenNumberTableIdx,
|
||||||
|
IN PEI_PCD_DATABASE *Database
|
||||||
|
)
|
||||||
|
;
|
||||||
|
|
||||||
|
UINTN
|
||||||
|
GetSizeTableIndex (
|
||||||
|
IN UINTN LocalTokenNumberTableIdx,
|
||||||
|
IN PEI_PCD_DATABASE *Database
|
||||||
|
)
|
||||||
|
;
|
||||||
|
|
||||||
UINTN
|
UINTN
|
||||||
GetPtrTypeSize (
|
GetPtrTypeSize (
|
||||||
|
|
Loading…
Reference in New Issue