tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master head: 082fce125e57cff60687181c97f3a8ee620c38f5 commit: 6b3d571ab0ddc9fb5e5232fa99cc958d1e11391f [12658/12775] Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git config: powerpc-randconfig-r023-20221009 compiler: powerpc-linux-gcc (GCC) 12.1.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=6b3d571ab0ddc9fb5e5232fa99cc958d1e11391f git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git fetch --no-tags linux-next master git checkout 6b3d571ab0ddc9fb5e5232fa99cc958d1e11391f # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot All errors (new ones prefixed by >>): powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `set_ivor': >> arch/powerpc/kernel/head_85xx.S:209: undefined reference to `boot_cpuid' >> powerpc-linux-ld: arch/powerpc/kernel/head_85xx.S:209: undefined reference to `boot_cpuid' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `CriticalInput': >> arch/powerpc/kernel/head_85xx.S:359: undefined reference to `critirq_ctx' >> powerpc-linux-ld: arch/powerpc/kernel/head_85xx.S:359: undefined reference to `critirq_ctx' >> powerpc-linux-ld: arch/powerpc/kernel/head_85xx.S:359: undefined reference to `unknown_exception' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `MachineCheck': >> arch/powerpc/kernel/head_85xx.S:362: undefined reference to `mcheckirq_ctx' >> powerpc-linux-ld: arch/powerpc/kernel/head_85xx.S:362: undefined reference to `mcheckirq_ctx' >> powerpc-linux-ld: arch/powerpc/kernel/head_85xx.S:362: undefined reference to `machine_check_exception' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `DataStorage': >> arch/powerpc/kernel/head_85xx.S:378: undefined reference to `CacheLockingException' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `ExternalInput': >> arch/powerpc/kernel/head_85xx.S:385: undefined reference to `do_IRQ' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `Alignment': >> arch/powerpc/kernel/head_85xx.S:388: undefined reference to `alignment_exception' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `Program': >> arch/powerpc/kernel/head_85xx.S:391: undefined reference to `program_check_exception' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `FloatingPointUnavailable': >> arch/powerpc/kernel/head_85xx.S:395: undefined reference to `kernel_fp_unavailable_exception' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `AuxillaryProcessorUnavailable': >> arch/powerpc/kernel/head_85xx.S:405: undefined reference to `unknown_exception' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `Decrementer': >> arch/powerpc/kernel/head_85xx.S:408: undefined reference to `timer_interrupt' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `FixedIntervalTimer': arch/powerpc/kernel/head_85xx.S:412: undefined reference to `unknown_exception' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `WatchdogTimer': arch/powerpc/kernel/head_85xx.S:418: undefined reference to `critirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.S:418: undefined reference to `critirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.S:418: undefined reference to `unknown_exception' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `PerformanceMonitor': >> arch/powerpc/kernel/head_85xx.S:663: undefined reference to `performance_monitor_exception' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `Doorbell': >> arch/powerpc/kernel/head_85xx.S:666: undefined reference to `doorbell_exception' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `CriticalDoorbell': arch/powerpc/kernel/head_85xx.S:668: undefined reference to `critirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.S:668: undefined reference to `critirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.S:668: undefined reference to `unknown_exception' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `DebugDebug': >> arch/powerpc/kernel/head_85xx.S:672: undefined reference to `dbgirq_ctx' >> powerpc-linux-ld: arch/powerpc/kernel/head_85xx.S:672: undefined reference to `dbgirq_ctx' >> powerpc-linux-ld: arch/powerpc/kernel/head_85xx.S:672: undefined reference to `dbgirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.S:672: undefined reference to `dbgirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.S:672: undefined reference to `DebugException' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `DebugCrit': arch/powerpc/kernel/head_85xx.S:673: undefined reference to `critirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.S:673: undefined reference to `critirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.S:673: undefined reference to `critirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.S:673: undefined reference to `critirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.S:673: undefined reference to `DebugException' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `CriticalGuestDoorbell': arch/powerpc/kernel/head_85xx.S:677: undefined reference to `critirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.S:677: undefined reference to `critirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.S:677: undefined reference to `unknown_exception' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `Hypercall': arch/powerpc/kernel/head_85xx.S:681: undefined reference to `unknown_exception' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `Ehvpriv': arch/powerpc/kernel/head_85xx.S:684: undefined reference to `unknown_exception' powerpc-linux-ld: arch/powerpc/kernel/head_85xx.o: in function `__secondary_start': arch/powerpc/kernel/head_85xx.S:1039: undefined reference to `call_setup_cpu' powerpc-linux-ld: init/main.o: in function `start_kernel': init/main.c:952: undefined reference to `setup_arch' powerpc-linux-ld: init/main.c:1030: undefined reference to `init_IRQ' powerpc-linux-ld: init/main.c:1039: undefined reference to `time_init' powerpc-linux-ld: init/main.c:1103: undefined reference to `calibrate_delay' powerpc-linux-ld: arch/powerpc/kernel/entry_32.o: in function `prepare_transfer_to_handler': arch/powerpc/kernel/entry_32.S:64: undefined reference to `power_save_ppc32_restore' powerpc-linux-ld: arch/powerpc/kernel/entry_32.o: in function `transfer_to_syscall': arch/powerpc/kernel/entry_32.S:128: undefined reference to `system_call_exception' powerpc-linux-ld: arch/powerpc/kernel/entry_32.o: in function `ret_from_syscall': arch/powerpc/kernel/entry_32.S:133: undefined reference to `syscall_exit_prepare' powerpc-linux-ld: arch/powerpc/kernel/entry_32.o: in function `fast_exception_return': arch/powerpc/kernel/entry_32.S:290: undefined reference to `unrecoverable_exception' powerpc-linux-ld: arch/powerpc/kernel/entry_32.o: in function `interrupt_return': arch/powerpc/kernel/entry_32.S:299: undefined reference to `interrupt_exit_user_prepare' powerpc-linux-ld: arch/powerpc/kernel/entry_32.S:347: undefined reference to `interrupt_exit_kernel_prepare' powerpc-linux-ld: arch/powerpc/kernel/setup_32.o: in function `ppc_init': arch/powerpc/kernel/setup_32.c:130: undefined reference to `ppc_md' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:130: undefined reference to `ppc_md' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:130: undefined reference to `ppc_md' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:130: undefined reference to `ppc_md' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:134: undefined reference to `ppc_md' powerpc-linux-ld: arch/powerpc/kernel/setup_32.o:arch/powerpc/kernel/setup_32.c:134: more undefined references to `ppc_md' follow powerpc-linux-ld: arch/powerpc/kernel/setup_32.o: in function `machine_init': arch/powerpc/kernel/setup_32.c:87: undefined reference to `udbg_early_init' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:95: undefined reference to `early_init_devtree' powerpc-linux-ld: arch/powerpc/kernel/setup_32.o: in function `irqstack_early_init': arch/powerpc/kernel/setup_32.c:162: undefined reference to `softirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:162: undefined reference to `softirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:163: undefined reference to `hardirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:163: undefined reference to `hardirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/setup_32.o: in function `exc_lvl_early_init': arch/powerpc/kernel/setup_32.c:193: undefined reference to `critirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:193: undefined reference to `critirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:195: undefined reference to `dbgirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:195: undefined reference to `dbgirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:196: undefined reference to `mcheckirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:196: undefined reference to `mcheckirq_ctx' powerpc-linux-ld: arch/powerpc/kernel/setup_32.o: in function `initialize_cache_info': arch/powerpc/kernel/setup_32.c:224: undefined reference to `cur_cpu_spec' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:224: undefined reference to `cur_cpu_spec' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:224: undefined reference to `cur_cpu_spec' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:224: undefined reference to `dcache_bsize' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:224: undefined reference to `dcache_bsize' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:224: undefined reference to `dcache_bsize' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:225: undefined reference to `icache_bsize' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:225: undefined reference to `icache_bsize' powerpc-linux-ld: arch/powerpc/kernel/setup_32.c:225: undefined reference to `icache_bsize' powerpc-linux-ld: arch/powerpc/kernel/smp.o: in function `smp_store_cpu_info': arch/powerpc/kernel/smp.c:710: undefined reference to `cpu_pvr' powerpc-linux-ld: arch/powerpc/kernel/smp.c:710: undefined reference to `cpu_pvr' powerpc-linux-ld: arch/powerpc/kernel/smp.o: in function `tick_broadcast_ipi_action': arch/powerpc/kernel/smp.c:216: undefined reference to `timer_broadcast_interrupt' powerpc-linux-ld: arch/powerpc/kernel/smp.o: in function `cpu_first_thread_sibling': arch/powerpc/include/asm/cputhreads.h:60: undefined reference to `threads_per_core' powerpc-linux-ld: arch/powerpc/include/asm/cputhreads.h:60: undefined reference to `threads_per_core' powerpc-linux-ld: arch/powerpc/include/asm/cputhreads.h:60: undefined reference to `threads_per_core' powerpc-linux-ld: arch/powerpc/kernel/smp.o: in function `smp_prepare_cpus': arch/powerpc/kernel/smp.c:1096: undefined reference to `boot_cpuid' powerpc-linux-ld: arch/powerpc/kernel/smp.c:1096: undefined reference to `boot_cpuid' powerpc-linux-ld: arch/powerpc/kernel/smp.c:1096: undefined reference to `boot_cpuid' powerpc-linux-ld: arch/powerpc/kernel/smp.c:1100: undefined reference to `boot_cpuid' powerpc-linux-ld: arch/powerpc/kernel/smp.c:1126: undefined reference to `boot_cpuid' powerpc-linux-ld: arch/powerpc/kernel/smp.o:arch/powerpc/kernel/smp.c:1127: more undefined references to `boot_cpuid' follow powerpc-linux-ld: arch/powerpc/kernel/smp.o: in function `smp_prepare_cpus': arch/powerpc/kernel/smp.c:1139: undefined reference to `cpu_to_chip_id' powerpc-linux-ld: arch/powerpc/kernel/smp.c:1140: undefined reference to `threads_per_core' powerpc-linux-ld: arch/powerpc/kernel/smp.c:1140: undefined reference to `threads_per_core' powerpc-linux-ld: arch/powerpc/kernel/smp.c:1140: undefined reference to `threads_per_core' powerpc-linux-ld: arch/powerpc/kernel/smp.c:1148: undefined reference to `chip_id_lookup_table' powerpc-linux-ld: arch/powerpc/kernel/smp.c:1148: undefined reference to `chip_id_lookup_table' powerpc-linux-ld: arch/powerpc/kernel/smp.c:1148: undefined reference to `chip_id_lookup_table' powerpc-linux-ld: arch/powerpc/kernel/smp.o: in function `smp_cpus_done': arch/powerpc/kernel/smp.c:1717: undefined reference to `boot_cpuid' powerpc-linux-ld: arch/powerpc/kernel/smp.c:1717: undefined reference to `boot_cpuid' powerpc-linux-ld: arch/powerpc/kernel/smp.c:1717: undefined reference to `boot_cpuid' powerpc-linux-ld: arch/powerpc/kernel/smp.o: in function `smp_prepare_boot_cpu': arch/powerpc/kernel/smp.c:1159: undefined reference to `boot_cpuid' powerpc-linux-ld: arch/powerpc/kernel/smp.c:1159: undefined reference to `boot_cpuid' powerpc-linux-ld: arch/powerpc/kernel/smp.o:arch/powerpc/kernel/smp.c:1159: more undefined references to `boot_cpuid' follow powerpc-linux-ld: arch/powerpc/kernel/smp.o: in function `cpu_first_thread_sibling': arch/powerpc/include/asm/cputhreads.h:60: undefined reference to `threads_per_core' vim +209 arch/powerpc/kernel/head_85xx.S 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 204 d5b26db2cfcf09 arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-11-19 205 #ifdef CONFIG_SMP d5b26db2cfcf09 arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-11-19 206 /* Check to see if we're the second processor, and jump d5b26db2cfcf09 arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-11-19 207 * to the secondary_start code if so d5b26db2cfcf09 arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-11-19 208 */ 0be7d969b0efef arch/powerpc/kernel/head_fsl_booke.S Kevin Hao 2013-12-24 @209 LOAD_REG_ADDR_PIC(r24, boot_cpuid) 2ed38b23597284 arch/powerpc/kernel/head_fsl_booke.S Matthew McClintock 2010-08-31 210 lwz r24, 0(r24) 2ed38b23597284 arch/powerpc/kernel/head_fsl_booke.S Matthew McClintock 2010-08-31 211 cmpwi r24, -1 d5b26db2cfcf09 arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-11-19 212 mfspr r24,SPRN_PIR d5b26db2cfcf09 arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-11-19 213 bne __secondary_start d5b26db2cfcf09 arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-11-19 214 #endif d5b26db2cfcf09 arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-11-19 215 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 216 /* 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 217 * This is where the main kernel code starts. 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 218 */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 219 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 220 /* ptr to current */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 221 lis r2,init_task@h 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 222 ori r2,r2,init_task@l 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 223 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 224 /* ptr to current thread */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 225 addi r4,r2,THREAD /* init task's THREAD */ ee43eb788b3a06 arch/powerpc/kernel/head_fsl_booke.S Benjamin Herrenschmidt 2009-07-14 226 mtspr SPRN_SPRG_THREAD,r4 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 227 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 228 /* stack */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 229 lis r1,init_thread_union@h 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 230 ori r1,r1,init_thread_union@l 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 231 li r0,0 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 232 stwu r0,THREAD_SIZE-STACK_FRAME_OVERHEAD(r1) 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 233 054860897cd35a arch/powerpc/kernel/head_fsl_booke.S Christophe Leroy 2019-01-31 234 #ifdef CONFIG_SMP f7354ccac844da arch/powerpc/kernel/head_fsl_booke.S Christophe Leroy 2019-01-31 235 stw r24, TASK_CPU(r2) 054860897cd35a arch/powerpc/kernel/head_fsl_booke.S Christophe Leroy 2019-01-31 236 #endif 2ed38b23597284 arch/powerpc/kernel/head_fsl_booke.S Matthew McClintock 2010-08-31 237 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 238 bl early_init 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 239 71eb40fc53371b arch/powerpc/kernel/head_fsl_booke.S Christophe Leroy 2019-11-29 240 #ifdef CONFIG_KASAN 71eb40fc53371b arch/powerpc/kernel/head_fsl_booke.S Christophe Leroy 2019-11-29 241 bl kasan_early_init 71eb40fc53371b arch/powerpc/kernel/head_fsl_booke.S Christophe Leroy 2019-11-29 242 #endif dd189692d40948 arch/powerpc/kernel/head_fsl_booke.S Kevin Hao 2013-12-24 243 #ifdef CONFIG_RELOCATABLE 7d2471f9fa8508 arch/powerpc/kernel/head_fsl_booke.S Kevin Hao 2013-12-24 244 mr r3,r30 7d2471f9fa8508 arch/powerpc/kernel/head_fsl_booke.S Kevin Hao 2013-12-24 245 mr r4,r31 dd189692d40948 arch/powerpc/kernel/head_fsl_booke.S Kevin Hao 2013-12-24 246 #ifdef CONFIG_PHYS_64BIT 7d2471f9fa8508 arch/powerpc/kernel/head_fsl_booke.S Kevin Hao 2013-12-24 247 mr r5,r23 7d2471f9fa8508 arch/powerpc/kernel/head_fsl_booke.S Kevin Hao 2013-12-24 248 mr r6,r25 dd189692d40948 arch/powerpc/kernel/head_fsl_booke.S Kevin Hao 2013-12-24 249 #else 7d2471f9fa8508 arch/powerpc/kernel/head_fsl_booke.S Kevin Hao 2013-12-24 250 mr r5,r25 dd189692d40948 arch/powerpc/kernel/head_fsl_booke.S Kevin Hao 2013-12-24 251 #endif dd189692d40948 arch/powerpc/kernel/head_fsl_booke.S Kevin Hao 2013-12-24 252 bl relocate_init dd189692d40948 arch/powerpc/kernel/head_fsl_booke.S Kevin Hao 2013-12-24 253 #endif dd189692d40948 arch/powerpc/kernel/head_fsl_booke.S Kevin Hao 2013-12-24 254 0f890c8d205e47 arch/powerpc/kernel/head_fsl_booke.S Suzuki Poulose 2011-12-14 255 #ifdef CONFIG_DYNAMIC_MEMSTART 37dd2badcfcec3 arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-04-22 256 lis r3,kernstart_addr@ha 37dd2badcfcec3 arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-04-22 257 la r3,kernstart_addr@l(r3) 37dd2badcfcec3 arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-04-22 258 #ifdef CONFIG_PHYS_64BIT 37dd2badcfcec3 arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-04-22 259 stw r23,0(r3) 37dd2badcfcec3 arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-04-22 260 stw r25,4(r3) 37dd2badcfcec3 arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-04-22 261 #else 37dd2badcfcec3 arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-04-22 262 stw r25,0(r3) 37dd2badcfcec3 arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-04-22 263 #endif 37dd2badcfcec3 arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-04-22 264 #endif 37dd2badcfcec3 arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-04-22 265 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 266 /* 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 267 * Decide what sort of machine this is and initialize the MMU. 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 268 */ 6dece0eb69b2a2 arch/powerpc/kernel/head_fsl_booke.S Scott Wood 2011-07-25 269 mr r3,r30 6dece0eb69b2a2 arch/powerpc/kernel/head_fsl_booke.S Scott Wood 2011-07-25 270 mr r4,r31 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 271 bl machine_init 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 272 bl MMU_init 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 273 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 274 /* Setup PTE pointers for the Abatron bdiGDB */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 275 lis r6, swapper_pg_dir@h 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 276 ori r6, r6, swapper_pg_dir@l 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 277 lis r5, abatron_pteptrs@h 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 278 ori r5, r5, abatron_pteptrs@l 2b0e86cc5de6da arch/powerpc/kernel/head_fsl_booke.S Jason Yan 2019-09-20 279 lis r3, kernstart_virt_addr@ha 2b0e86cc5de6da arch/powerpc/kernel/head_fsl_booke.S Jason Yan 2019-09-20 280 lwz r4, kernstart_virt_addr@l(r3) 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 281 stw r5, 0(r4) /* Save abatron_pteptrs at a fixed location */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 282 stw r6, 0(r5) 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 283 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 284 /* Let's move on */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 285 lis r4,start_kernel@h 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 286 ori r4,r4,start_kernel@l 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 287 lis r3,MSR_KERNEL@h 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 288 ori r3,r3,MSR_KERNEL@l 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 289 mtspr SPRN_SRR0,r4 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 290 mtspr SPRN_SRR1,r3 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 291 rfi /* change context and jump to start_kernel */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 292 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 293 /* Macros to hide the PTE size differences 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 294 * 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 295 * FIND_PTE -- walks the page tables given EA & pgdir pointer 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 296 * r10 -- EA of fault 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 297 * r11 -- PGDIR pointer 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 298 * r12 -- free 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 299 * label 2: is the bailout case 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 300 * 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 301 * if we find the pte (fall through): 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 302 * r11 is low pte word 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 303 * r12 is pointer to the pte 41151e77a4d96e arch/powerpc/kernel/head_fsl_booke.S Becky Bruce 2011-06-28 304 * r10 is the pshift from the PGD, if we're a hugepage 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 305 */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 306 #ifdef CONFIG_PTE_64BIT 41151e77a4d96e arch/powerpc/kernel/head_fsl_booke.S Becky Bruce 2011-06-28 307 #ifdef CONFIG_HUGETLB_PAGE 41151e77a4d96e arch/powerpc/kernel/head_fsl_booke.S Becky Bruce 2011-06-28 308 #define FIND_PTE \ 41151e77a4d96e arch/powerpc/kernel/head_fsl_booke.S Becky Bruce 2011-06-28 309 rlwinm r12, r10, 13, 19, 29; /* Compute pgdir/pmd offset */ \ 41151e77a4d96e arch/powerpc/kernel/head_fsl_booke.S Becky Bruce 2011-06-28 310 lwzx r11, r12, r11; /* Get pgd/pmd entry */ \ 41151e77a4d96e arch/powerpc/kernel/head_fsl_booke.S Becky Bruce 2011-06-28 311 rlwinm. r12, r11, 0, 0, 20; /* Extract pt base address */ \ 41151e77a4d96e arch/powerpc/kernel/head_fsl_booke.S Becky Bruce 2011-06-28 312 blt 1000f; /* Normal non-huge page */ \ 41151e77a4d96e arch/powerpc/kernel/head_fsl_booke.S Becky Bruce 2011-06-28 313 beq 2f; /* Bail if no table */ \ 41151e77a4d96e arch/powerpc/kernel/head_fsl_booke.S Becky Bruce 2011-06-28 314 oris r11, r11, PD_HUGE@h; /* Put back address bit */ \ 41151e77a4d96e arch/powerpc/kernel/head_fsl_booke.S Becky Bruce 2011-06-28 315 andi. r10, r11, HUGEPD_SHIFT_MASK@l; /* extract size field */ \ 41151e77a4d96e arch/powerpc/kernel/head_fsl_booke.S Becky Bruce 2011-06-28 316 xor r12, r10, r11; /* drop size bits from pointer */ \ 41151e77a4d96e arch/powerpc/kernel/head_fsl_booke.S Becky Bruce 2011-06-28 317 b 1001f; \ 41151e77a4d96e arch/powerpc/kernel/head_fsl_booke.S Becky Bruce 2011-06-28 318 1000: rlwimi r12, r10, 23, 20, 28; /* Compute pte address */ \ 41151e77a4d96e arch/powerpc/kernel/head_fsl_booke.S Becky Bruce 2011-06-28 319 li r10, 0; /* clear r10 */ \ 41151e77a4d96e arch/powerpc/kernel/head_fsl_booke.S Becky Bruce 2011-06-28 320 1001: lwz r11, 4(r12); /* Get pte entry */ 41151e77a4d96e arch/powerpc/kernel/head_fsl_booke.S Becky Bruce 2011-06-28 321 #else 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 322 #define FIND_PTE \ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 323 rlwinm r12, r10, 13, 19, 29; /* Compute pgdir/pmd offset */ \ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 324 lwzx r11, r12, r11; /* Get pgd/pmd entry */ \ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 325 rlwinm. r12, r11, 0, 0, 20; /* Extract pt base address */ \ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 326 beq 2f; /* Bail if no table */ \ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 327 rlwimi r12, r10, 23, 20, 28; /* Compute pte address */ \ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 328 lwz r11, 4(r12); /* Get pte entry */ 41151e77a4d96e arch/powerpc/kernel/head_fsl_booke.S Becky Bruce 2011-06-28 329 #endif /* HUGEPAGE */ 41151e77a4d96e arch/powerpc/kernel/head_fsl_booke.S Becky Bruce 2011-06-28 330 #else /* !PTE_64BIT */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 331 #define FIND_PTE \ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 332 rlwimi r11, r10, 12, 20, 29; /* Create L1 (pgdir/pmd) address */ \ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 333 lwz r11, 0(r11); /* Get L1 entry */ \ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 334 rlwinm. r12, r11, 0, 0, 19; /* Extract L2 (pte) base address */ \ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 335 beq 2f; /* Bail if no table */ \ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 336 rlwimi r12, r10, 22, 20, 29; /* Compute PTE address */ \ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 337 lwz r11, 0(r12); /* Get Linux PTE */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 338 #endif 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 339 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 340 /* 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 341 * Interrupt vector entry code 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 342 * 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 343 * The Book E MMUs are always on so we don't need to handle 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 344 * interrupts in real mode as with previous PPC processors. In 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 345 * this case we handle interrupts in the kernel virtual address 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 346 * space. 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 347 * 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 348 * Interrupt vectors are dynamically placed relative to the 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 349 * interrupt prefix as determined by the address of interrupt_base. 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 350 * The interrupt vectors offsets are programmed using the labels 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 351 * for each interrupt vector entry. 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 352 * 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 353 * Interrupt vectors must be aligned on a 16 byte boundary. 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 354 * We align on a 32 byte cache line boundary for good measure. 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 355 */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 356 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 357 interrupt_base: 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 358 /* Critical Input Interrupt */ cfac57847a67c4 arch/powerpc/kernel/head_fsl_booke.S Scott Wood 2011-12-20 @359 CRITICAL_EXCEPTION(0x0100, CRITICAL, CriticalInput, unknown_exception) 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 360 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 361 /* Machine Check Interrupt */ dc1c1ca3dcd94c arch/powerpc/kernel/head_fsl_booke.S Stephen Rothwell 2005-10-01 @362 MCHECK_EXCEPTION(0x0200, MachineCheck, machine_check_exception) 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 363 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 364 /* Data Storage Interrupt */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 365 START_EXCEPTION(DataStorage) 719e7e212c7e63 arch/powerpc/kernel/head_fsl_booke.S Christophe Leroy 2021-03-12 366 NORMAL_EXCEPTION_PROLOG(0x300, DATA_STORAGE) b4ced8031000b8 arch/powerpc/kernel/head_fsl_booke.S Nicholas Piggin 2021-01-30 367 mfspr r5,SPRN_ESR /* Grab the ESR, save it */ 6cfd8990e27d3a arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-07-09 368 stw r5,_ESR(r11) b4ced8031000b8 arch/powerpc/kernel/head_fsl_booke.S Nicholas Piggin 2021-01-30 369 mfspr r4,SPRN_DEAR /* Grab the DEAR, save it */ b4ced8031000b8 arch/powerpc/kernel/head_fsl_booke.S Nicholas Piggin 2021-01-30 370 stw r4, _DEAR(r11) 6cfd8990e27d3a arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-07-09 371 andis. r10,r5,(ESR_ILK|ESR_DLK)@h 6cfd8990e27d3a arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-07-09 372 bne 1f 4c0104a83fc399 arch/powerpc/kernel/head_fsl_booke.S Christophe Leroy 2021-03-12 373 prepare_transfer_to_handler 4c0104a83fc399 arch/powerpc/kernel/head_fsl_booke.S Christophe Leroy 2021-03-12 374 bl do_page_fault 4c0104a83fc399 arch/powerpc/kernel/head_fsl_booke.S Christophe Leroy 2021-03-12 375 b interrupt_return 6cfd8990e27d3a arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2008-07-09 376 1: 4c0104a83fc399 arch/powerpc/kernel/head_fsl_booke.S Christophe Leroy 2021-03-12 377 prepare_transfer_to_handler 4c0104a83fc399 arch/powerpc/kernel/head_fsl_booke.S Christophe Leroy 2021-03-12 @378 bl CacheLockingException 4c0104a83fc399 arch/powerpc/kernel/head_fsl_booke.S Christophe Leroy 2021-03-12 379 b interrupt_return 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 380 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 381 /* Instruction Storage Interrupt */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 382 INSTRUCTION_STORAGE_EXCEPTION 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 383 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 384 /* External Input Interrupt */ acc142b6230eb2 arch/powerpc/kernel/head_fsl_booke.S Christophe Leroy 2021-03-12 @385 EXCEPTION(0x0500, EXTERNAL, ExternalInput, do_IRQ) 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 386 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 387 /* Alignment Interrupt */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 @388 ALIGNMENT_EXCEPTION 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 389 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 390 /* Program Interrupt */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 @391 PROGRAM_EXCEPTION 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 392 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 393 /* Floating Point Unavailable Interrupt */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 394 #ifdef CONFIG_PPC_FPU 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 @395 FP_UNAVAILABLE_EXCEPTION 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 396 #else acc142b6230eb2 arch/powerpc/kernel/head_fsl_booke.S Christophe Leroy 2021-03-12 397 EXCEPTION(0x0800, FP_UNAVAIL, FloatingPointUnavailable, unknown_exception) 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 398 #endif 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 399 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 400 /* System Call Interrupt */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 401 START_EXCEPTION(SystemCall) 82f6e266f8123d arch/powerpc/kernel/head_fsl_booke.S Christophe Leroy 2019-05-23 402 SYSCALL_ENTRY 0xc00 BOOKE_INTERRUPT_SYSCALL SPRN_SRR1 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 403 25985edcedea63 arch/powerpc/kernel/head_fsl_booke.S Lucas De Marchi 2011-03-30 404 /* Auxiliary Processor Unavailable Interrupt */ acc142b6230eb2 arch/powerpc/kernel/head_fsl_booke.S Christophe Leroy 2021-03-12 @405 EXCEPTION(0x2900, AP_UNAVAIL, AuxillaryProcessorUnavailable, unknown_exception) 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 406 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 407 /* Decrementer Interrupt */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 @408 DECREMENTER_EXCEPTION 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 409 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 410 /* Fixed Internal Timer Interrupt */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 411 /* TODO: Add FIT support */ acc142b6230eb2 arch/powerpc/kernel/head_fsl_booke.S Christophe Leroy 2021-03-12 412 EXCEPTION(0x3100, FIT, FixedIntervalTimer, unknown_exception) 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 413 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 414 /* Watchdog Timer Interrupt */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 415 #ifdef CONFIG_BOOKE_WDT cfac57847a67c4 arch/powerpc/kernel/head_fsl_booke.S Scott Wood 2011-12-20 416 CRITICAL_EXCEPTION(0x3200, WATCHDOG, WatchdogTimer, WatchdogException) 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 417 #else cfac57847a67c4 arch/powerpc/kernel/head_fsl_booke.S Scott Wood 2011-12-20 418 CRITICAL_EXCEPTION(0x3200, WATCHDOG, WatchdogTimer, unknown_exception) 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 419 #endif 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 420 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 421 /* Data TLB Error Interrupt */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 422 START_EXCEPTION(DataTLBError) ee43eb788b3a06 arch/powerpc/kernel/head_fsl_booke.S Benjamin Herrenschmidt 2009-07-14 423 mtspr SPRN_SPRG_WSCRATCH0, r10 /* Save some working registers */ 1325a684b553d4 arch/powerpc/kernel/head_fsl_booke.S Ashish Kalra 2011-04-22 424 mfspr r10, SPRN_SPRG_THREAD 1325a684b553d4 arch/powerpc/kernel/head_fsl_booke.S Ashish Kalra 2011-04-22 425 stw r11, THREAD_NORMSAVE(0)(r10) 73196cd364a2d9 arch/powerpc/kernel/head_fsl_booke.S Scott Wood 2011-12-20 426 #ifdef CONFIG_KVM_BOOKE_HV 73196cd364a2d9 arch/powerpc/kernel/head_fsl_booke.S Scott Wood 2011-12-20 427 BEGIN_FTR_SECTION 73196cd364a2d9 arch/powerpc/kernel/head_fsl_booke.S Scott Wood 2011-12-20 428 mfspr r11, SPRN_SRR1 73196cd364a2d9 arch/powerpc/kernel/head_fsl_booke.S Scott Wood 2011-12-20 429 END_FTR_SECTION_IFSET(CPU_FTR_EMB_HV) 73196cd364a2d9 arch/powerpc/kernel/head_fsl_booke.S Scott Wood 2011-12-20 430 #endif 1325a684b553d4 arch/powerpc/kernel/head_fsl_booke.S Ashish Kalra 2011-04-22 431 stw r12, THREAD_NORMSAVE(1)(r10) 1325a684b553d4 arch/powerpc/kernel/head_fsl_booke.S Ashish Kalra 2011-04-22 432 stw r13, THREAD_NORMSAVE(2)(r10) 1325a684b553d4 arch/powerpc/kernel/head_fsl_booke.S Ashish Kalra 2011-04-22 433 mfcr r13 1325a684b553d4 arch/powerpc/kernel/head_fsl_booke.S Ashish Kalra 2011-04-22 434 stw r13, THREAD_NORMSAVE(3)(r10) 73196cd364a2d9 arch/powerpc/kernel/head_fsl_booke.S Scott Wood 2011-12-20 435 DO_KVM BOOKE_INTERRUPT_DTLB_MISS SPRN_SRR1 7fef436295bf6c arch/powerpc/kernel/head_fsl_booke.S Diana Craciun 2018-12-12 436 START_BTB_FLUSH_SECTION 7fef436295bf6c arch/powerpc/kernel/head_fsl_booke.S Diana Craciun 2018-12-12 437 mfspr r11, SPRN_SRR1 7fef436295bf6c arch/powerpc/kernel/head_fsl_booke.S Diana Craciun 2018-12-12 438 andi. r10,r11,MSR_PR 7fef436295bf6c arch/powerpc/kernel/head_fsl_booke.S Diana Craciun 2018-12-12 439 beq 1f 7fef436295bf6c arch/powerpc/kernel/head_fsl_booke.S Diana Craciun 2018-12-12 440 BTB_FLUSH(r10) 7fef436295bf6c arch/powerpc/kernel/head_fsl_booke.S Diana Craciun 2018-12-12 441 1: 7fef436295bf6c arch/powerpc/kernel/head_fsl_booke.S Diana Craciun 2018-12-12 442 END_BTB_FLUSH_SECTION 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 443 mfspr r10, SPRN_DEAR /* Get faulting address */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 444 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 445 /* If we are faulting a kernel address, we have to use the 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 446 * kernel page tables. 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 447 */ 8a13c4f972e6c1 arch/powerpc/kernel/head_fsl_booke.S Kumar Gala 2007-10-11 448 lis r11, PAGE_OFFSET@h 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 449 cmplw 5, r10, r11 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 450 blt 5, 3f 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 451 lis r11, swapper_pg_dir@h 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 452 ori r11, r11, swapper_pg_dir@l 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 453 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 454 mfspr r12,SPRN_MAS1 /* Set TID to 0 */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 455 rlwinm r12,r12,0,16,1 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 456 mtspr SPRN_MAS1,r12 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 457 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 458 b 4f 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 459 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 460 /* Get the PGD for the current thread */ 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 461 3: ee43eb788b3a06 arch/powerpc/kernel/head_fsl_booke.S Benjamin Herrenschmidt 2009-07-14 462 mfspr r11,SPRN_SPRG_THREAD 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 463 lwz r11,PGDIR(r11) 14cf11af6cf608 arch/powerpc/kernel/head_fsl_booke.S Paul Mackerras 2005-09-26 464 :::::: The code at line 209 was first introduced by commit :::::: 0be7d969b0efef085ed6497d462ba16a875ca737 powerpc/fsl_booke: smp support for booting a relocatable kernel above 64M :::::: TO: Kevin Hao :::::: CC: Scott Wood -- 0-DAY CI Kernel Test Service https://01.org/lkp