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

TOMOYO Linux Cross Reference
Linux/arch/x86/include/asm/vvar.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 /arch/x86/include/asm/vvar.h (Architecture alpha) and /arch/sparc/include/asm-sparc/vvar.h (Architecture sparc)


  1 /* SPDX-License-Identifier: GPL-2.0-only */         1 
  2 /*                                                
  3  * vvar.h: Shared vDSO/kernel variable declara    
  4  * Copyright (c) 2011 Andy Lutomirski             
  5  *                                                
  6  * A handful of variables are accessible (read    
  7  * code in the vsyscall page and the vdso.  Th    
  8  * Some other file must define them with DEFIN    
  9  *                                                
 10  * In normal kernel code, they are used like a    
 11  * In user code, they are accessed through the    
 12  *                                                
 13  * These variables live in a page of kernel da    
 14  * mapping for userspace.  Each variable needs    
 15  * that page; specify that offset with the DEC    
 16  * you mess up, the linker will catch it.)        
 17  */                                               
 18                                                   
 19 #ifndef _ASM_X86_VVAR_H                           
 20 #define _ASM_X86_VVAR_H                           
 21                                                   
 22 #ifdef EMIT_VVAR                                  
 23 /*                                                
 24  * EMIT_VVAR() is used by the kernel linker sc    
 25  * right place. Also, it's used by kernel code    
 26  */                                               
 27 #define DECLARE_VVAR(offset, type, name) \        
 28         EMIT_VVAR(name, offset)                   
 29 #define DECLARE_VVAR_SINGLE(offset, type, name    
 30         EMIT_VVAR(name, offset)                   
 31                                                   
 32 #else                                             
 33                                                   
 34 extern char __vvar_page;                          
 35                                                   
 36 #define DECLARE_VVAR(offset, type, name)          
 37         extern type vvar_ ## name[CS_BASES]       
 38         __attribute__((visibility("hidden")));    
 39         extern type timens_ ## name[CS_BASES]     
 40         __attribute__((visibility("hidden")));    
 41                                                   
 42 #define DECLARE_VVAR_SINGLE(offset, type, name    
 43         extern type vvar_ ## name                 
 44         __attribute__((visibility("hidden")));    
 45                                                   
 46 #define VVAR(name) (vvar_ ## name)                
 47 #define TIMENS(name) (timens_ ## name)            
 48                                                   
 49 #define DEFINE_VVAR(type, name)                   
 50         type name[CS_BASES]                       
 51         __attribute__((section(".vvar_" #name)    
 52                                                   
 53 #define DEFINE_VVAR_SINGLE(type, name)            
 54         type name                                 
 55         __attribute__((section(".vvar_" #name)    
 56                                                   
 57 #endif                                            
 58                                                   
 59 /* DECLARE_VVAR(offset, type, name) */            
 60                                                   
 61 DECLARE_VVAR(128, struct vdso_data, _vdso_data    
 62                                                   
 63 #if !defined(_SINGLE_DATA)                        
 64 #define _SINGLE_DATA                              
 65 DECLARE_VVAR_SINGLE(640, struct vdso_rng_data,    
 66 #endif                                            
 67                                                   
 68 #undef DECLARE_VVAR                               
 69 #undef DECLARE_VVAR_SINGLE                        
 70                                                   
 71 #endif                                            
 72                                                   

~ [ 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