Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4aa7cdf5 authored by Laura Abbott's avatar Laura Abbott Committed by Matt Wagantall
Browse files

arm64: Move cpu_resume into the text section



The function cpu_resume currently lives in the .data
section. This breaks functionality to make .data no
execute. Move cpu_resume to .text which is where it
actually belongs.

Change-Id: I1919237f54ff268b62aa48ac664152e80faf7126
Signed-off-by: default avatarLaura Abbott <lauraa@codeaurora.org>
parent b60c8c51
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -147,12 +147,12 @@ cpu_resume_after_mmu:
	ret
ENDPROC(cpu_resume_after_mmu)

	.data
ENTRY(cpu_resume)
	bl	el2_setup		// if in EL2 drop to EL1 cleanly
#ifdef CONFIG_SMP
	mrs	x1, mpidr_el1
	adr	x4, mpidr_hash_ptr
	adrp	x4, mpidr_hash_ptr
	add	x4, x4, #:lo12:mpidr_hash_ptr
	ldr	x5, [x4]
	add	x8, x4, x5		// x8 = struct mpidr_hash phys address
        /* retrieve mpidr_hash members to compute the hash */
@@ -164,14 +164,15 @@ ENTRY(cpu_resume)
#else
	mov	x7, xzr
#endif
	adr	x0, sleep_save_sp
	adrp	x0, sleep_save_sp
	add	x0, x0, #:lo12:sleep_save_sp
	ldr	x0, [x0, #SLEEP_SAVE_SP_PHYS]
	ldr	x0, [x0, x7, lsl #3]
	/* load sp from context */
	ldr	x2, [x0, #CPU_CTX_SP]
	adr	x1, sleep_idmap_phys
	adrp	x1, sleep_idmap_phys
	/* load physical address of identity map page table in x1 */
	ldr	x1, [x1]
	ldr	x1, [x1, #:lo12:sleep_idmap_phys]
	mov	sp, x2
	/*
	 * cpu_do_resume expects x0 to contain context physical address
@@ -181,6 +182,7 @@ ENTRY(cpu_resume)
	b	cpu_resume_mmu		// Resume MMU, never returns
ENDPROC(cpu_resume)

	.data
	.align 3
mpidr_hash_ptr:
	/*