From 3e3ae6345709da38e9a26dffb83a47cc47d7b0e5 Mon Sep 17 00:00:00 2001 From: mdkinney Date: Mon, 24 Nov 2008 08:34:06 +0000 Subject: [PATCH] Add runtime registration function to all PCI Libs git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6708 6f19259b-4bc3-4df7-8a09-765794883524 --- MdePkg/Library/BasePciCf8Lib/PciCf8Lib.c | 27 +++++++++++++++++++ .../Library/BasePciExpressLib/PciExpressLib.c | 26 ++++++++++++++++++ MdePkg/Library/BasePciLibCf8/PciLib.c | 27 +++++++++++++++++++ MdePkg/Library/BasePciLibPciExpress/PciLib.c | 27 +++++++++++++++++++ MdePkg/Library/PeiPciLibPciCfg2/PciLib.c | 27 +++++++++++++++++++ .../PeiPciSegmentLibPciCfg2/PciSegmentLib.c | 27 +++++++++++++++++++ .../UefiPciLibPciRootBridgeIo/PciLib.c | 27 +++++++++++++++++++ .../PciSegmentLib.c | 27 +++++++++++++++++++ 8 files changed, 215 insertions(+) diff --git a/MdePkg/Library/BasePciCf8Lib/PciCf8Lib.c b/MdePkg/Library/BasePciCf8Lib/PciCf8Lib.c index 995e4ab1b7..d6bc180b8b 100644 --- a/MdePkg/Library/BasePciCf8Lib/PciCf8Lib.c +++ b/MdePkg/Library/BasePciCf8Lib/PciCf8Lib.c @@ -60,6 +60,33 @@ #define ASSERT_INVALID_PCI_ADDRESS(A,M) \ ASSERT (((A) & (~0xffff0ff | (M))) == 0) +/** + Register a PCI device so PCI configuration registers may be accessed after + SetVirtualAddressMap(). + + If Address > 0x0FFFFFFF, then ASSERT(). + + @param Address Address that encodes the PCI Bus, Device, Function and + Register. + + @retval RETURN_SUCCESS The PCI device was registered for runtime access. + @retval RETURN_UNSUPPORTED An attempt was made to call this function + after ExitBootServices(). + @retval RETURN_UNSUPPORTED The resources required to access the PCI device + at runtime could not be mapped. + @retval RETURN_OUT_OF_RESOURCES There are not enough resources available to + complete the registration. + +**/ +RETURN_STATUS +EFIAPI +PciCf8RegisterForRuntimeAccess ( + IN UINTN Address + ) +{ + return RETURN_SUCCESS; +} + /** Reads an 8-bit PCI configuration register. diff --git a/MdePkg/Library/BasePciExpressLib/PciExpressLib.c b/MdePkg/Library/BasePciExpressLib/PciExpressLib.c index 6bce8f9550..6d76e846fa 100644 --- a/MdePkg/Library/BasePciExpressLib/PciExpressLib.c +++ b/MdePkg/Library/BasePciExpressLib/PciExpressLib.c @@ -36,6 +36,32 @@ #define ASSERT_INVALID_PCI_ADDRESS(A) \ ASSERT (((A) & ~0xfffffff) == 0) +/** + Register a PCI device so PCI configuration registers may be accessed after + SetVirtualAddressMap(). + + If Address > 0x0FFFFFFF, then ASSERT(). + + @param Address Address that encodes the PCI Bus, Device, Function and + Register. + + @retval RETURN_SUCCESS The PCI device was registered for runtime access. + @retval RETURN_UNSUPPORTED An attempt was made to call this function + after ExitBootServices(). + @retval RETURN_UNSUPPORTED The resources required to access the PCI device + at runtime could not be mapped. + @retval RETURN_OUT_OF_RESOURCES There are not enough resources available to + complete the registration. + +**/ +RETURN_STATUS +EFIAPI +PciExpressRegisterForRuntimeAccess ( + IN UINTN Address + ) +{ + return RETURN_UNSUPPORTED; +} /** Gets the base address of PCI Express. diff --git a/MdePkg/Library/BasePciLibCf8/PciLib.c b/MdePkg/Library/BasePciLibCf8/PciLib.c index af71b88e59..d4a3ef06f6 100644 --- a/MdePkg/Library/BasePciLibCf8/PciLib.c +++ b/MdePkg/Library/BasePciLibCf8/PciLib.c @@ -19,6 +19,33 @@ #include #include +/** + Register a PCI device so PCI configuration registers may be accessed after + SetVirtualAddressMap(). + + If Address > 0x0FFFFFFF, then ASSERT(). + + @param Address Address that encodes the PCI Bus, Device, Function and + Register. + + @retval RETURN_SUCCESS The PCI device was registered for runtime access. + @retval RETURN_UNSUPPORTED An attempt was made to call this function + after ExitBootServices(). + @retval RETURN_UNSUPPORTED The resources required to access the PCI device + at runtime could not be mapped. + @retval RETURN_OUT_OF_RESOURCES There are not enough resources available to + complete the registration. + +**/ +RETURN_STATUS +EFIAPI +PciRegisterForRuntimeAccess ( + IN UINTN Address + ) +{ + return PciCf8RegisterForRuntimeAccess (Address); +} + /** Reads an 8-bit PCI configuration register. diff --git a/MdePkg/Library/BasePciLibPciExpress/PciLib.c b/MdePkg/Library/BasePciLibPciExpress/PciLib.c index c1abd09f63..48fe66f180 100644 --- a/MdePkg/Library/BasePciLibPciExpress/PciLib.c +++ b/MdePkg/Library/BasePciLibPciExpress/PciLib.c @@ -19,6 +19,33 @@ #include #include +/** + Register a PCI device so PCI configuration registers may be accessed after + SetVirtualAddressMap(). + + If Address > 0x0FFFFFFF, then ASSERT(). + + @param Address Address that encodes the PCI Bus, Device, Function and + Register. + + @retval RETURN_SUCCESS The PCI device was registered for runtime access. + @retval RETURN_UNSUPPORTED An attempt was made to call this function + after ExitBootServices(). + @retval RETURN_UNSUPPORTED The resources required to access the PCI device + at runtime could not be mapped. + @retval RETURN_OUT_OF_RESOURCES There are not enough resources available to + complete the registration. + +**/ +RETURN_STATUS +EFIAPI +PciRegisterForRuntimeAccess ( + IN UINTN Address + ) +{ + return PciExpressRegisterForRuntimeAccess (Address); +} + /** Reads an 8-bit PCI configuration register. diff --git a/MdePkg/Library/PeiPciLibPciCfg2/PciLib.c b/MdePkg/Library/PeiPciLibPciCfg2/PciLib.c index 63b1b9fc17..080195f693 100644 --- a/MdePkg/Library/PeiPciLibPciCfg2/PciLib.c +++ b/MdePkg/Library/PeiPciLibPciCfg2/PciLib.c @@ -124,6 +124,33 @@ PeiPciLibPciCfg2WriteWorker ( return Data; } +/** + Register a PCI device so PCI configuration registers may be accessed after + SetVirtualAddressMap(). + + If Address > 0x0FFFFFFF, then ASSERT(). + + @param Address Address that encodes the PCI Bus, Device, Function and + Register. + + @retval RETURN_SUCCESS The PCI device was registered for runtime access. + @retval RETURN_UNSUPPORTED An attempt was made to call this function + after ExitBootServices(). + @retval RETURN_UNSUPPORTED The resources required to access the PCI device + at runtime could not be mapped. + @retval RETURN_OUT_OF_RESOURCES There are not enough resources available to + complete the registration. + +**/ +RETURN_STATUS +EFIAPI +PciRegisterForRuntimeAccess ( + IN UINTN Address + ) +{ + return RETURN_UNSUPPORTED; +} + /** Reads an 8-bit PCI configuration register. diff --git a/MdePkg/Library/PeiPciSegmentLibPciCfg2/PciSegmentLib.c b/MdePkg/Library/PeiPciSegmentLibPciCfg2/PciSegmentLib.c index 54ff1cbe65..453f2ded0f 100644 --- a/MdePkg/Library/PeiPciSegmentLibPciCfg2/PciSegmentLib.c +++ b/MdePkg/Library/PeiPciSegmentLibPciCfg2/PciSegmentLib.c @@ -159,6 +159,33 @@ PeiPciSegmentLibPciCfg2WriteWorker ( return Data; } +/** + Register a PCI device so PCI configuration registers may be accessed after + SetVirtualAddressMap(). + + If Address > 0x0FFFFFFF, then ASSERT(). + + @param Address Address that encodes the PCI Bus, Device, Function and + Register. + + @retval RETURN_SUCCESS The PCI device was registered for runtime access. + @retval RETURN_UNSUPPORTED An attempt was made to call this function + after ExitBootServices(). + @retval RETURN_UNSUPPORTED The resources required to access the PCI device + at runtime could not be mapped. + @retval RETURN_OUT_OF_RESOURCES There are not enough resources available to + complete the registration. + +**/ +RETURN_STATUS +EFIAPI +PciSegmentRegisterForRuntimeAccess ( + IN UINTN Address + ) +{ + return RETURN_UNSUPPORTED; +} + /** Reads an 8-bit PCI configuration register. diff --git a/MdePkg/Library/UefiPciLibPciRootBridgeIo/PciLib.c b/MdePkg/Library/UefiPciLibPciRootBridgeIo/PciLib.c index a408b0a0f1..7e5c60858b 100644 --- a/MdePkg/Library/UefiPciLibPciRootBridgeIo/PciLib.c +++ b/MdePkg/Library/UefiPciLibPciRootBridgeIo/PciLib.c @@ -142,6 +142,33 @@ DxePciLibPciRootBridgeIoWriteWorker ( return Data; } +/** + Register a PCI device so PCI configuration registers may be accessed after + SetVirtualAddressMap(). + + If Address > 0x0FFFFFFF, then ASSERT(). + + @param Address Address that encodes the PCI Bus, Device, Function and + Register. + + @retval RETURN_SUCCESS The PCI device was registered for runtime access. + @retval RETURN_UNSUPPORTED An attempt was made to call this function + after ExitBootServices(). + @retval RETURN_UNSUPPORTED The resources required to access the PCI device + at runtime could not be mapped. + @retval RETURN_OUT_OF_RESOURCES There are not enough resources available to + complete the registration. + +**/ +RETURN_STATUS +EFIAPI +PciRegisterForRuntimeAccess ( + IN UINTN Address + ) +{ + return RETURN_UNSUPPORTED; +} + /** Reads an 8-bit PCI configuration register. diff --git a/MdePkg/Library/UefiPciSegmentLibPciRootBridgeIo/PciSegmentLib.c b/MdePkg/Library/UefiPciSegmentLibPciRootBridgeIo/PciSegmentLib.c index 058d2debc6..cb8991e2da 100644 --- a/MdePkg/Library/UefiPciSegmentLibPciRootBridgeIo/PciSegmentLib.c +++ b/MdePkg/Library/UefiPciSegmentLibPciRootBridgeIo/PciSegmentLib.c @@ -240,6 +240,33 @@ DxePciSegmentLibPciRootBridgeIoWriteWorker ( return Data; } +/** + Register a PCI device so PCI configuration registers may be accessed after + SetVirtualAddressMap(). + + If Address > 0x0FFFFFFF, then ASSERT(). + + @param Address Address that encodes the PCI Bus, Device, Function and + Register. + + @retval RETURN_SUCCESS The PCI device was registered for runtime access. + @retval RETURN_UNSUPPORTED An attempt was made to call this function + after ExitBootServices(). + @retval RETURN_UNSUPPORTED The resources required to access the PCI device + at runtime could not be mapped. + @retval RETURN_OUT_OF_RESOURCES There are not enough resources available to + complete the registration. + +**/ +RETURN_STATUS +EFIAPI +PciSegmentRegisterForRuntimeAccess ( + IN UINTN Address + ) +{ + return RETURN_UNSUPPORTED; +} + /** Reads an 8-bit PCI configuration register.