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

TOMOYO Linux Cross Reference
Linux/arch/mips/dec/prom/init.c

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/mips/dec/prom/init.c (Architecture ppc) and /arch/sparc/dec/prom/init.c (Architecture sparc)


  1 // SPDX-License-Identifier: GPL-2.0                 1 
  2 /*                                                
  3  * init.c: PROM library initialisation code.      
  4  *                                                
  5  * Copyright (C) 1998 Harald Koerfgen             
  6  * Copyright (C) 2002, 2004  Maciej W. Rozycki    
  7  */                                               
  8 #include <linux/init.h>                           
  9 #include <linux/kernel.h>                         
 10 #include <linux/linkage.h>                        
 11 #include <linux/smp.h>                            
 12 #include <linux/string.h>                         
 13 #include <linux/types.h>                          
 14                                                   
 15 #include <asm/bootinfo.h>                         
 16 #include <asm/cpu.h>                              
 17 #include <asm/cpu-type.h>                         
 18 #include <asm/processor.h>                        
 19                                                   
 20 #include <asm/dec/prom.h>                         
 21                                                   
 22                                                   
 23 int (*__rex_bootinit)(void);                      
 24 int (*__rex_bootread)(void);                      
 25 int (*__rex_getbitmap)(memmap *);                 
 26 unsigned long *(*__rex_slot_address)(int);        
 27 void *(*__rex_gettcinfo)(void);                   
 28 int (*__rex_getsysid)(void);                      
 29 void (*__rex_clear_cache)(void);                  
 30                                                   
 31 int (*__prom_getchar)(void);                      
 32 char *(*__prom_getenv)(char *);                   
 33 int (*__prom_printf)(char *, ...);                
 34                                                   
 35 int (*__pmax_open)(char*, int);                   
 36 int (*__pmax_lseek)(int, long, int);              
 37 int (*__pmax_read)(int, void *, int);             
 38 int (*__pmax_close)(int);                         
 39                                                   
 40                                                   
 41 /*                                                
 42  * Detect which PROM the DECSTATION has, and s    
 43  * appropriately.                                 
 44  */                                               
 45 void __init which_prom(s32 magic, s32 *prom_ve    
 46 {                                                 
 47         /*                                        
 48          * No sign of the REX PROM's magic num    
 49          * machine (i.e. we're on a DS2100/310    
 50          */                                       
 51         if (prom_is_rex(magic)) {                 
 52                 /*                                
 53                  * Set up prom abstraction str    
 54                  */                               
 55                 __rex_bootinit =                  
 56                         (void *)(long)*(prom_v    
 57                 __rex_bootread =                  
 58                         (void *)(long)*(prom_v    
 59                 __rex_getbitmap =                 
 60                         (void *)(long)*(prom_v    
 61                 __prom_getchar =                  
 62                         (void *)(long)*(prom_v    
 63                 __prom_getenv =                   
 64                         (void *)(long)*(prom_v    
 65                 __rex_getsysid =                  
 66                         (void *)(long)*(prom_v    
 67                 __rex_gettcinfo =                 
 68                         (void *)(long)*(prom_v    
 69                 __prom_printf =                   
 70                         (void *)(long)*(prom_v    
 71                 __rex_slot_address =              
 72                         (void *)(long)*(prom_v    
 73                 __rex_clear_cache =               
 74                         (void *)(long)*(prom_v    
 75         } else {                                  
 76                 /*                                
 77                  * Set up prom abstraction str    
 78                  */                               
 79                 __prom_getchar = (void *)PMAX_    
 80                 __prom_getenv = (void *)PMAX_P    
 81                 __prom_printf = (void *)PMAX_P    
 82                 __pmax_open = (void *)PMAX_PRO    
 83                 __pmax_lseek = (void *)PMAX_PR    
 84                 __pmax_read = (void *)PMAX_PRO    
 85                 __pmax_close = (void *)PMAX_PR    
 86         }                                         
 87 }                                                 
 88                                                   
 89 void __init prom_init(void)                       
 90 {                                                 
 91         extern void dec_machine_halt(void);       
 92         static const char cpu_msg[] __initcons    
 93                 "Sorry, this kernel is compile    
 94         s32 argc = fw_arg0;                       
 95         s32 *argv = (void *)fw_arg1;              
 96         u32 magic = fw_arg2;                      
 97         s32 *prom_vec = (void *)fw_arg3;          
 98                                                   
 99         /*                                        
100          * Determine which PROM we have           
101          * (and therefore which machine we're     
102          */                                       
103         which_prom(magic, prom_vec);              
104                                                   
105         if (prom_is_rex(magic))                   
106                 rex_clear_cache();                
107                                                   
108         /* Register the early console.  */        
109         register_prom_console();                  
110                                                   
111         /* Were we compiled with the right CPU    
112 #if defined(CONFIG_CPU_R3000)                     
113         if ((current_cpu_type() == CPU_R4000SC    
114             (current_cpu_type() == CPU_R4400SC    
115                 static const char r4k_msg[] __    
116                         "Please recompile with    
117                 printk(cpu_msg);                  
118                 printk(r4k_msg);                  
119                 dec_machine_halt();               
120         }                                         
121 #endif                                            
122                                                   
123 #if defined(CONFIG_CPU_R4X00)                     
124         if ((current_cpu_type() == CPU_R3000)     
125             (current_cpu_type() == CPU_R3000A)    
126                 static const char r3k_msg[] __    
127                         "Please recompile with    
128                 printk(cpu_msg);                  
129                 printk(r3k_msg);                  
130                 dec_machine_halt();               
131         }                                         
132 #endif                                            
133                                                   
134         prom_meminit(magic);                      
135         prom_identify_arch(magic);                
136         prom_init_cmdline(argc, argv, magic);     
137 }                                                 
138                                                   

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