PciIovPlatform.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /** @file
  2. Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
  3. SPDX-License-Identifier: BSD-2-Clause-Patent
  4. **/
  5. #ifndef _PCI_IOV_PLATFORM_H_
  6. #define _PCI_IOV_PLATFORM_H_
  7. //
  8. // Protocol for GUID.
  9. //
  10. typedef struct _EFI_PCI_IOV_PLATFORM_PROTOCOL EFI_PCI_IOV_PLATFORM_PROTOCOL;
  11. typedef UINT32 EFI_PCI_IOV_PLATFORM_POLICY;
  12. #define EFI_PCI_IOV_POLICY_ARI 0x0001
  13. #define EFI_PCI_IOV_POLICY_SRIOV 0x0002
  14. #define EFI_PCI_IOV_POLICY_MRIOV 0x0004
  15. typedef
  16. EFI_STATUS
  17. (EFIAPI * EFI_PCI_IOV_PLATFORM_GET_SYSTEM_LOWEST_PAGE_SIZE) (
  18. IN EFI_PCI_IOV_PLATFORM_PROTOCOL *This,
  19. OUT UINT32 *SystemLowestPageSize
  20. )
  21. /**
  22. The GetSystemLowestPageSize() function retrieves the system lowest page size.
  23. @param This - Pointer to the EFI_PCI_IOV_PLATFORM_PROTOCOL instance.
  24. @param SystemLowestPageSize - The system lowest page size. (This system supports a
  25. page size of 2^(n+12) if bit n is set.)
  26. @retval EFI_SUCCESS - The function completed successfully.
  27. @retval EFI_INVALID_PARAMETER - SystemLowestPageSize is NULL.
  28. **/
  29. ;
  30. typedef
  31. EFI_STATUS
  32. (EFIAPI * EFI_PCI_IOV_PLATFORM_GET_PLATFORM_POLICY) (
  33. IN EFI_PCI_IOV_PLATFORM_PROTOCOL *This,
  34. OUT EFI_PCI_IOV_PLATFORM_POLICY *PciIovPolicy
  35. )
  36. /**
  37. The GetPlatformPolicy() function retrieves the platform policy regarding PCI IOV.
  38. @param This - Pointer to the EFI_PCI_IOV_PLATFORM_PROTOCOL instance.
  39. @param PciIovPolicy - The platform policy for PCI IOV configuration.
  40. @retval EFI_SUCCESS - The function completed successfully.
  41. @retval EFI_INVALID_PARAMETER - PciPolicy is NULL.
  42. **/
  43. ;
  44. typedef struct _EFI_PCI_IOV_PLATFORM_PROTOCOL {
  45. EFI_PCI_IOV_PLATFORM_GET_SYSTEM_LOWEST_PAGE_SIZE GetSystemLowestPageSize;
  46. EFI_PCI_IOV_PLATFORM_GET_PLATFORM_POLICY GetPlatformPolicy;
  47. } EFI_PCI_IOV_PLATFORM_PROTOCOL;
  48. extern EFI_GUID gEfiPciIovPlatformProtocolGuid;
  49. #endif