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

TOMOYO Linux Cross Reference
Linux/arch/x86/kernel/x86_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/x86/kernel/x86_init.c (Version linux-6.12-rc7) and /arch/i386/kernel/x86_init.c (Version linux-5.15.171)


  1 /*                                                  1 
  2  * Copyright (C) 2009 Thomas Gleixner <tglx@li    
  3  *                                                
  4  *  For licencing details see kernel-base/COPY    
  5  */                                               
  6 #include <linux/dmi.h>                            
  7 #include <linux/init.h>                           
  8 #include <linux/ioport.h>                         
  9 #include <linux/export.h>                         
 10 #include <linux/pci.h>                            
 11 #include <linux/acpi.h>                           
 12                                                   
 13 #include <asm/acpi.h>                             
 14 #include <asm/bios_ebda.h>                        
 15 #include <asm/paravirt.h>                         
 16 #include <asm/pci_x86.h>                          
 17 #include <asm/mpspec.h>                           
 18 #include <asm/setup.h>                            
 19 #include <asm/apic.h>                             
 20 #include <asm/e820/api.h>                         
 21 #include <asm/time.h>                             
 22 #include <asm/irq.h>                              
 23 #include <asm/io_apic.h>                          
 24 #include <asm/hpet.h>                             
 25 #include <asm/memtype.h>                          
 26 #include <asm/tsc.h>                              
 27 #include <asm/iommu.h>                            
 28 #include <asm/mach_traps.h>                       
 29 #include <asm/irqdomain.h>                        
 30 #include <asm/realmode.h>                         
 31                                                   
 32 void x86_init_noop(void) { }                      
 33 void __init x86_init_uint_noop(unsigned int un    
 34 static int __init iommu_init_noop(void) { retu    
 35 static void iommu_shutdown_noop(void) { }         
 36 bool __init bool_x86_init_noop(void) { return     
 37 void x86_op_int_noop(int cpu) { }                 
 38 int set_rtc_noop(const struct timespec64 *now)    
 39 void get_rtc_noop(struct timespec64 *now) { }     
 40                                                   
 41 static __initconst const struct of_device_id o    
 42         { .compatible = "motorola,mc146818" },    
 43         {}                                        
 44 };                                                
 45                                                   
 46 /*                                                
 47  * Allow devicetree configured systems to disa    
 48  * corresponding DT node's status property to     
 49  * out for CONFIG_OF=n builds.                    
 50  */                                               
 51 static __init void x86_wallclock_init(void)       
 52 {                                                 
 53         struct device_node *node = of_find_mat    
 54                                                   
 55         if (node && !of_device_is_available(no    
 56                 x86_platform.get_wallclock = g    
 57                 x86_platform.set_wallclock = s    
 58         }                                         
 59 }                                                 
 60                                                   
 61 /*                                                
 62  * The platform setup functions are preset wit    
 63  * for standard PC hardware.                      
 64  */                                               
 65 struct x86_init_ops x86_init __initdata = {       
 66                                                   
 67         .resources = {                            
 68                 .probe_roms             = prob    
 69                 .reserve_resources      = rese    
 70                 .memory_setup           = e820    
 71                 .dmi_setup              = dmi_    
 72         },                                        
 73                                                   
 74         .mpparse = {                              
 75                 .setup_ioapic_ids       = x86_    
 76                 .find_mptable           = mppa    
 77                 .early_parse_smp_cfg    = mppa    
 78                 .parse_smp_cfg          = mppa    
 79         },                                        
 80                                                   
 81         .irqs = {                                 
 82                 .pre_vector_init        = init    
 83                 .intr_init              = nati    
 84                 .intr_mode_select       = apic    
 85                 .intr_mode_init         = apic    
 86                 .create_pci_msi_domain  = nati    
 87         },                                        
 88                                                   
 89         .oem = {                                  
 90                 .arch_setup             = x86_    
 91                 .banner                 = defa    
 92         },                                        
 93                                                   
 94         .paging = {                               
 95                 .pagetable_init         = nati    
 96         },                                        
 97                                                   
 98         .timers = {                               
 99                 .setup_percpu_clockev   = setu    
100                 .timer_init             = hpet    
101                 .wallclock_init         = x86_    
102         },                                        
103                                                   
104         .iommu = {                                
105                 .iommu_init             = iomm    
106         },                                        
107                                                   
108         .pci = {                                  
109                 .init                   = x86_    
110                 .init_irq               = x86_    
111                 .fixup_irqs             = x86_    
112         },                                        
113                                                   
114         .hyper = {                                
115                 .init_platform          = x86_    
116                 .guest_late_init        = x86_    
117                 .x2apic_available       = bool    
118                 .msi_ext_dest_id        = bool    
119                 .init_mem_mapping       = x86_    
120                 .init_after_bootmem     = x86_    
121         },                                        
122                                                   
123         .acpi = {                                 
124                 .set_root_pointer       = x86_    
125                 .get_root_pointer       = x86_    
126                 .reduced_hw_early_init  = acpi    
127         },                                        
128 };                                                
129                                                   
130 struct x86_cpuinit_ops x86_cpuinit = {            
131         .early_percpu_clock_init        = x86_    
132         .setup_percpu_clockev           = setu    
133         .parallel_bringup               = true    
134 };                                                
135                                                   
136 static void default_nmi_init(void) { };           
137                                                   
138 static int enc_status_change_prepare_noop(unsi    
139 static int enc_status_change_finish_noop(unsig    
140 static bool enc_tlb_flush_required_noop(bool e    
141 static bool enc_cache_flush_required_noop(void    
142 static void enc_kexec_begin_noop(void) {}         
143 static void enc_kexec_finish_noop(void) {}        
144 static bool is_private_mmio_noop(u64 addr) {re    
145                                                   
146 struct x86_platform_ops x86_platform __ro_afte    
147         .calibrate_cpu                  = nati    
148         .calibrate_tsc                  = nati    
149         .get_wallclock                  = mach    
150         .set_wallclock                  = mach    
151         .iommu_shutdown                 = iomm    
152         .is_untracked_pat_range         = is_I    
153         .nmi_init                       = defa    
154         .get_nmi_reason                 = defa    
155         .save_sched_clock_state         = tsc_    
156         .restore_sched_clock_state      = tsc_    
157         .realmode_reserve               = rese    
158         .realmode_init                  = init    
159         .hyper.pin_vcpu                 = x86_    
160         .hyper.is_private_mmio          = is_p    
161                                                   
162         .guest = {                                
163                 .enc_status_change_prepare = e    
164                 .enc_status_change_finish  = e    
165                 .enc_tlb_flush_required    = e    
166                 .enc_cache_flush_required  = e    
167                 .enc_kexec_begin           = e    
168                 .enc_kexec_finish          = e    
169         },                                        
170 };                                                
171                                                   
172 EXPORT_SYMBOL_GPL(x86_platform);                  
173                                                   
174 struct x86_apic_ops x86_apic_ops __ro_after_in    
175         .io_apic_read   = native_io_apic_read,    
176         .restore        = native_restore_boot_    
177 };                                                
178                                                   

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