diff options
author | vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> | 2007-04-13 02:23:10 +0000 |
---|---|---|
committer | vanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524> | 2007-04-13 02:23:10 +0000 |
commit | bbee9482d7a361474dd12b35bda1553a9996e130 (patch) | |
tree | 572c0b78c134f9d79c6b32900a04819d0b9977eb | |
parent | ba6e17fe11a889992dae7f0393dc30bd7da022e6 (diff) | |
download | edk2-bbee9482d7a361474dd12b35bda1553a9996e130.tar.gz edk2-bbee9482d7a361474dd12b35bda1553a9996e130.tar.bz2 edk2-bbee9482d7a361474dd12b35bda1553a9996e130.zip |
Fixed some issues for IA32 architecture platform build.
1. added UINTN typecast for shift.
2. updated Nt32.fpd and Unix.fpd.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2564 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r-- | EdkModulePkg/Bus/Pci/PciBus/Dxe/PciLib.c | 25 | ||||
-rw-r--r-- | EdkNt32Pkg/Nt32.fpd | 10 | ||||
-rw-r--r-- | EdkUnixPkg/Unix.fpd | 10 |
3 files changed, 26 insertions, 19 deletions
diff --git a/EdkModulePkg/Bus/Pci/PciBus/Dxe/PciLib.c b/EdkModulePkg/Bus/Pci/PciBus/Dxe/PciLib.c index fb6f21fe9d..1296836a30 100644 --- a/EdkModulePkg/Bus/Pci/PciBus/Dxe/PciLib.c +++ b/EdkModulePkg/Bus/Pci/PciBus/Dxe/PciLib.c @@ -2113,7 +2113,7 @@ ReadConfigData ( return Status;
}
- Stride = 1 << AccessWidth;
+ Stride = 1 << AccessWidth;
AccessAddress += Stride;
if (AccessAddress >= (Address + (1 << Width))) {
//
@@ -2215,9 +2215,7 @@ UpdateConfigData ( {
EFI_STATUS Status;
EFI_PCI_REGISTER_VALUE_DATA *PciRegisterData;
- UINT64 AndValue;
- UINT64 OrValue;
- UINT32 TempValue;
+ UINT64 TempValue;
//
// check register value incompatibility
@@ -2226,28 +2224,17 @@ UpdateConfigData ( if (Status == EFI_SUCCESS) {
- AndValue = (PciRegisterData->AndValue) >> ((Address & 0x3) * 8);
- OrValue = (PciRegisterData->OrValue) >> ((Address & 0x3) * 8);
-
TempValue = * (UINT32 *) Buffer;
- if (PciRegisterData->AndValue != VALUE_NOCARE) {
- TempValue &= (UINT32) AndValue;
- }
- if (PciRegisterData->OrValue != VALUE_NOCARE) {
- TempValue |= (UINT32) OrValue;
- }
-
switch (Width) {
case EfiPciWidthUint8:
- *(UINT32 *)Buffer = *(UINT32 *)Buffer & 0xffffff00 + (UINT8)TempValue;
+ * (UINT8 *) Buffer = (UINT8) TempValue;
break;
-
case EfiPciWidthUint16:
- *(UINT32 *)Buffer = *(UINT32 *)Buffer & 0xffff0000 + (UINT16)TempValue;
+ * (UINT16 *) Buffer = (UINT16) TempValue;
break;
case EfiPciWidthUint32:
- *(UINT32 *)Buffer = TempValue;
+ * (UINT32 *) Buffer = (UINT32) TempValue;
break;
default:
@@ -2340,7 +2327,7 @@ WriteConfigData ( //
UpdateConfigData (PciDeviceInfo, PCI_REGISTER_READ, AccessWidth, AccessAddress & 0xff, &Data);
- Shift = (Address - AccessAddress) * 8;
+ Shift = (UINTN) ((Address - AccessAddress) * 8);
switch (Width) {
case EfiPciWidthUint8:
Data = (* (UINT8 *) Buffer) << Shift | (Data & ~(0xff << Shift));
diff --git a/EdkNt32Pkg/Nt32.fpd b/EdkNt32Pkg/Nt32.fpd index ab4ac4b913..9eb391b61f 100644 --- a/EdkNt32Pkg/Nt32.fpd +++ b/EdkNt32Pkg/Nt32.fpd @@ -4537,6 +4537,8 @@ <Instance ModuleGuid="4674739d-3195-4fb2-8094-ac1d22d00194" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
<Instance ModuleGuid="91c1677a-e57f-4191-8b8e-eb7711a716e0" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
<Instance ModuleGuid="be490364-73d2-420d-950e-f6450ca75dfb" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
+ <!--Pkg: EdkModulePkg Mod: EdkPciIncompatibleDeviceSuppportLib Path: EdkModulePkg\Library\EdkPciIncompatibleDeviceSupportLib\EdkPciIncompatibleDeviceSupportLib.msa-->
+ <Instance ModuleGuid="1ca1c1f9-5baf-4204-b6e5-5e24109a4e4e" ModuleVersion="1.0" PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d" PackageVersion="0.3"/>
</Libraries>
<PcdBuildDefinition>
<PcdData ItemType="FIXED_AT_BUILD">
@@ -4651,6 +4653,14 @@ <MaxDatumSize>4</MaxDatumSize>
<Value>320</Value>
</PcdData>
+ <PcdData ItemType="FIXED_AT_BUILD">
+ <C_Name>PcdPciIncompatibleDeviceSupportMask</C_Name>
+ <Token>0x0001003f</Token>
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
+ <DatumType>UINT8</DatumType>
+ <MaxDatumSize>1</MaxDatumSize>
+ <Value>0x0</Value>
+ </PcdData>
</PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>FV_RECOVERY</FvBinding>
diff --git a/EdkUnixPkg/Unix.fpd b/EdkUnixPkg/Unix.fpd index b088f7d24c..c48a5e78c6 100644 --- a/EdkUnixPkg/Unix.fpd +++ b/EdkUnixPkg/Unix.fpd @@ -4521,6 +4521,8 @@ <Instance ModuleGuid="4674739d-3195-4fb2-8094-ac1d22d00194" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
<Instance ModuleGuid="91c1677a-e57f-4191-8b8e-eb7711a716e0" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
<Instance ModuleGuid="be490364-73d2-420d-950e-f6450ca75dfb" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
+ <!--Pkg: EdkModulePkg Mod: EdkPciIncompatibleDeviceSuppportLib Path: EdkModulePkg\Library\EdkPciIncompatibleDeviceSupportLib\EdkPciIncompatibleDeviceSupportLib.msa-->
+ <Instance ModuleGuid="1ca1c1f9-5baf-4204-b6e5-5e24109a4e4e" ModuleVersion="1.0" PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d" PackageVersion="0.3"/>
</Libraries>
<PcdBuildDefinition>
<PcdData ItemType="FIXED_AT_BUILD">
@@ -4635,6 +4637,14 @@ <MaxDatumSize>4</MaxDatumSize>
<Value>320</Value>
</PcdData>
+ <PcdData ItemType="FIXED_AT_BUILD">
+ <C_Name>PcdPciIncompatibleDeviceSupportMask</C_Name>
+ <Token>0x0001003f</Token>
+ <TokenSpaceGuidCName>gEfiEdkModulePkgTokenSpaceGuid</TokenSpaceGuidCName>
+ <DatumType>UINT8</DatumType>
+ <MaxDatumSize>1</MaxDatumSize>
+ <Value>0x0</Value>
+ </PcdData>
</PcdBuildDefinition>
<ModuleSaBuildOptions>
<FvBinding>FV_RECOVERY</FvBinding>
|