Re: [edk2] [edk2-InfSpecification][PATCH v2] Amend the OptionROM specification to allow multiple PCI_DEVICE_IDs

2018-10-29 Thread Zhu, Yonghong
Reviewed-by: Yonghong Zhu  

Best Regards,
Zhu Yonghong


-Original Message-
From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Tomas 
Pilar (tpilar)
Sent: Monday, October 29, 2018 6:48 PM
To: edk2-devel@lists.01.org
Subject: [edk2] [edk2-InfSpecification][PATCH v2] Amend the OptionROM 
specification to allow multiple PCI_DEVICE_IDs

The BaseTools have been updated to allow multiple PCI_DEVICE_IDs following the 
Device List introduced in the PCI Spec rev 3.0. This change documents the 
syntax.

Signed-off-by: Tomas Pilar 
Contributed-under: TianoCore Contribution Agreement 1.1
---
 2_inf_overview/24_[defines]_section.md   | 2 +-
 3_edk_ii_inf_file_format/34_[defines]_section.md | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/2_inf_overview/24_[defines]_section.md 
b/2_inf_overview/24_[defines]_section.md
index 0afdfed..8e5706c 100644
--- a/2_inf_overview/24_[defines]_section.md
+++ b/2_inf_overview/24_[defines]_section.md
@@ -128,7 +128,7 @@ dispatch instance.
 |`CONSTRUCTOR`   |Not required - Library Only  
|CName   | This only applies to components 
that are libraries. It is required for EDK II libraries if the module's INF 
contains a Constructor element. This value is used to call the specified 
function before calling into the library itself.

  |
 |`DESTRUCTOR`|Not required - Library Only  
|CName   | This only applies to components 
that are libraries. This value is used to call the specified function before 
calling into the library itself.


  |
 |`SHADOW`|Not required - SEC, PEIM and PEI_CORE Driver 
modules only|TRUE | FALSE   | This boolean operator is 
used by `SEC`, `PEI_CORE` and `PEIM` modules to indicate if the module was 
coded to use `REGISTER_FOR_SHADOW`. If the value is TRUE, the .reloc section of 
the PE32 image is not removed, otherwise, the .reloc section is stripped to 
conserve space in the final binary images. The default value is FALSE.  
   |
-|`PCI_DEVICE_ID` |Not required - Required for UEFI PCI Option ROMs 
|UINT16 Value| The PCI Device Id for this 
device  



|
+|`PCI_DEVICE_ID` |Not required - Required for UEFI PCI Option ROMs 
|List of UINT16 Values   | The list of PCI Device Ids for 
this device 



|
 |`PCI_VENDOR_ID` |Not required - Required for UEFI PCI Option ROMs 
|UINT16 Value| The PCI Vendor Id for this 
device  



|
 |`PCI_CLASS_CODE`|Not required - Required for UEFI PCI Option ROMs 
|UINT8 Value | The PCI Class Code for this 
device  



   |
 |`PCI_REVISION`  |Not required - Required for UEFI PCI Option ROMs 
|UINT8 Value | The PCI revision for this d

[edk2] [edk2-InfSpecification][PATCH v2] Amend the OptionROM specification to allow multiple PCI_DEVICE_IDs

2018-10-29 Thread Tomas Pilar (tpilar)
The BaseTools have been updated to allow multiple PCI_DEVICE_IDs following
the Device List introduced in the PCI Spec rev 3.0. This change documents
the syntax.

Signed-off-by: Tomas Pilar 
Contributed-under: TianoCore Contribution Agreement 1.1
---
 2_inf_overview/24_[defines]_section.md   | 2 +-
 3_edk_ii_inf_file_format/34_[defines]_section.md | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/2_inf_overview/24_[defines]_section.md 
b/2_inf_overview/24_[defines]_section.md
index 0afdfed..8e5706c 100644
--- a/2_inf_overview/24_[defines]_section.md
+++ b/2_inf_overview/24_[defines]_section.md
@@ -128,7 +128,7 @@ dispatch instance.
 |`CONSTRUCTOR`   |Not required - Library Only  
|CName   | This only applies to components 
that are libraries. It is required for EDK II libraries if the module's INF 
contains a Constructor element. This value is used to call the specified 
function before calling into the library itself.

  |
 |`DESTRUCTOR`|Not required - Library Only  
|CName   | This only applies to components 
that are libraries. This value is used to call the specified function before 
calling into the library itself.


  |
 |`SHADOW`|Not required - SEC, PEIM and PEI_CORE Driver 
modules only|TRUE | FALSE   | This boolean operator is 
used by `SEC`, `PEI_CORE` and `PEIM` modules to indicate if the module was 
coded to use `REGISTER_FOR_SHADOW`. If the value is TRUE, the .reloc section of 
the PE32 image is not removed, otherwise, the .reloc section is stripped to 
conserve space in the final binary images. The default value is FALSE.  
   |
-|`PCI_DEVICE_ID` |Not required - Required for UEFI PCI Option ROMs 
|UINT16 Value| The PCI Device Id for this 
device  



|
+|`PCI_DEVICE_ID` |Not required - Required for UEFI PCI Option ROMs 
|List of UINT16 Values   | The list of PCI Device Ids for 
this device 



|
 |`PCI_VENDOR_ID` |Not required - Required for UEFI PCI Option ROMs 
|UINT16 Value| The PCI Vendor Id for this 
device  



|
 |`PCI_CLASS_CODE`|Not required - Required for UEFI PCI Option ROMs 
|UINT8 Value | The PCI Class Code for this 
device  



   |
 |`PCI_REVISION`  |Not required - Required for UEFI PCI Option ROMs 
|UINT8 Value | The PCI revision for this device 




  |
diff --git a/3_edk_ii_inf_file_format/34_[defines]_section.md 
b/3_edk_ii_inf_file_format/34_[defines]_section.md
index f512ff9..394db53 100644
--- a/3_edk_ii_inf_file_format/34_[defines]_section.md
+++ b/3_edk_ii_inf_file_f