Mcfg.aslc 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /*++
  2. Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>
  3. SPDX-License-Identifier: BSD-2-Clause-Patent
  4. Module Name:
  5. Mcfg.c
  6. Abstract:
  7. This file contains a structure definition for the ACPI Memory mapped
  8. configuration space base address Description Table (MCFG). Any changes
  9. to the MCFG table require updating the respective structure count in
  10. Mcfg.h and then adding the structure to the MCFG defined in this file.
  11. The table layout is defined in Mcfg.h and the table contents are defined
  12. in McfgTable.h and Mcfg.h.
  13. --*/
  14. //
  15. // Statements that include other files
  16. //
  17. #include <Mcfg.h>
  18. //
  19. // MCFG Table definition
  20. //
  21. EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE MCFG = {
  22. EFI_ACPI_3_0_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE_SIGNATURE,
  23. sizeof (EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE),
  24. EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_BASE_ADDRESS_TABLE_REVISION,
  25. //
  26. // Checksum will be updated at runtime
  27. //
  28. 0x00,
  29. //
  30. // It is expected that these values will be programmed at runtime
  31. //
  32. ' ',
  33. ' ',
  34. ' ',
  35. ' ',
  36. ' ',
  37. ' ',
  38. 0,
  39. EFI_ACPI_OEM_MCFG_REVISION,
  40. 0,
  41. 0,
  42. //
  43. // Beginning of MCFG specific fields
  44. //
  45. EFI_ACPI_RESERVED_QWORD,
  46. //
  47. // Sample Memory Mapped Configuration Space Base Address Structure
  48. //
  49. // 0x0, // Base Address
  50. // 0x0, // PCI Segment Group Number
  51. // 0x0, // Start Bus Number
  52. // 0x0, // End Bus Number
  53. // EFI_ACPI_RESERVED_DWORD, // Reserved
  54. //
  55. // Memory Mapped Configuration Space Base Address Structure
  56. //
  57. 0x0, // Base Address, will be updated by AcpiPlatform
  58. 0x0, // PCI Segment Group Number
  59. 0x0, // Start Bus Number
  60. PLATFORM_MAX_BUS_NUM, // End Bus Number
  61. EFI_ACPI_RESERVED_DWORD, // Reserved
  62. };
  63. VOID*
  64. ReferenceAcpiTable (
  65. VOID
  66. )
  67. {
  68. //
  69. // Reference the table being generated to prevent the optimizer from
  70. // removing the data structure from the executable
  71. //
  72. return (VOID*)&MCFG;
  73. }