Intel® Dynamic Application Loader (Intel® DAL) Developer Guide
                    
                        ID
                        773482
                    
                
                
                    Date
                    3/24/2023
                
                
                    Public
                
            
                                                                        
                                                                        
                                                                            
                                                                            
                                                                                For API Level 1 - Intel® ME 7.x - Sandy Bridge
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 1.1 - Intel® ME 8.x lite - Sandy Bridge
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 2 - Intel® ME 8.0 - Ivy Bridge
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 3 - Intel® ME 8.1 - Ivy Bridge
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 3 - SEC1.0, SEC1.1, SEC1.2, SEC2.0
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 4 - Intel® ME 9.5, Intel ME 9.5.55 - Haswell
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 4 - Intel® ME 9.1, Intel ME 9.1.35 - Haswell
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 5 - Intel® ME 10.0.0 - Haswell
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 6 - Intel® ME 10.0.20 - Broadwell
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 7 - ME 11.0 - Skylake_LP and Skylake_H
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 8 - TXE3.0 - Broxton, ME 11.5/11.8 - Kabylake_LP, Kabylake_H
                                                                            
                                                                            
                                                                        
                                                                            
                                                                            
                                                                                For API Level 9 - Intel® ME 12.0 - Cannon Lake
                                                                            
                                                                            
                                                                        
                                                                    
                                                                
                                                
                                                
                                                    
                                                    
                                                        Trusted Application Validation Guidelines
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Validating the Manifest
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Memory and Performance
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Error Handling and Recovery
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Functional Validation and Multi-Instance Support
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Pack and DALP Generation and Validation
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Host-Side Software Validation Guidelines
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Trusted Application Management Flows
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Error Handling and Recovery Flows
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Multi-Instance and Interoperability Testing of Trusted Application Management
                                                    
                                                    
                                                
                                                    
                                                    
                                                        General and Platform-Related Events
                                                    
                                                    
                                                
                                                    
                                                    
                                                        End-to-End and Setup Validation Guidelines
                                                    
                                                    
                                                
                                                    
                                                    
                                                        Cross Trusted Application Interoperability Functional Testing
                                                    
                                                    
                                                
                                            
                                        
                                    
                                    
                                        
                                        
                                            Creating a New Project
                                        
                                        
                                    
                                        
                                        
                                            Importing an Existing Project
                                        
                                        
                                    
                                        
                                        
                                            Converting an Existing Project
                                        
                                        
                                    
                                        
                                        
                                            Building and Packaging Your Project and Running in Emulated Environment
                                        
                                        
                                    
                                        
                                        
                                            Running Your Project
                                        
                                        
                                    
                                        
                                        
                                            Running and Testing on Emulation and on Silicon
                                        
                                        
                                    
                                        
                                        
                                            Debugging Trusted Applications
                                        
                                        
                                    
                                        
                                        
                                            Preparing and Submitting Your Project for Signing
                                        
                                        
                                    
                                        
                                        
                                            Signing an Applet
                                        
                                        
                                    
                                        
                                        
                                            Signing New Versions
                                        
                                        
                                    
                                
                            Memory and Performance
As mentioned in previous sections, memory consumption and performance measurements must be covered by the validation team that actually tests the functional flows of the given trusted application. Therefore the following parameters should be well defined and covered by validation team:
- Memory 
    
- Trusted application size and DALP package size - The actual code size and content of DALP package. In addition, pre-production values should be compared to the production version.
 - Heap size - The amount of heap used by each instance of the trusted application (as mentioned in previous sections).
 
 - Performance 
    
- API performance - On top of existing benchmarks of Intel® DAL API performance, some measurements of functional flows should be tested and validated according to relevant requirements. Note: There is a big difference between emulator performance and actual platform performance (in favor of the platform).
 - Communication layer performance - The whole process of managing the trusted application, communicating with it, etc. will add overhead to the general performance. The validation team should ensure those are as minimized as possible.
 - Server and E2E performance - The full end-to-end flows should be measured and each component should have clear performance requirements which should be met during validation.