···128128 select RTC_LIB129129 select SYS_SUPPORTS_APM_EMULATION130130 select THREAD_INFO_IN_TASK131131- select HAVE_ARCH_VMAP_STACK if MMU && (!LD_IS_LLD || LLD_VERSION >= 140000) && !PM_SLEEP_SMP131131+ select HAVE_ARCH_VMAP_STACK if MMU && (!LD_IS_LLD || LLD_VERSION >= 140000)132132 select TRACE_IRQFLAGS_SUPPORT if !CPU_V7M133133 # Above selects are sorted alphabetically; please add new ones134134 # according to that. Thanks.
+7
arch/arm/kernel/head.S
···424424ENDPROC(secondary_startup_arm)425425426426ENTRY(__secondary_switched)427427+#if defined(CONFIG_VMAP_STACK) && !defined(CONFIG_ARM_LPAE)428428+ @ Before using the vmap'ed stack, we have to switch to swapper_pg_dir429429+ @ as the ID map does not cover the vmalloc region.430430+ mrc p15, 0, ip, c2, c0, 1 @ read TTBR1431431+ mcr p15, 0, ip, c2, c0, 0 @ set TTBR0432432+ instr_sync433433+#endif427434 adr_l r7, secondary_data + 12 @ get secondary_data.stack428435 ldr sp, [r7]429436 ldr r0, [r7, #4] @ get secondary_data.task
+7
arch/arm/kernel/sleep.S
···119119ENDPROC(cpu_resume_mmu)120120 .popsection121121cpu_resume_after_mmu:122122+#if defined(CONFIG_VMAP_STACK) && !defined(CONFIG_ARM_LPAE)123123+ @ Before using the vmap'ed stack, we have to switch to swapper_pg_dir124124+ @ as the ID map does not cover the vmalloc region.125125+ mrc p15, 0, ip, c2, c0, 1 @ read TTBR1126126+ mcr p15, 0, ip, c2, c0, 0 @ set TTBR0127127+ instr_sync128128+#endif122129 bl cpu_init @ restore the und/abt/irq banked regs123130 mov r0, #0 @ return zero on success124131 ldmfd sp!, {r4 - r11, pc}