From patchwork Mon Jun 10 19:32:08 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julien Grall X-Patchwork-Id: 166364 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp1410255ilk; Mon, 10 Jun 2019 12:33:49 -0700 (PDT) X-Google-Smtp-Source: APXvYqySOPAlqnh1iHdVJsD/GP3+ogFEGszMCfPUdsLtWARbydPkwMfisdl82FX7JcqBfzurAxcn X-Received: by 2002:a24:2188:: with SMTP id e130mr12678648ita.164.1560195229527; Mon, 10 Jun 2019 12:33:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560195229; cv=none; d=google.com; s=arc-20160816; b=soFsLfcfjag5tQ4XK9M1FjcdnYd2bB+qlZMpPzC9xEHt4Hu/aeqa6VttSWtBboXWww mo3tmZ87iTGbpTWzdtqusJ4zYWEFldAWkWyma8tpbKo2qMGPd4Wtqi4gpfPQPNmTtfFx D2HOuwDPD2VKGmyBAmHyg6LgQ5gIaHFk6tqum4idPivOMdyaniyT7YTyUV9xtDHqwcbj hYlgeGCQXEfL61Zz/Rvb19Aewj628NcSoTFjowSs/Lc+0AJGLM/iZEvlYUsnmaUUCtVi GZKHClOfldMdqhHtK8aYz39q+gdxqUw1djVVDxtN7mifQUHb+2t5fWx3s6iNoQiTXCNM Yrqg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc :list-subscribe:list-help:list-post:list-unsubscribe:list-id :precedence:subject:references:in-reply-to:message-id:date:to:from; bh=RiqPuHz9/Yp7iuQooQJztIz9b9BdELP6mCLZCA1UYOI=; b=L2mHetUv3ynGdJ4mhVOD7h89NyxNa5UuQmXhu824kkYpse4im/0hAO8+WqgBuCJMUu Q+60mUDBef+8TBD+ehO5dMqjHUrBASv8xV58zFRB+2hA64eZisTXynEdkK+wRW+BdXmQ ko/+Gi8NLEMpyOnramuLKg1+FhuWo/Yr7BHAmrvrtgwPQo8LxeWDvs2DmiFRhlDSD2sC Smo2leUNabH9R6WX7IVAWSS/MDHJmWtg2CRf4H1EAmlCDY9VKecsFLBJrZhB9qBvbzhw pUpyTAUVOg0n51Fgi7kwyBfkQNBUzY2GPoAXeTlScBVllm7dMn82pOnCfGdlphLRKQ2v eooQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of xen-devel-bounces@lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org. [192.237.175.120]) by mx.google.com with ESMTPS id i20si7578200jaf.72.2019.06.10.12.33.49 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 10 Jun 2019 12:33:49 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of xen-devel-bounces@lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of xen-devel-bounces@lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1haQ1x-0007i8-Eg; Mon, 10 Jun 2019 19:32:33 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1haQ1w-0007gZ-44 for xen-devel@lists.xenproject.org; Mon, 10 Jun 2019 19:32:32 +0000 X-Inumbo-ID: 7d59b95d-8bb6-11e9-8980-bc764e045a96 Received: from foss.arm.com (unknown [217.140.110.172]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTP id 7d59b95d-8bb6-11e9-8980-bc764e045a96; Mon, 10 Jun 2019 19:32:31 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 46523344; Mon, 10 Jun 2019 12:32:31 -0700 (PDT) Received: from e108454-lin.cambridge.arm.com (e108454-lin.cambridge.arm.com [10.1.196.50]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 5E2CC3F73C; Mon, 10 Jun 2019 12:32:30 -0700 (PDT) From: Julien Grall To: xen-devel@lists.xenproject.org Date: Mon, 10 Jun 2019 20:32:08 +0100 Message-Id: <20190610193215.23704-11-julien.grall@arm.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20190610193215.23704-1-julien.grall@arm.com> References: <20190610193215.23704-1-julien.grall@arm.com> Subject: [Xen-devel] [PATCH 10/17] xen/arm64: head: Improve coding style and document create_pages_tables() X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: andre.przywara@arm.com, Julien Grall , Stefano Stabellini , andrii_anisov@epam.com, Oleksandr_Tyshchenko@epam.com MIME-Version: 1.0 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Adjust the coding style used in the comments within create_pages_tables() Lastly, document the behavior and the main registers usage within the function. Note that x25 is now only used within the function, so it does not need to be part of the common register. Signed-off-by: Julien Grall --- xen/arch/arm/arm64/head.S | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S index ee0024173e..7b92c1c8eb 100644 --- a/xen/arch/arm/arm64/head.S +++ b/xen/arch/arm/arm64/head.S @@ -70,7 +70,7 @@ * x22 - is_secondary_cpu * x23 - UART address * x24 - - * x25 - identity map in place + * x25 - * x26 - skip_zero_bss (boot cpu only) * x27 - * x28 - @@ -443,16 +443,27 @@ cpu_init: ret ENDPROC(cpu_init) +/* + * Rebuild the boot pagetable's first-level entries. The structure + * is described in mm.c. + * + * After the CPU enables paging it will add the fixmap mapping + * to these page tables, however this may clash with the 1:1 + * mapping. So each CPU must rebuild the page tables here with + * the 1:1 in place. + * + * Inputs: + * x19: paddr(start) + * x20: phys offset + * + * Clobbers x0 - x4, x25 + * + * Register usage within this function: + * x25: Identity map in place + */ create_page_tables: - /* Rebuild the boot pagetable's first-level entries. The structure - * is described in mm.c. - * - * After the CPU enables paging it will add the fixmap mapping - * to these page tables, however this may clash with the 1:1 - * mapping. So each CPU must rebuild the page tables here with - * the 1:1 in place. */ - - /* If Xen is loaded at exactly XEN_VIRT_START then we don't + /* + * If Xen is loaded at exactly XEN_VIRT_START then we don't * need an additional 1:1 mapping, the virtual mapping will * suffice. */ @@ -476,7 +487,8 @@ create_page_tables: cbz x1, 1f /* It's in slot 0, map in boot_first * or boot_second later on */ - /* Level zero does not support superpage mappings, so we have + /* + * Level zero does not support superpage mappings, so we have * to use an extra first level page in which we create a 1GB mapping. */ load_paddr x2, boot_first_id