Merge 3 PCDs for the ISA Bus Driver to a single PCD that is a bitmask of features.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8861 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
xli24
2009-07-10 07:01:42 +00:00
parent a4df47f109
commit 10c1a4ca0c
5 changed files with 30 additions and 28 deletions

View File

@@ -17,6 +17,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "InternalIsaBus.h"
//
// Bits definition of PcdIsaBusSupportedFeatures
//
#define PCD_ISA_BUS_SUPPORT_DMA BIT0
#define PCD_ISA_BUS_ONLY_SUPPORT_SLAVE_DMA BIT1
#define PCD_ISA_BUS_SUPPORT_ISA_MEMORY BIT2
//
// ISA I/O Support Function Prototypes
//

View File

@@ -65,9 +65,7 @@
gEfiDevicePathProtocolGuid # PROTOCOL TO_START
gEfiGenericMemTestProtocolGuid # PROTOCOL TO_START
[FeaturePcd.common]
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusOnlySupportSlaveDma
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSupportDma
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSupportIsaMemory
[Pcd.common]
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdIsaBusSupportedFeatures

View File

@@ -353,9 +353,9 @@ IsaIoUnmap (
ISA_MAP_INFO *IsaMapInfo;
//
// Unset Feature Flag PcdIsaBusSupportDma to disable support for ISA DMA.
// Check if DMA is supported.
//
if (!FeaturePcdGet (PcdIsaBusSupportDma)) {
if ((PcdGet8 (PcdIsaBusSupportedFeatures) & PCD_ISA_BUS_SUPPORT_DMA) == 0) {
return EFI_UNSUPPORTED;
}
@@ -512,10 +512,9 @@ IsaIoMemRead (
ISA_IO_DEVICE *IsaIoDevice;
//
// Set Feature Flag PcdIsaBusSupportIsaMemory to FALSE to disable support for
// ISA bus memory read/write operations.
// Check if ISA memory is supported.
//
if (!FeaturePcdGet (PcdIsaBusSupportIsaMemory)) {
if ((PcdGet8 (PcdIsaBusSupportedFeatures) & PCD_ISA_BUS_SUPPORT_ISA_MEMORY) == 0) {
return EFI_UNSUPPORTED;
}
@@ -579,10 +578,9 @@ IsaIoMemWrite (
ISA_IO_DEVICE *IsaIoDevice;
//
// Set Feature Flag PcdIsaBusSupportIsaMemory to FALSE to disable support for
// ISA bus memory read/write operations.
// Check if ISA memory is supported.
//
if (!FeaturePcdGet (PcdIsaBusSupportIsaMemory)) {
if ((PcdGet8 (PcdIsaBusSupportedFeatures) & PCD_ISA_BUS_SUPPORT_ISA_MEMORY) == 0) {
return EFI_UNSUPPORTED;
}
@@ -646,10 +644,9 @@ IsaIoCopyMem (
ISA_IO_DEVICE *IsaIoDevice;
//
// Set Feature Flag PcdIsaBusSupportIsaMemory to FALSE to disable support for
// ISA bus memory read/write operations.
// Check if ISA memory is supported.
//
if (!FeaturePcdGet (PcdIsaBusSupportIsaMemory)) {
if ((PcdGet8 (PcdIsaBusSupportedFeatures) & PCD_ISA_BUS_SUPPORT_ISA_MEMORY) == 0) {
return EFI_UNSUPPORTED;
}
@@ -1297,9 +1294,9 @@ IsaIoMap (
)
{
//
// Set Feature Flag PcdIsaBusSupportDma to FALSE to disable support for ISA DMA.
// Check if DMA is supported.
//
if (!FeaturePcdGet (PcdIsaBusSupportDma)) {
if ((PcdGet8 (PcdIsaBusSupportedFeatures) & PCD_ISA_BUS_SUPPORT_DMA) == 0) {
return EFI_UNSUPPORTED;
}
//
@@ -1308,7 +1305,7 @@ IsaIoMap (
//
// So we just return EFI_UNSUPPORTED for these functions.
//
if (FeaturePcdGet (PcdIsaBusOnlySupportSlaveDma)) {
if ((PcdGet8 (PcdIsaBusSupportedFeatures) & PCD_ISA_BUS_ONLY_SUPPORT_SLAVE_DMA) != 0) {
return IsaIoMapOnlySupportSlaveReadWrite (
This,
Operation,
@@ -1369,7 +1366,8 @@ IsaIoAllocateBuffer (
// ISA Bus Master.
// Or unset Feature Flag PcdIsaBusSupportDma to disable support for ISA DMA.
//
if (!FeaturePcdGet (PcdIsaBusSupportDma) || FeaturePcdGet (PcdIsaBusOnlySupportSlaveDma)) {
if (((PcdGet8 (PcdIsaBusSupportedFeatures) & PCD_ISA_BUS_SUPPORT_DMA) == 0) ||
((PcdGet8 (PcdIsaBusSupportedFeatures) & PCD_ISA_BUS_ONLY_SUPPORT_SLAVE_DMA) != 0)) {
return EFI_UNSUPPORTED;
}
@@ -1439,7 +1437,8 @@ IsaIoFreeBuffer (
// ISA Bus Master.
// Or unset Feature Flag PcdIsaBusSupportDma to disable support for ISA DMA.
//
if (!FeaturePcdGet (PcdIsaBusSupportDma) || FeaturePcdGet (PcdIsaBusOnlySupportSlaveDma)) {
if (((PcdGet8 (PcdIsaBusSupportedFeatures) & PCD_ISA_BUS_SUPPORT_DMA) == 0) ||
((PcdGet8 (PcdIsaBusSupportedFeatures) & PCD_ISA_BUS_ONLY_SUPPORT_SLAVE_DMA) != 0)) {
return EFI_UNSUPPORTED;
}