summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>2007-03-20 02:44:09 +0000
committervanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>2007-03-20 02:44:09 +0000
commit3aaddf9276ccf00b4b6349dfce058e3ae287dd3a (patch)
tree3fbec1e869f0667f2bcaea0a17850578d2a28978
parentb06af5d71ec9fc353b9433a26fc55d14077f7cde (diff)
downloadedk2-3aaddf9276ccf00b4b6349dfce058e3ae287dd3a.zip
edk2-3aaddf9276ccf00b4b6349dfce058e3ae287dd3a.tar.gz
edk2-3aaddf9276ccf00b4b6349dfce058e3ae287dd3a.tar.bz2
1. Removed #ifdef SNP_DEBUG and used debug lib to output information
2. Rename PcdPlatformNoCsmSupport to PcdPlatformCsmSupport. 3 Removed #ifdef EFI_NO_CSM and used PcdPlatformCsmSupport. 4. Removed #ifdef ALIGNMENT from C Variable.c and added 2 files Variable/Pei/Ipf/VariableWorker.c and Variable/Pei/VariableWorker.c git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2487 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--EdkModulePkg/EdkModulePkg.fpd32
-rw-r--r--EdkModulePkg/Universal/Network/PxeBc/Dxe/pxe_bc_dhcp.c70
-rw-r--r--EdkModulePkg/Universal/Network/PxeDhcp4/Dxe/PxeDhcp4InitSelect.c13
-rw-r--r--EdkModulePkg/Universal/Network/Snp32_64/Dxe/Snp.h34
-rw-r--r--EdkModulePkg/Universal/Network/Snp32_64/Dxe/callback.c18
-rw-r--r--EdkModulePkg/Universal/Network/Snp32_64/Dxe/snp.c102
-rw-r--r--EdkModulePkg/Universal/Variable/Pei/Ipf/VariableWorker.c44
-rw-r--r--EdkModulePkg/Universal/Variable/Pei/Variable.c26
-rw-r--r--EdkModulePkg/Universal/Variable/Pei/Variable.h32
-rw-r--r--EdkModulePkg/Universal/Variable/Pei/Variable.msa4
-rw-r--r--EdkModulePkg/Universal/Variable/Pei/VariableWorker.c44
-rw-r--r--EdkNt32Pkg/Nt32.fpd8
-rw-r--r--EdkUnixPkg/Unix.fpd8
13 files changed, 202 insertions, 233 deletions
diff --git a/EdkModulePkg/EdkModulePkg.fpd b/EdkModulePkg/EdkModulePkg.fpd
index fe8fcd8..3dfed11 100644
--- a/EdkModulePkg/EdkModulePkg.fpd
+++ b/EdkModulePkg/EdkModulePkg.fpd
@@ -2075,14 +2075,6 @@
<MaxDatumSize>4</MaxDatumSize>
<Value>320</Value>
</PcdData>
- <PcdData ItemType="FEATURE_FLAG">
- <C_Name>PcdNtEmulatorEnable</C_Name>
- <Token>0x0001003e</Token>
- <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
- <DatumType>BOOLEAN</DatumType>
- <MaxDatumSize>1</MaxDatumSize>
- <Value>FALSE</Value>
- </PcdData>
</PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>
@@ -8030,14 +8022,6 @@
<MaxDatumSize>4</MaxDatumSize>
<Value>320</Value>
</PcdData>
- <PcdData ItemType="FEATURE_FLAG">
- <C_Name>PcdNtEmulatorEnable</C_Name>
- <Token>0x0001003e</Token>
- <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
- <DatumType>BOOLEAN</DatumType>
- <MaxDatumSize>1</MaxDatumSize>
- <Value>FALSE</Value>
- </PcdData>
</PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>
@@ -12587,14 +12571,6 @@
<MaxDatumSize>4</MaxDatumSize>
<Value>320</Value>
</PcdData>
- <PcdData ItemType="FEATURE_FLAG">
- <C_Name>PcdNtEmulatorEnable</C_Name>
- <Token>0x0001003e</Token>
- <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
- <DatumType>BOOLEAN</DatumType>
- <MaxDatumSize>1</MaxDatumSize>
- <Value>FALSE</Value>
- </PcdData>
</PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>
@@ -16966,14 +16942,6 @@
<MaxDatumSize>4</MaxDatumSize>
<Value>320</Value>
</PcdData>
- <PcdData ItemType="FEATURE_FLAG">
- <C_Name>PcdNtEmulatorEnable</C_Name>
- <Token>0x0001003e</Token>
- <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
- <DatumType>BOOLEAN</DatumType>
- <MaxDatumSize>1</MaxDatumSize>
- <Value>FALSE</Value>
- </PcdData>
</PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>
diff --git a/EdkModulePkg/Universal/Network/PxeBc/Dxe/pxe_bc_dhcp.c b/EdkModulePkg/Universal/Network/PxeBc/Dxe/pxe_bc_dhcp.c
index bb7022b..101c030 100644
--- a/EdkModulePkg/Universal/Network/PxeBc/Dxe/pxe_bc_dhcp.c
+++ b/EdkModulePkg/Universal/Network/PxeBc/Dxe/pxe_bc_dhcp.c
@@ -1,17 +1,17 @@
/*++
-Copyright (c) 2006, 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
-which 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.
+Copyright (c) 2006, 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
+which 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.
Module Name:
pxe_bc_dhcp.c
-
+
Abstract:
DHCP and PXE discovery protocol implementations.
@@ -411,7 +411,7 @@ Routine description:
Arguments:
Smbios - Pointer to SMBIOS structure
- StringNumber - String number to return. 0 is used to skip all strings and
+ StringNumber - String number to return. 0 is used to skip all strings and
point to the next SMBIOS structure.
Returns:
@@ -1165,11 +1165,11 @@ Parameters:
Private := Pointer to PxeBc interface
ExtraEdit := Pointer to extra option checking function
OpFlags := UdpRead() option flags
- ServerIpPtr :=
- ServerPortPtr :=
- ClientIpPtr :=
- ClientPortPtr :=
- DhcpRxBuf :=
+ ServerIpPtr :=
+ ServerPortPtr :=
+ ClientIpPtr :=
+ ClientPortPtr :=
+ DhcpRxBuf :=
TimeoutEvent :=
Returns:
@@ -2309,7 +2309,7 @@ Routine description:
Parameters:
This := Pointer to PxeBc interface
- SortOffers :=
+ SortOffers :=
Returns:
--*/
@@ -2466,12 +2466,12 @@ DoDiscover (
PXE_SERVER_LISTS *ServerListPtr
)
/*++
-Routine description:
+Routine description:
This function tries to complete the PXE Bootserver and/or boot image
discovery sequence. When this command completes successfully, the
PXEdiscover and PXEreply fields in the BC instance data structure are
updated. If the Info pointer is set to NULL, the discovery information
- in the DHCPack and ProxyOffer packets must be valid and will be used.
+ in the DHCPack and ProxyOffer packets must be valid and will be used.
If Info is not set to NULL, the discovery methods in the Info field
must be set and will be used. When discovering any layer number other
than zero (the credential flag does not count), only unicast discovery
@@ -2479,12 +2479,12 @@ Routine description:
Parameters:
Private := Pointer to PxeBc interface
- OpFlags :=
- Type :=
- LayerPtr :=
- UseBis :=
- DestPtr :=
- ServerListPtr :=
+ OpFlags :=
+ Type :=
+ LayerPtr :=
+ UseBis :=
+ DestPtr :=
+ ServerListPtr :=
Returns:
--*/
@@ -2771,12 +2771,12 @@ Routine Description:
Parameters:
Private := Pointer to PxeBc interface
- Type :=
- LayerPtr :=
- UseBis :=
- DiscoverInfoPtr :=
- McastServerListPtr :=
- ServerListPtr :=
+ Type :=
+ LayerPtr :=
+ UseBis :=
+ DiscoverInfoPtr :=
+ McastServerListPtr :=
+ ServerListPtr :=
Returns:
--*/
@@ -2907,11 +2907,11 @@ BcDiscover (
Routine description:
Parameters:
- This :=
- Type :=
- LayerPtr :=
- UseBis :=
- DiscoverInfoPtr :=
+ This :=
+ Type :=
+ LayerPtr :=
+ UseBis :=
+ DiscoverInfoPtr :=
Returns:
--*/
diff --git a/EdkModulePkg/Universal/Network/PxeDhcp4/Dxe/PxeDhcp4InitSelect.c b/EdkModulePkg/Universal/Network/PxeDhcp4/Dxe/PxeDhcp4InitSelect.c
index 3cb7f3f..1b500c5 100644
--- a/EdkModulePkg/Universal/Network/PxeDhcp4/Dxe/PxeDhcp4InitSelect.c
+++ b/EdkModulePkg/Universal/Network/PxeDhcp4/Dxe/PxeDhcp4InitSelect.c
@@ -19,11 +19,6 @@ Abstract:
#include "PxeDhcp4.h"
-#define DebugPrint(x)
-//
-// #define DebugPrint(x) Aprint x
-//
-/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
STATIC
INTN
offer_verify (
@@ -400,7 +395,7 @@ PxeDhcp4Init (
Private->offer_list = NULL;
Private->callback = NULL;
- DebugPrint (("%a:%d:%r\n", __FILE__, __LINE__, EfiStatus));
+ DEBUG ((EFI_D_ERROR, "%r\n", EfiStatus));
return EfiStatus;
}
@@ -687,7 +682,7 @@ PxeDhcp4Select (
EfiStatus = add_opt (&request, srvid);
if (EFI_ERROR (EfiStatus)) {
- DebugPrint (("%a:%d:%r\n", __FILE__, __LINE__, EfiStatus));
+ DEBUG ((EFI_D_ERROR, "%r\n", EfiStatus));
Private->callback = NULL;
return EfiStatus;
}
@@ -702,7 +697,7 @@ PxeDhcp4Select (
EfiStatus = add_opt (&request, op);
if (EFI_ERROR (EfiStatus)) {
- DebugPrint (("%a:%d:%r\n", __FILE__, __LINE__, EfiStatus));
+ DEBUG ((EFI_D_ERROR, "%r\n", EfiStatus));
Private->callback = NULL;
return EfiStatus;
}
@@ -724,7 +719,7 @@ PxeDhcp4Select (
);
if (EFI_ERROR (EfiStatus)) {
- DebugPrint (("%a:%d:%r\n", __FILE__, __LINE__, EfiStatus));
+ DEBUG ((EFI_D_ERROR, "%r\n", EfiStatus));
Private->callback = NULL;
return EfiStatus;
}
diff --git a/EdkModulePkg/Universal/Network/Snp32_64/Dxe/Snp.h b/EdkModulePkg/Universal/Network/Snp32_64/Dxe/Snp.h
index 31cbc8e..038c2e6 100644
--- a/EdkModulePkg/Universal/Network/Snp32_64/Dxe/Snp.h
+++ b/EdkModulePkg/Universal/Network/Snp32_64/Dxe/Snp.h
@@ -1,12 +1,12 @@
/*++
-Copyright (c) 2006, 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
-which 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.
+Copyright (c) 2006, 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
+which 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.
Module name:
snp.h
@@ -22,17 +22,8 @@ Revision history:
#include "IndustryStandard/pci22.h"
-#define SNP_DEBUG 0
#define FOUR_GIGABYTES (UINT64) 0x100000000ULL
-#if SNP_DEBUG
-#undef D_NET
-#define D_NET D_WARN
-#define SNP_PRINT(DebugInfo) Print (DebugInfo)
-#else
-#define SNP_PRINT(DebugInfo)
-#endif
-
#define SNP_DRIVER_SIGNATURE EFI_SIGNATURE_32 ('s', 'n', 'd', 's')
#define MAX_MAP_LENGTH 100
@@ -455,13 +446,4 @@ VOID
#define SNP_MEM_PAGES(x) (((x) - 1) / 4096 + 1)
-#if SNP_DEBUG
-extern
-VOID
-snp_wait_for_key (
- VOID
- )
-;
-#endif
-
#endif /* _SNP_H */
diff --git a/EdkModulePkg/Universal/Network/Snp32_64/Dxe/callback.c b/EdkModulePkg/Universal/Network/Snp32_64/Dxe/callback.c
index 2a9c953..16e40c6 100644
--- a/EdkModulePkg/Universal/Network/Snp32_64/Dxe/callback.c
+++ b/EdkModulePkg/Universal/Network/Snp32_64/Dxe/callback.c
@@ -1,12 +1,12 @@
/*++
-Copyright (c) 2006, 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
-which 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.
+Copyright (c) 2006, 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
+which 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.
Module name:
callback.c
@@ -482,7 +482,7 @@ Returns:
}
if (Index >= MAX_MAP_LENGTH) {
- SNP_PRINT (L"SNP maplist is FULL\n");
+ DEBUG ((EFI_D_INFO, "SNP maplist is FULL\n"));
*DevAddrPtr = 0;
return ;
}
diff --git a/EdkModulePkg/Universal/Network/Snp32_64/Dxe/snp.c b/EdkModulePkg/Universal/Network/Snp32_64/Dxe/snp.c
index 7146e46..4b6cda9 100644
--- a/EdkModulePkg/Universal/Network/Snp32_64/Dxe/snp.c
+++ b/EdkModulePkg/Universal/Network/Snp32_64/Dxe/snp.c
@@ -1,12 +1,12 @@
/*++
-Copyright (c) 2006, 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
-which 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.
+Copyright (c) 2006, 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
+which 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.
Module name:
snp.c
@@ -41,10 +41,8 @@ Returns:
--*/
{
-#if SNP_DEBUG
- Aprint ("\nissue_hwundi_command() - This should not be called!");
- snp_wait_for_key ();
-#endif
+ DEBUG ((EFI_D_ERROR, "\nissue_hwundi_command() - This should not be called!"));
+
if (cdb == 0) {
return EFI_INVALID_PARAMETER;
@@ -65,7 +63,7 @@ calc_8bit_cksum (
Routine Description:
Compute 8-bit checksum of a buffer.
-
+
Arguments:
ptr - Pointer to buffer.
len - Length of buffer in bytes.
@@ -147,19 +145,13 @@ SimpleNetworkDriverSupported (
);
if (Status == EFI_ALREADY_STARTED)
{
-#if SNP_DEBUG
- Aprint ("Support(): Already Started. on handle %x\n", Controller);
-#endif
+ DEBUG ((EFI_D_INFO, "Support(): Already Started. on handle %x\n", Controller));
return EFI_ALREADY_STARTED;
}
if (!EFI_ERROR (Status))
{
-
-#if SNP_DEBUG
- Aprint ("Support(): UNDI3.1 found on handle %x\n", Controller);
- snp_wait_for_key ();
-#endif
+ DEBUG ((EFI_D_INFO, "Support(): UNDI3.1 found on handle %x\n", Controller));
IsUndi31 = TRUE;
} else {
//
@@ -177,10 +169,7 @@ SimpleNetworkDriverSupported (
return Status;
}
-#if SNP_DEBUG
- Aprint ("Support(): UNDI3.0 found on handle %x\n", Controller);
- snp_wait_for_key ();
-#endif
+ DEBUG ((EFI_D_INFO, "Support(): UNDI3.0 found on handle %x\n", Controller));
}
//
// check the version, we don't want to connect to the undi16
@@ -244,10 +233,7 @@ SimpleNetworkDriverSupported (
}
Status = EFI_SUCCESS;
-#if SNP_DEBUG
- Aprint ("Support(): supported on %x\n", Controller);
- snp_wait_for_key ();
-#endif
+ DEBUG ((EFI_D_INFO, "Support(): supported on %x\n", Controller));
Done:
if (IsUndi31) {
@@ -374,10 +360,8 @@ Arguments:
// probably not a 3.1 UNDI
//
UndiNew = TRUE;
-#if SNP_DEBUG
- Aprint ("Start(): UNDI3.1 found\n");
- snp_wait_for_key ();
-#endif
+ DEBUG ((EFI_D_INFO, "Start(): UNDI3.1 found\n"));
+
} else {
UndiNew = FALSE;
Status = gBS->OpenProtocol (
@@ -399,10 +383,7 @@ Arguments:
return Status;
}
-#if SNP_DEBUG
- Aprint ("Start(): UNDI3.0 found\n");
- snp_wait_for_key ();
-#endif
+ DEBUG ((EFI_D_INFO, "Start(): UNDI3.0 found\n"));
}
pxe = (PXE_UNDI *) (UINTN) (Nii->ID);
@@ -996,7 +977,7 @@ Returns:
Controller
);
}
-
+
Status = gBS->CloseProtocol (
Controller,
&gEfiDevicePathProtocolGuid,
@@ -1077,7 +1058,7 @@ add_v2p (
Routine Description:
This routine maps the given CPU address to a Device address. It creates a
- an entry in the map list with the virtual and physical addresses and the
+ an entry in the map list with the virtual and physical addresses and the
un map cookie.
Arguments:
@@ -1138,7 +1119,7 @@ find_v2p (
/*++
Routine Description:
- This routine searches the linked list of mapped address nodes (for undi3.0
+ This routine searches the linked list of mapped address nodes (for undi3.0
interface) to find the node that corresponds to the given virtual address and
returns a pointer to that node.
@@ -1176,9 +1157,9 @@ del_v2p (
/*++
Routine Description:
- This routine unmaps the given virtual address and frees the memory allocated
+ This routine unmaps the given virtual address and frees the memory allocated
for the map list node corresponding to that address.
-
+
Arguments:
vaddr - virtual address (or CPU address) to be unmapped
@@ -1210,11 +1191,9 @@ Returns:
gBS->FreePool (v);
-#if SNP_DEBUG
if (Status) {
- Print (L"Unmap failed with status = %x\n", Status);
+ DEBUG ((EFI_D_ERROR, "Unmap failed with status = %x\n", Status));
}
-#endif
return Status;
}
@@ -1223,42 +1202,13 @@ Returns:
v->next = t->next;
Status = mPciIoFncs->Unmap (mPciIoFncs, t->unmap);
gBS->FreePool (t);
-#if SNP_DEBUG
+
if (Status) {
- Print (L"Unmap failed with status = %x\n", Status);
+ DEBUG ((EFI_D_ERROR, "Unmap failed with status = %x\n", Status));
}
-#endif
return Status;
}
}
return EFI_NOT_FOUND;
}
-
-#if SNP_DEBUG
-VOID
-snp_wait_for_key (
- VOID
- )
-/*++
-
-Routine Description:
- Wait for a key stroke, used for debugging purposes
-
-Arguments:
- none
-
-Returns:
- none
-
---*/
-{
- EFI_INPUT_KEY key;
-
- Aprint ("\nPress any key to continue\n");
-
- while (gST->ConIn->ReadKeyStroke (gST->ConIn, &key) == EFI_NOT_READY) {
- ;
- }
-}
-#endif
diff --git a/EdkModulePkg/Universal/Variable/Pei/Ipf/VariableWorker.c b/EdkModulePkg/Universal/Variable/Pei/Ipf/VariableWorker.c
new file mode 100644
index 0000000..302bc14
--- /dev/null
+++ b/EdkModulePkg/Universal/Variable/Pei/Ipf/VariableWorker.c
@@ -0,0 +1,44 @@
+/*++
+
+Copyright (c) 2007, 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
+which 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.
+
+Module Name:
+
+ VariableWorker.c
+
+Abstract:
+
+ Framework PEIM to provide the Variable functionality
+
+--*/
+
+#include <Variable.h>
+
+
+VARIABLE_HEADER *
+GetVariableByIndex (
+ IN VARIABLE_INDEX_TABLE *IndexTable,
+ IN UINT32 Count
+ )
+{
+ return (VARIABLE_HEADER *) (UINTN) ((((UINT32)IndexTable->Index[Count]) << 2) + ((UINT32)(UINTN)IndexTable->StartPtr & 0xFFFC0000) );
+}
+
+VOID
+VariableIndexTableUpdate (
+ IN OUT VARIABLE_INDEX_TABLE *IndexTable,
+ IN VARIABLE_HEADER *Variable
+ )
+{
+ IndexTable->Index[IndexTable->Length++] = (UINT16) (((UINT32)(UINTN) Variable) >> 2);
+
+ return;
+}
+
diff --git a/EdkModulePkg/Universal/Variable/Pei/Variable.c b/EdkModulePkg/Universal/Variable/Pei/Variable.c
index 33772f8..0660419 100644
--- a/EdkModulePkg/Universal/Variable/Pei/Variable.c
+++ b/EdkModulePkg/Universal/Variable/Pei/Variable.c
@@ -8,7 +8,6 @@ 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.
-
Module Name:
Variable.c
@@ -50,7 +49,7 @@ Routine Description:
Provide the functionality of the variable services.
Arguments:
-
+
FfsHeadher - The FFS file header
PeiServices - General purpose services available to every PEIM.
@@ -192,7 +191,7 @@ Returns:
EFI_SUCCESS - Found match variable
EFI_NOT_FOUND - Variable not found
-
+
--*/
{
if (VariableName[0] == 0) {
@@ -265,7 +264,7 @@ Returns:
// No Variable Address equals zero, so 0 as initial value is safe.
//
MaxIndex = 0;
-
+
GuidHob = GetFirstGuidHob (&gEfiVariableIndexTableGuid);
if (GuidHob == NULL) {
IndexTable = BuildGuidHob (&gEfiVariableIndexTableGuid, sizeof (VARIABLE_INDEX_TABLE));
@@ -277,13 +276,8 @@ Returns:
IndexTable = GET_GUID_HOB_DATA (GuidHob);
for (Count = 0; Count < IndexTable->Length; Count++)
{
-#if ALIGNMENT <= 1
- MaxIndex = (VARIABLE_HEADER *) (UINTN) (IndexTable->Index[Count] + ((UINTN) IndexTable->StartPtr & 0xFFFF0000));
-#else
-#if ALIGNMENT >= 4
- MaxIndex = (VARIABLE_HEADER *) (UINTN) ((((UINT32)IndexTable->Index[Count]) << 2) + ((UINT32)(UINTN)IndexTable->StartPtr & 0xFFFC0000) );
-#endif
-#endif
+ MaxIndex = GetVariableByIndex (IndexTable, Count);
+
if (CompareWithValidVariable (MaxIndex, VariableName, VendorGuid, PtrTrack) == EFI_SUCCESS) {
PtrTrack->StartPtr = IndexTable->StartPtr;
PtrTrack->EndPtr = IndexTable->EndPtr;
@@ -308,7 +302,7 @@ Returns:
VariableBase = (UINT8 *) (UINTN) PcdGet32 (PcdFlashNvStorageVariableBase);
VariableStoreHeader = (VARIABLE_STORE_HEADER *) (VariableBase + \
((EFI_FIRMWARE_VOLUME_HEADER *) (VariableBase)) -> HeaderLength);
-
+
if (GetVariableStoreStatus (VariableStoreHeader) != EfiValid) {
return EFI_UNSUPPORTED;
}
@@ -342,13 +336,7 @@ Returns:
//
if (IndexTable->Length < VARIABLE_INDEX_TABLE_VOLUME)
{
-#if ALIGNMENT <= 1
- IndexTable->Index[IndexTable->Length++] = (UINT16) (UINTN) Variable;
-#else
-#if ALIGNMENT >= 4
- IndexTable->Index[IndexTable->Length++] = (UINT16) (((UINT32)(UINTN) Variable) >> 2);
-#endif
-#endif
+ VariableIndexTableUpdate (IndexTable, Variable);
}
if (CompareWithValidVariable (Variable, VariableName, VendorGuid, PtrTrack) == EFI_SUCCESS) {
diff --git a/EdkModulePkg/Universal/Variable/Pei/Variable.h b/EdkModulePkg/Universal/Variable/Pei/Variable.h
index ac7c579..d400af4 100644
--- a/EdkModulePkg/Universal/Variable/Pei/Variable.h
+++ b/EdkModulePkg/Universal/Variable/Pei/Variable.h
@@ -1,18 +1,18 @@
/*++
-Copyright (c) 2006, 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
-which 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.
+Copyright (c) 2006, 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
+which 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.
Module Name:
Variable.h
-
+
Abstract:
Tiano PEIM to provide the variable functionality
@@ -24,7 +24,7 @@ Abstract:
//
// BugBug: We need relcate the head file.
-//
+//
#include <Common/Variable.h>
#include <VarMachine.h>
@@ -150,4 +150,16 @@ Returns:
--*/
;
+VARIABLE_HEADER *
+GetVariableByIndex (
+ IN VARIABLE_INDEX_TABLE *IndexTable,
+ IN UINT32 Count
+ );
+
+VOID
+VariableIndexTableUpdate (
+ IN OUT VARIABLE_INDEX_TABLE *IndexTable,
+ IN VARIABLE_HEADER *Variable
+ );
+
#endif // _PEI_VARIABLE_H
diff --git a/EdkModulePkg/Universal/Variable/Pei/Variable.msa b/EdkModulePkg/Universal/Variable/Pei/Variable.msa
index 0313c2e..565ae31 100644
--- a/EdkModulePkg/Universal/Variable/Pei/Variable.msa
+++ b/EdkModulePkg/Universal/Variable/Pei/Variable.msa
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<MsaHeader>
<ModuleName>PeiVariable</ModuleName>
@@ -42,6 +42,8 @@
<Filename>Variable.h</Filename>
<Filename>Variable.c</Filename>
<Filename>Variable.dxs</Filename>
+ <Filename SupArchList="IA32 X64 EBC">VariableWorker.c</Filename>
+ <Filename SupArchList="IPF">Ipf/VariableWorker.c</Filename>
<Filename SupArchList="IA32">Ia32/VarMachine.h</Filename>
<Filename SupArchList="EBC">Ebc/VarMachine.h</Filename>
<Filename SupArchList="X64">x64/VarMachine.h</Filename>
diff --git a/EdkModulePkg/Universal/Variable/Pei/VariableWorker.c b/EdkModulePkg/Universal/Variable/Pei/VariableWorker.c
new file mode 100644
index 0000000..ae64cb0
--- /dev/null
+++ b/EdkModulePkg/Universal/Variable/Pei/VariableWorker.c
@@ -0,0 +1,44 @@
+/*++
+
+Copyright (c) 2007, 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
+which 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.
+
+Module Name:
+
+ VariableWorker.c
+
+Abstract:
+
+ Framework PEIM to provide the Variable functionality
+
+--*/
+
+#include <Variable.h>
+
+
+VARIABLE_HEADER *
+GetVariableByIndex (
+ IN VARIABLE_INDEX_TABLE *IndexTable,
+ IN UINT32 Count
+ )
+{
+ return (VARIABLE_HEADER *) (UINTN) (IndexTable->Index[Count] + ((UINTN) IndexTable->StartPtr & 0xFFFF0000));
+}
+
+VOID
+VariableIndexTableUpdate (
+ IN OUT VARIABLE_INDEX_TABLE *IndexTable,
+ IN VARIABLE_HEADER *Variable
+ )
+{
+ IndexTable->Index[IndexTable->Length++] = (UINT16) (UINTN) Variable;
+
+ return;
+}
+
diff --git a/EdkNt32Pkg/Nt32.fpd b/EdkNt32Pkg/Nt32.fpd
index 1fac2da..f9b0c58 100644
--- a/EdkNt32Pkg/Nt32.fpd
+++ b/EdkNt32Pkg/Nt32.fpd
@@ -3224,14 +3224,6 @@
<MaxDatumSize>4</MaxDatumSize>
<Value>320</Value>
</PcdData>
- <PcdData ItemType="FEATURE_FLAG">
- <C_Name>PcdNtEmulatorEnable</C_Name>
- <Token>0x0001003e</Token>
- <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
- <DatumType>BOOLEAN</DatumType>
- <MaxDatumSize>1</MaxDatumSize>
- <Value>FALSE</Value>
- </PcdData>
</PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>
diff --git a/EdkUnixPkg/Unix.fpd b/EdkUnixPkg/Unix.fpd
index c5ffd9c..372a368 100644
--- a/EdkUnixPkg/Unix.fpd
+++ b/EdkUnixPkg/Unix.fpd
@@ -3216,14 +3216,6 @@
<MaxDatumSize>4</MaxDatumSize>
<Value>320</Value>
</PcdData>
- <PcdData ItemType="FEATURE_FLAG">
- <C_Name>PcdNtEmulatorEnable</C_Name>
- <Token>0x0001003e</Token>
- <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
- <DatumType>BOOLEAN</DatumType>
- <MaxDatumSize>1</MaxDatumSize>
- <Value>FALSE</Value>
- </PcdData>
</PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>NULL</FvBinding>