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

TOMOYO Linux Cross Reference
Linux/arch/alpha/kernel/machvec_impl.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/alpha/kernel/machvec_impl.h (Architecture mips) and /arch/sparc/kernel/machvec_impl.h (Architecture sparc)


  1 /* SPDX-License-Identifier: GPL-2.0 */              1 
  2 /*                                                
  3  *      linux/arch/alpha/kernel/machvec_impl.h    
  4  *                                                
  5  *      Copyright (C) 1997, 1998  Richard Hend    
  6  *                                                
  7  * This file has goodies to help simplify inst    
  8  */                                               
  9                                                   
 10 /* Whee.  These systems don't have an HAE:        
 11        IRONGATE, MARVEL, POLARIS, TSUNAMI, TIT    
 12    Fix things up for the GENERIC kernel by def    
 13    to be that of the cache. Now we can read an    
 14 #define IRONGATE_HAE_ADDRESS    (&alpha_mv.hae    
 15 #define MARVEL_HAE_ADDRESS      (&alpha_mv.hae    
 16 #define POLARIS_HAE_ADDRESS     (&alpha_mv.hae    
 17 #define TSUNAMI_HAE_ADDRESS     (&alpha_mv.hae    
 18 #define TITAN_HAE_ADDRESS       (&alpha_mv.hae    
 19 #define WILDFIRE_HAE_ADDRESS    (&alpha_mv.hae    
 20                                                   
 21 #ifdef CIA_ONE_HAE_WINDOW                         
 22 #define CIA_HAE_ADDRESS         (&alpha_mv.hae    
 23 #endif                                            
 24 #ifdef MCPCIA_ONE_HAE_WINDOW                      
 25 #define MCPCIA_HAE_ADDRESS      (&alpha_mv.hae    
 26 #endif                                            
 27 #ifdef T2_ONE_HAE_WINDOW                          
 28 #define T2_HAE_ADDRESS          (&alpha_mv.hae    
 29 #endif                                            
 30                                                   
 31 /* Only a few systems don't define IACK_SC, ha    
 32    the SRM console.  But splitting out that on    
 33    seems like such a pain.  Define this to get    
 34 #define JENSEN_IACK_SC          1                 
 35 #define T2_IACK_SC              1                 
 36 #define WILDFIRE_IACK_SC        1 /* FIXME */     
 37                                                   
 38 /*                                                
 39  * Some helpful macros for filling in the blan    
 40  */                                               
 41                                                   
 42 #define CAT1(x,y)  x##y                           
 43 #define CAT(x,y)   CAT1(x,y)                      
 44                                                   
 45 #define DO_DEFAULT_RTC                  .rtc_p    
 46                                                   
 47 #define DO_EV5_MMU                                
 48         .max_asn =                      EV5_MA    
 49                                                   
 50 #define DO_EV6_MMU                                
 51         .max_asn =                      EV6_MA    
 52                                                   
 53 #define DO_EV7_MMU                                
 54         .max_asn =                      EV6_MA    
 55                                                   
 56 #define IO_LITE(UP,low)                           
 57         .hae_register =         (unsigned long    
 58         .iack_sc =              CAT(UP,_IACK_S    
 59         .mv_ioread8 =           CAT(low,_iorea    
 60         .mv_ioread16 =          CAT(low,_iorea    
 61         .mv_ioread32 =          CAT(low,_iorea    
 62         .mv_ioread64 =          CAT(low,_iorea    
 63         .mv_iowrite8 =          CAT(low,_iowri    
 64         .mv_iowrite16 =         CAT(low,_iowri    
 65         .mv_iowrite32 =         CAT(low,_iowri    
 66         .mv_iowrite64 =         CAT(low,_iowri    
 67         .mv_readb =             CAT(low,_readb    
 68         .mv_readw =             CAT(low,_readw    
 69         .mv_readl =             CAT(low,_readl    
 70         .mv_readq =             CAT(low,_readq    
 71         .mv_writeb =            CAT(low,_write    
 72         .mv_writew =            CAT(low,_write    
 73         .mv_writel =            CAT(low,_write    
 74         .mv_writeq =            CAT(low,_write    
 75         .mv_ioportmap =         CAT(low,_iopor    
 76         .mv_ioremap =           CAT(low,_iorem    
 77         .mv_iounmap =           CAT(low,_iounm    
 78         .mv_is_ioaddr =         CAT(low,_is_io    
 79         .mv_is_mmio =           CAT(low,_is_mm    
 80                                                   
 81 #define IO(UP,low)                                
 82         IO_LITE(UP,low),                          
 83         .pci_ops =              &CAT(low,_pci_    
 84         .mv_pci_tbi =           CAT(low,_pci_t    
 85                                                   
 86 #define DO_APECS_IO     IO(APECS,apecs)           
 87 #define DO_CIA_IO       IO(CIA,cia)               
 88 #define DO_IRONGATE_IO  IO(IRONGATE,irongate)     
 89 #define DO_LCA_IO       IO(LCA,lca)               
 90 #define DO_MARVEL_IO    IO(MARVEL,marvel)         
 91 #define DO_MCPCIA_IO    IO(MCPCIA,mcpcia)         
 92 #define DO_POLARIS_IO   IO(POLARIS,polaris)       
 93 #define DO_T2_IO        IO(T2,t2)                 
 94 #define DO_TSUNAMI_IO   IO(TSUNAMI,tsunami)       
 95 #define DO_TITAN_IO     IO(TITAN,titan)           
 96 #define DO_WILDFIRE_IO  IO(WILDFIRE,wildfire)     
 97                                                   
 98 #define DO_PYXIS_IO     IO_LITE(CIA,cia_bwx),     
 99                         .pci_ops = &cia_pci_op    
100                         .mv_pci_tbi = cia_pci_    
101                                                   
102 /*                                                
103  * In a GENERIC kernel, we have lots of these     
104  * all but one of which we want to go away.  I    
105  * we want only one, ever.                        
106  *                                                
107  * Accomplish this in the GENERIC kernel by pu    
108  * in the .init.data section where they'll go     
109  * one we want to the real alpha_mv vector in     
110  *                                                
111  * Accomplish this in a non-GENERIC kernel by     
112  * one of the vectors, which will not reside i    
113  * alias this one vector to alpha_mv, so no co    
114  *                                                
115  * Upshot: set __initdata to nothing for non-G    
116  */                                               
117                                                   
118 #ifdef CONFIG_ALPHA_GENERIC                       
119 #define __initmv __initdata                       
120 #define ALIAS_MV(x)                               
121 #else                                             
122 #define __initmv __refdata                        
123                                                   
124 /* GCC actually has a syntax for defining alia    
125    delusion that you shouldn't be able to decl    
126    else beforehand.  Fine.  We'll do it oursel    
127 #if 0                                             
128 #define ALIAS_MV(system) \                        
129   struct alpha_machine_vector alpha_mv __attri    
130   EXPORT_SYMBOL(alpha_mv);                        
131 #else                                             
132 #define ALIAS_MV(system) \                        
133   asm(".global alpha_mv\nalpha_mv = " #system     
134   EXPORT_SYMBOL(alpha_mv);                        
135 #endif                                            
136 #endif /* GENERIC */                              
137                                                   

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