summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>2006-06-07 15:56:29 +0000
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>2006-06-07 15:56:29 +0000
commit4f24235764853ea71f51b438a81c7b95efcffb8f (patch)
treeff60c171b757c79adb03ccdaf93c1f576f8ae57e
parent533f039eb0bd2a1d5e7f11debb1379b048630021 (diff)
downloadedk2-4f24235764853ea71f51b438a81c7b95efcffb8f.zip
edk2-4f24235764853ea71f51b438a81c7b95efcffb8f.tar.gz
edk2-4f24235764853ea71f51b438a81c7b95efcffb8f.tar.bz2
Make sure Pcd service driver can work on 64-bit architecture.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@439 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--EdkModulePkg/Universal/PCD/Dxe/Pcd.c4
-rw-r--r--EdkModulePkg/Universal/PCD/Dxe/Service.c20
-rw-r--r--EdkModulePkg/Universal/PCD/Dxe/Service.h2
-rw-r--r--EdkModulePkg/Universal/PCD/Pei/Pcd.mbd4
4 files changed, 15 insertions, 15 deletions
diff --git a/EdkModulePkg/Universal/PCD/Dxe/Pcd.c b/EdkModulePkg/Universal/PCD/Dxe/Pcd.c
index ffb6225..d0f85d2 100644
--- a/EdkModulePkg/Universal/PCD/Dxe/Pcd.c
+++ b/EdkModulePkg/Universal/PCD/Dxe/Pcd.c
@@ -74,7 +74,7 @@ PcdDxeInit (
//
// Make sure the Pcd Protocol is not already installed in the system
//
-
+
ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gPcdProtocolGuid);
BuildPcdDxeDataBase ();
@@ -274,7 +274,7 @@ DxePcdGetSizeEx (
IN UINTN ExTokenNumber
)
{
- return DxePcdGetSize(GetExPcdTokenNumber (Guid, ExTokenNumber));
+ return DxePcdGetSize(GetExPcdTokenNumber (Guid, (UINT32) ExTokenNumber));
}
diff --git a/EdkModulePkg/Universal/PCD/Dxe/Service.c b/EdkModulePkg/Universal/PCD/Dxe/Service.c
index 8cb08dc..4b86cd7 100644
--- a/EdkModulePkg/Universal/PCD/Dxe/Service.c
+++ b/EdkModulePkg/Universal/PCD/Dxe/Service.c
@@ -83,7 +83,7 @@ GetWorker (
switch (LocalTokenNumber & ~PCD_DATABASE_OFFSET_MASK) {
case PCD_TYPE_VPD:
VpdHead = (VPD_HEAD *) ((UINT8 *) PcdDb + Offset);
- return (VOID *) (FixedPcdGet32(PcdVpdBaseAddress) + VpdHead->Offset);
+ return (VOID *) (UINTN) (FixedPcdGet32(PcdVpdBaseAddress) + VpdHead->Offset);
case PCD_TYPE_HII:
GuidTable = IsPeiDb ? mPcdDatabase->PeiDb.Init.GuidTable :
@@ -134,7 +134,7 @@ DxeRegisterCallBackWorker (
LIST_ENTRY *ListNode;
if (Guid != NULL) {
- TokenNumber = GetExPcdTokenNumber (Guid, TokenNumber);
+ TokenNumber = GetExPcdTokenNumber (Guid, (UINT32) TokenNumber);
}
ListHead = &mCallbackFnTable[TokenNumber];
@@ -177,7 +177,7 @@ DxeUnRegisterCallBackWorker (
LIST_ENTRY *ListNode;
if (Guid != NULL) {
- TokenNumber = GetExPcdTokenNumber (Guid, TokenNumber);
+ TokenNumber = GetExPcdTokenNumber (Guid, (UINT32) TokenNumber);
}
ListHead = &mCallbackFnTable[TokenNumber];
@@ -398,15 +398,15 @@ GetSkuEnabledTokenNumber (
switch (LocalTokenNumber & ~PCD_DATABASE_OFFSET_MASK) {
case PCD_TYPE_VPD:
Value = (UINT8 *) &(((VPD_HEAD *) Value)[i]);
- return ((Value - PcdDb) | PCD_TYPE_VPD);
+ return (UINT32) ((Value - PcdDb) | PCD_TYPE_VPD);
case PCD_TYPE_HII:
Value = (UINT8 *) &(((VARIABLE_HEAD *) Value)[i]);
- return ((Value - PcdDb) | PCD_TYPE_HII);
+ return (UINT32) ((Value - PcdDb) | PCD_TYPE_HII);
case PCD_TYPE_DATA:
Value += Size * i;
- return (Value - PcdDb);
+ return (UINT32) (Value - PcdDb);
default:
ASSERT (FALSE);
@@ -583,7 +583,7 @@ ExGetWorker (
IN UINTN GetSize
)
{
- return GetWorker(GetExPcdTokenNumber (Guid, ExTokenNumber), GetSize);
+ return GetWorker(GetExPcdTokenNumber (Guid, (UINT32) ExTokenNumber), GetSize);
}
@@ -601,9 +601,9 @@ ExSetWorker (
{
UINTN TokenNumber;
- TokenNumber = GetExPcdTokenNumber (Guid, ExTokenNumber);
+ TokenNumber = GetExPcdTokenNumber (Guid, (UINT32) ExTokenNumber);
- InvokeCallbackOnSet (ExTokenNumber, Guid, TokenNumber, Data, SetSize);
+ InvokeCallbackOnSet ((UINT32) ExTokenNumber, Guid, TokenNumber, Data, SetSize);
SetWorker (TokenNumber, Data, SetSize, PtrType);
@@ -672,7 +672,7 @@ SetHiiVariable (
UINTN
GetExPcdTokenNumber (
IN CONST EFI_GUID *Guid,
- IN UINTN ExTokenNumber
+ IN UINT32 ExTokenNumber
)
{
UINT32 i;
diff --git a/EdkModulePkg/Universal/PCD/Dxe/Service.h b/EdkModulePkg/Universal/PCD/Dxe/Service.h
index 2784d28..59ec063 100644
--- a/EdkModulePkg/Universal/PCD/Dxe/Service.h
+++ b/EdkModulePkg/Universal/PCD/Dxe/Service.h
@@ -119,7 +119,7 @@ BuildPcdDxeDataBase (
UINTN
GetExPcdTokenNumber (
IN CONST EFI_GUID *Guid,
- IN UINTN ExTokenNumber
+ IN UINT32 ExTokenNumber
)
;
//
diff --git a/EdkModulePkg/Universal/PCD/Pei/Pcd.mbd b/EdkModulePkg/Universal/PCD/Pei/Pcd.mbd
index 816cf6f..5defea7 100644
--- a/EdkModulePkg/Universal/PCD/Pei/Pcd.mbd
+++ b/EdkModulePkg/Universal/PCD/Pei/Pcd.mbd
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2006, Intel Corporation
All rights reserved. This program and the accompanying materials
@@ -31,7 +31,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
<Library>PeimEntryPoint</Library>
<Library>BaseLib</Library>
<Library>PeiCoreLib</Library>
- <Library>PeiServicesTablePointerLib</Library>
+ <Library OverrideID="4444">PeiServicesTablePointerLib</Library>
<Library>PeiHobLib</Library>
<Library>BaseDebugLibReportStatusCode</Library>
<Library>PeiMemoryLib</Library>