1. Add address check for "RegisterForRuntime" APIs of PciLib, PciCf8Lib, PciExpressLib, and PciSegmentLib.

2. Update ASSERT condition for PciCf8Lib, and PciSegmentLib class.

3. According to MDE Lib Spec, add check for reserved bit field 63..48 for PCI segment address.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8311 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
xli24
2009-05-14 03:13:31 +00:00
parent c40a155690
commit 59ceeabe50
9 changed files with 33 additions and 25 deletions

View File

@@ -1,7 +1,7 @@
/** @file
Include file of PciSegmentPciRootBridgeIo Library.
Copyright (c) 2007 - 2008, Intel Corporation All rights
Copyright (c) 2007 - 2009, 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
@@ -37,14 +37,14 @@ typedef struct {
/**
Assert the validity of a PCI Segment address.
A valid PCI address should not contain 1's in bits 31:28
A valid PCI Segment address should not contain 1's in bits 28..31 and 48..63
@param A The address to validate.
@param M Additional bits to assert to be zero.
**/
#define ASSERT_INVALID_PCI_SEGMENT_ADDRESS(A,M) \
ASSERT (((A) & (0xf0000000 | (M))) == 0)
ASSERT (((A) & (0xffff0000f0000000ULL | (M))) == 0)
/**
Translate PCI Lib address into format of PCI Root Bridge I/O Protocol