This schema defines EFI and Framework Data Elements 
  
  
  
  
  
  
    
      Abstract is valid for all Description Files
      This section is required. This is a single sentence to describe the module and will be used in sample files as the abstract data in the header comment section.
    
  
  
    
      This is a sub-element of UserDefinedAntTasks
      Define a file that contains one or more ant tasks that are to be added into or replacing of sequences of build steps. These files will be called using the ant-call task on a file name. These files must be valid apache-ant formatted task files.
    
    
      
        
        
      
      
    
  
  
    
      BootModes is valid for all Description Files
      This is a list of BootModes Supported by the Module
    
    
      
        
          
            
              
            
            
          
        
      
    
  
  
    
      BuildOptions is valid for FPD files.
    
    
      
        
        
        
        
        
          
            
              
                
                  
                  
                
              
              
                
                  
                    
                      
                        
                          
                          
                          
                          
                          
                        
                        
                      
                    
                    
                      
                        
                          
                            
                              
                                
                                
                                
                                
                                
                              
                              
                            
                          
                        
                        
                      
                    
                  
                  
                
              
            
            
          
        
      
    
  
  
  
    
      This is a list of DataHubRecord elements.
    
    
      
        
          
            
              
              
            
            
          
        
      
    
  
  
    
      The default setting of a PCD entry.
    
    
      
        
      
    
  
  
    
      This section is required for new modules and libraries and must contain more information than the Abstract.
    
  
  
    
      Child of Framework Platform Description (FPD)
      FPD uses this PCD information for Dynamic PCDs Only
    
    
      
        
          
            
              
              
              
              
              
              
                
                  
                    
                    
                      
                      
                      
                    
                  
                
              
            
            
          
        
      
    
  
  
    
      This is a list of MSA Events
    
    
      
        
          
            
              
                
                  
                    
                    
                  
                  
                
              
            
          
        
        
          
            Module has an event that is waiting to be signaled. Event is named by GUID.
          
          
            
              
                
                  
                    
                    
                  
                  
                
              
            
          
        
      
    
  
  
    
      This is a child of MSA files.
    
    
      
        
        
        
        
          
            
              
                
                  Driver Module
                
                
                
              
              
                
                  Library Module
                
                
                
              
              
                
                  Allow multiple entries for DriverBinding, ComponentName, DriverConfig and DriverDiag elements. For ComponentName, DriverConfig and/or DriverDiag - you must have a 1:1 mapping to DriverBinding if the element is defined.
                  Permit User Defined Extern Tags
                
                
                
                
                
              
              
                
                   Module Call Backs
                
                
                
              
            
            
          
        
      
    
  
  
    
      Describe the valid content of a filename This should extend PathAndFilename - Variable names not allowed here!
    
    
      
        
          
        
      
    
  
  
    
      This is a list of Filenames
    
    
      
        
      
    
  
  
    
      This is a child of PackageSurfaceArea (SPD) 
    
    
      
        
          
            
              
              
              
            
            
          
        
      
    
  
  
    
      
        
          
            Describe the valid content of a GUID element in and MSA file.
          
          
            
              
              
            
            
          
        
      
    
  
  
    
      Describe the list of a HiiPackage elements
    
    
      
        
          
            
              
              
            
            
          
        
      
    
  
  
    
      
        
          
            
              
              
            
            
          
        
      
    
  
  
    
      
        
          
        
      
    
  
  
    
      
        
      
    
  
  
    
      
        
        
      
      
    
  
  
    
      Different (Module) Instances of Libraries used ONLY in FPD Files.
    
    
      
        
          
            
          
        
      
    
  
  
    
      Used in MSA files. This defines what class of library is being supported = produced (library module) or consumed by a module.
    
    
      
        
        
      
      
    
  
  
  
    
      
        
          
            
              
              
            
            
          
        
      
    
  
  
    
      This section defines what Classes of Library that this library supports. A Library may belong to multiple different library classes.
    
    
      
        
      
    
  
  
    
      
        
          
        
      
    
  
  
    
      
        
      
    
  
  
    
      
        
        
        
        
        
        
      
    
  
  
    
      
        
        
        
        
          
            
              
                
                  
                    
                    
                    
                    
                  
                  
                  
                  
                  
                
              
            
          
        
      
    
  
  
    
      Describe the valid EFI Phase that the Module is designed to execute under.
    
  
  
  
    
      MsaFiles is a child of Surface Area Package Description (SPD) files
    
    
      
        
      
    
  
  
    
      
        
      
    
  
  
    
    
      
        
          
        
      
    
  
  
    
      
        
        
        
          
            
              
                
                  
                    
                    
                  
                  
                  
                  
                  
                
              
            
          
        
      
    
  
  
    
      This tag is used in the Module Surface Area Description File (MSA) to track package dependencies for a module.
      Attributes to PackageName include Required: Usage PackageGuid PackageVesion, Optional: FeatureFlag
    
    
      
        
          
            
          
        
      
    
  
  
    
      PackageHeaders is a child of PackageSurfaceArea (SPD) 
    
    
      
        
          
            
              
                
              
            
          
        
      
    
  
  
    
    
      This tag is used in the Framework Package Database File to track all packages (SPD files) installed in a workspace. (Database)
    
    
      
        
      
    
  
  
  
    
      Child of FPD ModuleSA element for FIXED_AT_BUILD, PATCHABLE_IN_MODULE, and FEATURE_FLAG PCDS Only!
    
    
      
        
          
            
              
              
              
              
              
              
              
            
            
          
        
      
    
  
  
    
      
    
  
  
    
      If HiiEnable group is specified, then HiiEnable is default true
    
    
      
      
      
      
    
  
  
    
      If VpdEnable group is specified, then VpdEnable is default true
    
    
      
    
  
  
    
      Child of Module Surface Area Description (MSA)
    
    
      
        
          
            
              
              
              
              
            
            
            
          
        
      
    
  
  
  
    
      PcdDeclaratins is a child of Package Surface Area Description (SPD)
    
    
      
        
          
            
              
              
              
              
              
              
              
            
            
          
        
      
    
  
  
    
    
      This tag is used in the Framework Package Database File to track all DISTRIBUTION packages (FAR files) installed in a workspace. (Database)
    
    
      
        
      
    
  
  
    
      
        
          
          
            
              
            
            
          
        
      
    
  
  
    
      PpiDeclarations is a child of PackageSurfaceArea (SPD) 
    
    
      
        
          
            
              
              
              
            
            
          
        
      
    
  
  
    
      Provide for one or more Ppi or PpiNotify sections. 
    
    
      
        
          
            
              
              
            
            
          
        
        
          
            
              
              
            
            
          
        
      
    
  
  
    
      ProtocolDeclarations is a child of PackageSurfaceArea (SPD) 
    
    
      
        
          
            
              
              
              
            
            
          
        
      
    
  
  
    
      If either Protocol or ProtocolNotify sections are needed, one or more of them should be specified within this section
    
    
      
        
          
            
              
              
            
            
          
        
        
          
            
              
              
            
            
          
        
      
    
  
  
    
      
        
        
          
            
              
                
              
            
          
        
        
        
        
        
        
      
      
    
  
  
    
      Multiple Filenames may be specified, and they may also be scoped to a specific Architecture.
    
    
      
        
      
    
  
  
    
      
        
          
            
              
                
              
            
          
        
      
    
  
  
    
      This is list of System Table elements.
    
    
      
        
          
            
              
              
            
            
          
        
      
    
  
  
    
      This is a sub-element of BuildOptions
      Permit Users to define their own custom ANT tasks.
    
    
      
        
      
    
  
  
    
      
        
      
      
      
    
  
  
    
      An MSA FILE list of EFI Variables described by string pair.
    
    
      
        
          
            This is an EFI Variable Entry