~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/xen/interface/xenpmu.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/xen/interface/xenpmu.h (Version linux-6.12-rc7) and /include/xen/interface/xenpmu.h (Version linux-2.4.37.11)


  1 /* SPDX-License-Identifier: MIT */                  1 
  2 #ifndef __XEN_PUBLIC_XENPMU_H__                   
  3 #define __XEN_PUBLIC_XENPMU_H__                   
  4                                                   
  5 #include "xen.h"                                  
  6                                                   
  7 #define XENPMU_VER_MAJ    0                       
  8 #define XENPMU_VER_MIN    1                       
  9                                                   
 10 /*                                                
 11  * ` enum neg_errnoval                            
 12  * ` HYPERVISOR_xenpmu_op(enum xenpmu_op cmd,     
 13  *                                                
 14  * @cmd  == XENPMU_* (PMU operation)              
 15  * @args == struct xenpmu_params                  
 16  */                                               
 17 /* ` enum xenpmu_op { */                          
 18 #define XENPMU_mode_get        0 /* Also used     
 19 #define XENPMU_mode_set        1                  
 20 #define XENPMU_feature_get     2                  
 21 #define XENPMU_feature_set     3                  
 22 #define XENPMU_init            4                  
 23 #define XENPMU_finish          5                  
 24 #define XENPMU_lvtpc_set       6                  
 25 #define XENPMU_flush           7                  
 26                                                   
 27 /* ` } */                                         
 28                                                   
 29 /* Parameters structure for HYPERVISOR_xenpmu_    
 30 struct xen_pmu_params {                           
 31         /* IN/OUT parameters */                   
 32         struct {                                  
 33                 uint32_t maj;                     
 34                 uint32_t min;                     
 35         } version;                                
 36         uint64_t val;                             
 37                                                   
 38         /* IN parameters */                       
 39         uint32_t vcpu;                            
 40         uint32_t pad;                             
 41 };                                                
 42                                                   
 43 /* PMU modes:                                     
 44  * - XENPMU_MODE_OFF:   No PMU virtualization     
 45  * - XENPMU_MODE_SELF:  Guests can profile the    
 46  * - XENPMU_MODE_HV:    Guests can profile the    
 47  *                      itself and Xen            
 48  * - XENPMU_MODE_ALL:   Only dom0 has access t    
 49  *                      everyone: itself, the     
 50  */                                               
 51 #define XENPMU_MODE_OFF           0               
 52 #define XENPMU_MODE_SELF          (1<<0)          
 53 #define XENPMU_MODE_HV            (1<<1)          
 54 #define XENPMU_MODE_ALL           (1<<2)          
 55                                                   
 56 /*                                                
 57  * PMU features:                                  
 58  * - XENPMU_FEATURE_INTEL_BTS: Intel BTS suppo    
 59  */                                               
 60 #define XENPMU_FEATURE_INTEL_BTS  1               
 61                                                   
 62 /*                                                
 63  * Shared PMU data between hypervisor and PV(H    
 64  *                                                
 65  * The hypervisor fills out this structure dur    
 66  * interrupt to appropriate VCPU.                 
 67  * Architecture-independent fields of xen_pmu_    
 68  * and RO for the guest but some fields in xen    
 69  * by both the hypervisor and the guest (see a    
 70  */                                               
 71 struct xen_pmu_data {                             
 72         /* Interrupted VCPU */                    
 73         uint32_t vcpu_id;                         
 74                                                   
 75         /*                                        
 76          * Physical processor on which the int    
 77          * guests set to vcpu_id;                 
 78          */                                       
 79         uint32_t pcpu_id;                         
 80                                                   
 81         /*                                        
 82          * Domain that was interrupted. On non    
 83          * DOMID_SELF.                            
 84          * On privileged guests can be DOMID_S    
 85          * XENPMU_MODE_ALL mode, domain ID of     
 86          */                                       
 87         domid_t  domain_id;                       
 88                                                   
 89         uint8_t pad[6];                           
 90                                                   
 91         /* Architecture-specific information *    
 92         struct xen_pmu_arch pmu;                  
 93 };                                                
 94                                                   
 95 #endif /* __XEN_PUBLIC_XENPMU_H__ */              
 96                                                   

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php