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

TOMOYO Linux Cross Reference
Linux/arch/microblaze/include/asm/irqflags.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/microblaze/include/asm/irqflags.h (Architecture sparc) and /arch/mips/include/asm-mips/irqflags.h (Architecture mips)


  1 /* SPDX-License-Identifier: GPL-2.0 */              1 
  2 /*                                                
  3  * Copyright (C) 2006 Atmark Techno, Inc.         
  4  */                                               
  5                                                   
  6 #ifndef _ASM_MICROBLAZE_IRQFLAGS_H                
  7 #define _ASM_MICROBLAZE_IRQFLAGS_H                
  8                                                   
  9 #include <linux/types.h>                          
 10 #include <asm/registers.h>                        
 11                                                   
 12 #if CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR       
 13                                                   
 14 static inline notrace unsigned long arch_local    
 15 {                                                 
 16         unsigned long flags;                      
 17         asm volatile("  msrclr %0, %1   \n"       
 18                      "  nop             \n"       
 19                      : "=r"(flags)                
 20                      : "i"(MSR_IE)                
 21                      : "memory");                 
 22         return flags;                             
 23 }                                                 
 24                                                   
 25 static inline notrace void arch_local_irq_disa    
 26 {                                                 
 27         /* this uses r0 without declaring it -    
 28         asm volatile("  msrclr r0, %0   \n"       
 29                      "  nop             \n"       
 30                      :                            
 31                      : "i"(MSR_IE)                
 32                      : "memory");                 
 33 }                                                 
 34                                                   
 35 static inline notrace void arch_local_irq_enab    
 36 {                                                 
 37         /* this uses r0 without declaring it -    
 38         asm volatile("  msrset  r0, %0  \n"       
 39                      "  nop             \n"       
 40                      :                            
 41                      : "i"(MSR_IE)                
 42                      : "memory");                 
 43 }                                                 
 44                                                   
 45 #else /* !CONFIG_XILINX_MICROBLAZE0_USE_MSR_IN    
 46                                                   
 47 static inline notrace unsigned long arch_local    
 48 {                                                 
 49         unsigned long flags, tmp;                 
 50         asm volatile (" mfs     %0, rmsr          
 51                       " nop                       
 52                       " andi    %1, %0, %2        
 53                       " mts     rmsr, %1          
 54                       " nop                       
 55                       : "=r"(flags), "=r"(tmp)    
 56                       : "i"(~MSR_IE)              
 57                       : "memory");                
 58         return flags;                             
 59 }                                                 
 60                                                   
 61 static inline notrace void arch_local_irq_disa    
 62 {                                                 
 63         unsigned long tmp;                        
 64         asm volatile("  mfs     %0, rmsr          
 65                      "  nop                       
 66                      "  andi    %0, %0, %1        
 67                      "  mts     rmsr, %0          
 68                      "  nop                       
 69                      : "=r"(tmp)                  
 70                      : "i"(~MSR_IE)               
 71                      : "memory");                 
 72 }                                                 
 73                                                   
 74 static inline notrace void arch_local_irq_enab    
 75 {                                                 
 76         unsigned long tmp;                        
 77         asm volatile("  mfs     %0, rmsr          
 78                      "  nop                       
 79                      "  ori     %0, %0, %1        
 80                      "  mts     rmsr, %0          
 81                      "  nop                       
 82                      : "=r"(tmp)                  
 83                      : "i"(MSR_IE)                
 84                      : "memory");                 
 85 }                                                 
 86                                                   
 87 #endif /* CONFIG_XILINX_MICROBLAZE0_USE_MSR_IN    
 88                                                   
 89 static inline notrace unsigned long arch_local    
 90 {                                                 
 91         unsigned long flags;                      
 92         asm volatile("  mfs     %0, rmsr          
 93                      "  nop                       
 94                      : "=r"(flags)                
 95                      :                            
 96                      : "memory");                 
 97         return flags;                             
 98 }                                                 
 99                                                   
100 static inline notrace void arch_local_irq_rest    
101 {                                                 
102         asm volatile("  mts     rmsr, %0          
103                      "  nop                       
104                      :                            
105                      : "r"(flags)                 
106                      : "memory");                 
107 }                                                 
108                                                   
109 static inline notrace bool arch_irqs_disabled_    
110 {                                                 
111         return (flags & MSR_IE) == 0;             
112 }                                                 
113                                                   
114 static inline notrace bool arch_irqs_disabled(    
115 {                                                 
116         return arch_irqs_disabled_flags(arch_l    
117 }                                                 
118                                                   
119 #endif /* _ASM_MICROBLAZE_IRQFLAGS_H */           
120                                                   

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