]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Library/PciSegmentLib.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdePkg / Include / Library / PciSegmentLib.h
index 6e4fecb0b1c94be8e074ba3365ea655a1e1b1edf..4795dc13b78ea91ee1af5ad550b1b07bb2f443f0 100644 (file)
@@ -1,11 +1,11 @@
 /** @file\r
   Provides services to access PCI Configuration Space on a platform with multiple PCI segments.\r
-  \r
+\r
   The PCI Segment Library function provide services to read, write, and modify the PCI configuration\r
-  registers on PCI root bridges on any supported PCI segment.  These library services take a single \r
-  address parameter that encodes the PCI Segment, PCI Bus, PCI Device, PCI Function, and PCI Register.  \r
+  registers on PCI root bridges on any supported PCI segment.  These library services take a single\r
+  address parameter that encodes the PCI Segment, PCI Bus, PCI Device, PCI Function, and PCI Register.\r
   The layout of this address parameter is as follows:\r
-  \r
+\r
             PCI Register: Bits 0..11\r
             PCI Function  Bits 12..14\r
             PCI Device  Bits 15..19\r
             Reserved  Bits 28..31.  Must be 0.\r
             PCI Segment Bits 32..47\r
             Reserved  Bits 48..63.  Must be 0.\r
-            \r
+\r
   | Reserved (MBZ) | Segment | Reserved (MBZ) |     Bus     | Device | Function | Register |\r
   63             48  47    32  31           28 27         20 19    15 14      12 11         0\r
 \r
-  These functions perform PCI configuration cycles using the default PCI configuration access \r
-  method.  This may use I/O ports 0xCF8 and 0xCFC to perform PCI configuration accesses, or it \r
-  may use MMIO registers relative to the PcdPciExpressBaseAddress, or it may use some alternate \r
-  access method.  Modules will typically use the PCI Segment Library for its PCI configuration \r
-  accesses when PCI Segments other than Segment #0 must be accessed.  \r
-\r
-Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
+  These functions perform PCI configuration cycles using the default PCI configuration access\r
+  method.  This may use I/O ports 0xCF8 and 0xCFC to perform PCI configuration accesses, or it\r
+  may use MMIO registers relative to the PcdPciExpressBaseAddress, or it may use some alternate\r
+  access method.  Modules will typically use the PCI Segment Library for its PCI configuration\r
+  accesses when PCI Segments other than Segment #0 must be accessed.\r
 \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
 #ifndef __PCI_SEGMENT_LIB__\r
 #define __PCI_SEGMENT_LIB__\r
 \r
-\r
 /**\r
   Macro that converts PCI Segment, PCI Bus, PCI Device, PCI Function,\r
   and PCI Register to an address that can be passed to the PCI Segment Library functions.\r
@@ -55,7 +48,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   @return The address that is compatible with the PCI Segment Library functions.\r
 \r
 **/\r
-#define PCI_SEGMENT_LIB_ADDRESS(Segment,Bus,Device,Function,Register) \\r
+#define PCI_SEGMENT_LIB_ADDRESS(Segment, Bus, Device, Function, Register) \\r
   ((Segment != 0) ? \\r
     ( ((Register) & 0xfff)                 | \\r
       (((Function) & 0x07) << 12)          | \\r
@@ -71,16 +64,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   )\r
 \r
 /**\r
-  Register a PCI device so PCI configuration registers may be accessed after \r
+  Register a PCI device so PCI configuration registers may be accessed after\r
   SetVirtualAddressMap().\r
-  \r
+\r
   If any reserved bits in Address are set, then ASSERT().\r
 \r
   @param  Address Address that encodes the PCI Bus, Device, Function and\r
                   Register.\r
-  \r
+\r
   @retval RETURN_SUCCESS           The PCI device was registered for runtime access.\r
-  @retval RETURN_UNSUPPORTED       An attempt was made to call this function \r
+  @retval RETURN_UNSUPPORTED       An attempt was made to call this function\r
                                    after ExitBootServices().\r
   @retval RETURN_UNSUPPORTED       The resources required to access the PCI device\r
                                    at runtime could not be mapped.\r
@@ -110,7 +103,7 @@ PciSegmentRegisterForRuntimeAccess (
 UINT8\r
 EFIAPI\r
 PciSegmentRead8 (\r
-  IN UINT64                    Address\r
+  IN UINT64  Address\r
   );\r
 \r
 /**\r
@@ -130,8 +123,8 @@ PciSegmentRead8 (
 UINT8\r
 EFIAPI\r
 PciSegmentWrite8 (\r
-  IN UINT64                    Address,\r
-  IN UINT8                     Value\r
+  IN UINT64  Address,\r
+  IN UINT8   Value\r
   );\r
 \r
 /**\r
@@ -154,8 +147,8 @@ PciSegmentWrite8 (
 UINT8\r
 EFIAPI\r
 PciSegmentOr8 (\r
-  IN UINT64                    Address,\r
-  IN UINT8                     OrData\r
+  IN UINT64  Address,\r
+  IN UINT8   OrData\r
   );\r
 \r
 /**\r
@@ -177,8 +170,8 @@ PciSegmentOr8 (
 UINT8\r
 EFIAPI\r
 PciSegmentAnd8 (\r
-  IN UINT64                    Address,\r
-  IN UINT8                     AndData\r
+  IN UINT64  Address,\r
+  IN UINT8   AndData\r
   );\r
 \r
 /**\r
@@ -204,9 +197,9 @@ PciSegmentAnd8 (
 UINT8\r
 EFIAPI\r
 PciSegmentAndThenOr8 (\r
-  IN UINT64                    Address,\r
-  IN UINT8                     AndData,\r
-  IN UINT8                     OrData\r
+  IN UINT64  Address,\r
+  IN UINT8   AndData,\r
+  IN UINT8   OrData\r
   );\r
 \r
 /**\r
@@ -233,9 +226,9 @@ PciSegmentAndThenOr8 (
 UINT8\r
 EFIAPI\r
 PciSegmentBitFieldRead8 (\r
-  IN UINT64                    Address,\r
-  IN UINTN                     StartBit,\r
-  IN UINTN                     EndBit\r
+  IN UINT64  Address,\r
+  IN UINTN   StartBit,\r
+  IN UINTN   EndBit\r
   );\r
 \r
 /**\r
@@ -265,10 +258,10 @@ PciSegmentBitFieldRead8 (
 UINT8\r
 EFIAPI\r
 PciSegmentBitFieldWrite8 (\r
-  IN UINT64                    Address,\r
-  IN UINTN                     StartBit,\r
-  IN UINTN                     EndBit,\r
-  IN UINT8                     Value\r
+  IN UINT64  Address,\r
+  IN UINTN   StartBit,\r
+  IN UINTN   EndBit,\r
+  IN UINT8   Value\r
   );\r
 \r
 /**\r
@@ -301,10 +294,10 @@ PciSegmentBitFieldWrite8 (
 UINT8\r
 EFIAPI\r
 PciSegmentBitFieldOr8 (\r
-  IN UINT64                    Address,\r
-  IN UINTN                     StartBit,\r
-  IN UINTN                     EndBit,\r
-  IN UINT8                     OrData\r
+  IN UINT64  Address,\r
+  IN UINTN   StartBit,\r
+  IN UINTN   EndBit,\r
+  IN UINT8   OrData\r
   );\r
 \r
 /**\r
@@ -337,10 +330,10 @@ PciSegmentBitFieldOr8 (
 UINT8\r
 EFIAPI\r
 PciSegmentBitFieldAnd8 (\r
-  IN UINT64                    Address,\r
-  IN UINTN                     StartBit,\r
-  IN UINTN                     EndBit,\r
-  IN UINT8                     AndData\r
+  IN UINT64  Address,\r
+  IN UINTN   StartBit,\r
+  IN UINTN   EndBit,\r
+  IN UINT8   AndData\r
   );\r
 \r
 /**\r
@@ -376,11 +369,11 @@ PciSegmentBitFieldAnd8 (
 UINT8\r
 EFIAPI\r
 PciSegmentBitFieldAndThenOr8 (\r
-  IN UINT64                    Address,\r
-  IN UINTN                     StartBit,\r
-  IN UINTN                     EndBit,\r
-  IN UINT8                     AndData,\r
-  IN UINT8                     OrData\r
+  IN UINT64  Address,\r
+  IN UINTN   StartBit,\r
+  IN UINTN   EndBit,\r
+  IN UINT8   AndData,\r
+  IN UINT8   OrData\r
   );\r
 \r
 /**\r
@@ -400,7 +393,7 @@ PciSegmentBitFieldAndThenOr8 (
 UINT16\r
 EFIAPI\r
 PciSegmentRead16 (\r
-  IN UINT64                    Address\r
+  IN UINT64  Address\r
   );\r
 \r
 /**\r
@@ -421,8 +414,8 @@ PciSegmentRead16 (
 UINT16\r
 EFIAPI\r
 PciSegmentWrite16 (\r
-  IN UINT64                    Address,\r
-  IN UINT16                    Value\r
+  IN UINT64  Address,\r
+  IN UINT16  Value\r
   );\r
 \r
 /**\r
@@ -448,8 +441,8 @@ PciSegmentWrite16 (
 UINT16\r
 EFIAPI\r
 PciSegmentOr16 (\r
-  IN UINT64                    Address,\r
-  IN UINT16                    OrData\r
+  IN UINT64  Address,\r
+  IN UINT16  OrData\r
   );\r
 \r
 /**\r
@@ -473,8 +466,8 @@ PciSegmentOr16 (
 UINT16\r
 EFIAPI\r
 PciSegmentAnd16 (\r
-  IN UINT64                    Address,\r
-  IN UINT16                    AndData\r
+  IN UINT64  Address,\r
+  IN UINT16  AndData\r
   );\r
 \r
 /**\r
@@ -501,9 +494,9 @@ PciSegmentAnd16 (
 UINT16\r
 EFIAPI\r
 PciSegmentAndThenOr16 (\r
-  IN UINT64                    Address,\r
-  IN UINT16                    AndData,\r
-  IN UINT16                    OrData\r
+  IN UINT64  Address,\r
+  IN UINT16  AndData,\r
+  IN UINT16  OrData\r
   );\r
 \r
 /**\r
@@ -531,9 +524,9 @@ PciSegmentAndThenOr16 (
 UINT16\r
 EFIAPI\r
 PciSegmentBitFieldRead16 (\r
-  IN UINT64                    Address,\r
-  IN UINTN                     StartBit,\r
-  IN UINTN                     EndBit\r
+  IN UINT64  Address,\r
+  IN UINTN   StartBit,\r
+  IN UINTN   EndBit\r
   );\r
 \r
 /**\r
@@ -564,10 +557,10 @@ PciSegmentBitFieldRead16 (
 UINT16\r
 EFIAPI\r
 PciSegmentBitFieldWrite16 (\r
-  IN UINT64                    Address,\r
-  IN UINTN                     StartBit,\r
-  IN UINTN                     EndBit,\r
-  IN UINT16                    Value\r
+  IN UINT64  Address,\r
+  IN UINTN   StartBit,\r
+  IN UINTN   EndBit,\r
+  IN UINT16  Value\r
   );\r
 \r
 /**\r
@@ -601,10 +594,10 @@ PciSegmentBitFieldWrite16 (
 UINT16\r
 EFIAPI\r
 PciSegmentBitFieldOr16 (\r
-  IN UINT64                    Address,\r
-  IN UINTN                     StartBit,\r
-  IN UINTN                     EndBit,\r
-  IN UINT16                    OrData\r
+  IN UINT64  Address,\r
+  IN UINTN   StartBit,\r
+  IN UINTN   EndBit,\r
+  IN UINT16  OrData\r
   );\r
 \r
 /**\r
@@ -638,10 +631,10 @@ PciSegmentBitFieldOr16 (
 UINT16\r
 EFIAPI\r
 PciSegmentBitFieldAnd16 (\r
-  IN UINT64                    Address,\r
-  IN UINTN                     StartBit,\r
-  IN UINTN                     EndBit,\r
-  IN UINT16                    AndData\r
+  IN UINT64  Address,\r
+  IN UINTN   StartBit,\r
+  IN UINTN   EndBit,\r
+  IN UINT16  AndData\r
   );\r
 \r
 /**\r
@@ -678,11 +671,11 @@ PciSegmentBitFieldAnd16 (
 UINT16\r
 EFIAPI\r
 PciSegmentBitFieldAndThenOr16 (\r
-  IN UINT64                    Address,\r
-  IN UINTN                     StartBit,\r
-  IN UINTN                     EndBit,\r
-  IN UINT16                    AndData,\r
-  IN UINT16                    OrData\r
+  IN UINT64  Address,\r
+  IN UINTN   StartBit,\r
+  IN UINTN   EndBit,\r
+  IN UINT16  AndData,\r
+  IN UINT16  OrData\r
   );\r
 \r
 /**\r
@@ -702,7 +695,7 @@ PciSegmentBitFieldAndThenOr16 (
 UINT32\r
 EFIAPI\r
 PciSegmentRead32 (\r
-  IN UINT64                    Address\r
+  IN UINT64  Address\r
   );\r
 \r
 /**\r
@@ -723,8 +716,8 @@ PciSegmentRead32 (
 UINT32\r
 EFIAPI\r
 PciSegmentWrite32 (\r
-  IN UINT64                    Address,\r
-  IN UINT32                    Value\r
+  IN UINT64  Address,\r
+  IN UINT32  Value\r
   );\r
 \r
 /**\r
@@ -748,8 +741,8 @@ PciSegmentWrite32 (
 UINT32\r
 EFIAPI\r
 PciSegmentOr32 (\r
-  IN UINT64                    Address,\r
-  IN UINT32                    OrData\r
+  IN UINT64  Address,\r
+  IN UINT32  OrData\r
   );\r
 \r
 /**\r
@@ -773,8 +766,8 @@ PciSegmentOr32 (
 UINT32\r
 EFIAPI\r
 PciSegmentAnd32 (\r
-  IN UINT64                    Address,\r
-  IN UINT32                    AndData\r
+  IN UINT64  Address,\r
+  IN UINT32  AndData\r
   );\r
 \r
 /**\r
@@ -801,9 +794,9 @@ PciSegmentAnd32 (
 UINT32\r
 EFIAPI\r
 PciSegmentAndThenOr32 (\r
-  IN UINT64                    Address,\r
-  IN UINT32                    AndData,\r
-  IN UINT32                    OrData\r
+  IN UINT64  Address,\r
+  IN UINT32  AndData,\r
+  IN UINT32  OrData\r
   );\r
 \r
 /**\r
@@ -831,9 +824,9 @@ PciSegmentAndThenOr32 (
 UINT32\r
 EFIAPI\r
 PciSegmentBitFieldRead32 (\r
-  IN UINT64                    Address,\r
-  IN UINTN                     StartBit,\r
-  IN UINTN                     EndBit\r
+  IN UINT64  Address,\r
+  IN UINTN   StartBit,\r
+  IN UINTN   EndBit\r
   );\r
 \r
 /**\r
@@ -864,10 +857,10 @@ PciSegmentBitFieldRead32 (
 UINT32\r
 EFIAPI\r
 PciSegmentBitFieldWrite32 (\r
-  IN UINT64                    Address,\r
-  IN UINTN                     StartBit,\r
-  IN UINTN                     EndBit,\r
-  IN UINT32                    Value\r
+  IN UINT64  Address,\r
+  IN UINTN   StartBit,\r
+  IN UINTN   EndBit,\r
+  IN UINT32  Value\r
   );\r
 \r
 /**\r
@@ -900,10 +893,10 @@ PciSegmentBitFieldWrite32 (
 UINT32\r
 EFIAPI\r
 PciSegmentBitFieldOr32 (\r
-  IN UINT64                    Address,\r
-  IN UINTN                     StartBit,\r
-  IN UINTN                     EndBit,\r
-  IN UINT32                    OrData\r
+  IN UINT64  Address,\r
+  IN UINTN   StartBit,\r
+  IN UINTN   EndBit,\r
+  IN UINT32  OrData\r
   );\r
 \r
 /**\r
@@ -936,10 +929,10 @@ PciSegmentBitFieldOr32 (
 UINT32\r
 EFIAPI\r
 PciSegmentBitFieldAnd32 (\r
-  IN UINT64                    Address,\r
-  IN UINTN                     StartBit,\r
-  IN UINTN                     EndBit,\r
-  IN UINT32                    AndData\r
+  IN UINT64  Address,\r
+  IN UINTN   StartBit,\r
+  IN UINTN   EndBit,\r
+  IN UINT32  AndData\r
   );\r
 \r
 /**\r
@@ -976,11 +969,11 @@ PciSegmentBitFieldAnd32 (
 UINT32\r
 EFIAPI\r
 PciSegmentBitFieldAndThenOr32 (\r
-  IN UINT64                    Address,\r
-  IN UINTN                     StartBit,\r
-  IN UINTN                     EndBit,\r
-  IN UINT32                    AndData,\r
-  IN UINT32                    OrData\r
+  IN UINT64  Address,\r
+  IN UINTN   StartBit,\r
+  IN UINTN   EndBit,\r
+  IN UINT32  AndData,\r
+  IN UINT32  OrData\r
   );\r
 \r
 /**\r
@@ -990,7 +983,7 @@ PciSegmentBitFieldAndThenOr32 (
   Size into the buffer specified by Buffer. This function only allows the PCI\r
   configuration registers from a single PCI function to be read. Size is\r
   returned. When possible 32-bit PCI configuration read cycles are used to read\r
-  from StartAdress to StartAddress + Size. Due to alignment restrictions, 8-bit\r
+  from StartAddress to StartAddress + Size. Due to alignment restrictions, 8-bit\r
   and 16-bit PCI configuration read cycles may be used at the beginning and the\r
   end of the range.\r
 \r
@@ -1009,9 +1002,9 @@ PciSegmentBitFieldAndThenOr32 (
 UINTN\r
 EFIAPI\r
 PciSegmentReadBuffer (\r
-  IN  UINT64                   StartAddress,\r
-  IN  UINTN                    Size,\r
-  OUT VOID                     *Buffer\r
+  IN  UINT64  StartAddress,\r
+  IN  UINTN   Size,\r
+  OUT VOID    *Buffer\r
   );\r
 \r
 /**\r
@@ -1022,7 +1015,7 @@ PciSegmentReadBuffer (
   Size from the buffer specified by Buffer. This function only allows the PCI\r
   configuration registers from a single PCI function to be written. Size is\r
   returned. When possible 32-bit PCI configuration write cycles are used to\r
-  write from StartAdress to StartAddress + Size. Due to alignment restrictions,\r
+  write from StartAddress to StartAddress + Size. Due to alignment restrictions,\r
   8-bit and 16-bit PCI configuration write cycles may be used at the beginning\r
   and the end of the range.\r
 \r
@@ -1041,9 +1034,9 @@ PciSegmentReadBuffer (
 UINTN\r
 EFIAPI\r
 PciSegmentWriteBuffer (\r
-  IN UINT64                    StartAddress,\r
-  IN UINTN                     Size,\r
-  IN VOID                      *Buffer\r
+  IN UINT64  StartAddress,\r
+  IN UINTN   Size,\r
+  IN VOID    *Buffer\r
   );\r
 \r
 #endif\r