From: Ard Biesheuvel Date: Wed, 31 Aug 2016 11:05:17 +0000 (+0100) Subject: arm64: head.S: document the use of callee saved registers X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=a9be2ee09385387819ca22bf6522b2437334489e;p=linux-beck.git arm64: head.S: document the use of callee saved registers Now that the only remaining occurrences of the use of callee saved registers are on the primary boot path, add a comment to the code which register is used for what. Reviewed-by: Mark Rutland Signed-off-by: Ard Biesheuvel Signed-off-by: Will Deacon --- diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S index 29a734ee0770..427f6d3f084c 100644 --- a/arch/arm64/kernel/head.S +++ b/arch/arm64/kernel/head.S @@ -208,6 +208,16 @@ efi_header_end: __INIT + /* + * The following callee saved general purpose registers are used on the + * primary lowlevel boot path: + * + * Register Scope Purpose + * x21 stext() .. start_kernel() FDT pointer passed at boot in x0 + * x23 stext() .. start_kernel() physical misalignment/KASLR offset + * x28 __create_page_tables() callee preserved temp register + * x19/x20 __primary_switch() callee preserved temp registers + */ ENTRY(stext) bl preserve_boot_args bl el2_setup // Drop to EL1, w0=cpu_boot_mode