From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Graf Date: Mon, 18 Jul 2016 08:22:55 +0200 Subject: [U-Boot] [PATCH] armv8: Remove the codes about switching to EL1 before jumping to kernel In-Reply-To: References: <1467872700-45942-1-git-send-email-b18965@freescale.com> <577E4092.8070007@suse.de> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 18.07.16 05:24, Huan Wang wrote: > Hi, Alex, > > > > As there is strong objection to remove the codes about > switching to EL1, I think we have to remain it, do you agree? I agree, yes. > If it is remained, I think your suggestion about > **always** jumping to ep for both switching to AArch64 and AArch32 modes > will make the code hard to realize and very complicated. So I prefer to > keep the process in v4 patches. What is your opinion? I think we should still convert it to a function call based approach. You can either just convert the current flow to functions: static void enter_in_el1(...) { call_in_el1(payload_pc, payload_bits, ...); } #ifdef ENTER_PAYLOAD_IN_EL1 call_in_el2(enter_in_el1, 64bit, ...); #else call_in_el2(payload_pc, payload_bits, ...); #endif Or you could add a check in the EL1 caller if you are in EL3 that you want to go to EL2 first: long call_in_el1(...) { if (current_el() == 3) return call_in_el2(call_in_el1, ...); asm_call_in_el1(...); } Alex