From patchwork Mon Jul 22 21:39:33 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julien Grall X-Patchwork-Id: 169451 Delivered-To: patch@linaro.org Received: by 2002:a92:4782:0:0:0:0:0 with SMTP id e2csp8012548ilk; Mon, 22 Jul 2019 14:41:35 -0700 (PDT) X-Google-Smtp-Source: APXvYqzHrR9L0Y2e4NJ0f9YwQRNf4GOJWNvoeiBG1JTZdaQCnEOLexa+EyHxwvlOmfcRjkXluYQ5 X-Received: by 2002:a5d:884d:: with SMTP id t13mr4277817ios.233.1563831695285; Mon, 22 Jul 2019 14:41:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1563831695; cv=none; d=google.com; s=arc-20160816; b=UNfCJZ2yTiv9nP8w/rxT7v82VAmKACrmi7FrUUeFsDoa4nC3BO3btNHHp031rY8J+t LhMgM/bz26mOmWMX+iyXdP9HSIXN9aUOuDPAhiUlmqbuRezIJxLJ8frc3WhVtXBmiM1P ozLMWphCK7QBSkVnrkPxG1ab6d7/ZpbnP7cfeTCvOZbbi6AO+tm3SIaLBLg8xywOWYcs ibz0Kt83ptds7hXYscJdNorAQlpnMld46AlE+X/YglSlqdtWtwCZYYqK+A73dlem1ugb J4GoLL9ba32Vy2Z1atgfx6Z6upWqWQo5N6ajn/kk9F5vT26RpuhgoIYuFFMNf4txXNcx 3mew== 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=eCfErP61xkg+KwgtAktEGllSgzfO9IGYobSHbErIG/w=; b=0EB9sQM5dW1QilSsu0xpqXQ/937ytj+ZOldWQQOhRAeo4aN//GpMRVSWLXYrbsUh0I KLbS38Df8mjMmYOPN6FK458CjXg/gLTg/vxxRkOLgnGedC0kY5YtZLpZ2DW/nApCuvB+ RCODNb15g5AmFtZXni7/Np6Nvarjvr31uxFfMW+7u0fPE6jHTDQ1T1J5LzIr3kNh+/jH irV3uCZDY4uZI2PHriBljX1TjlkqoW3mS9LRd9l4+qKyFGju/08fKB8pvSmJILoRVLj9 h8aHKkgJnql4+F+p8HRdqHCH6rxyrFLEJ3agHyIxUpcOpMOyNo6lLXkil35jyB9QWdtb OL3Q== 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 h16si55003758iol.156.2019.07.22.14.41.35 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 22 Jul 2019 14:41:35 -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 1hpg2b-0002XY-9v; Mon, 22 Jul 2019 21:40:17 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hpg2a-0002VI-3k for xen-devel@lists.xenproject.org; Mon, 22 Jul 2019 21:40:16 +0000 X-Inumbo-ID: 4a6588d4-acc9-11e9-8980-bc764e045a96 Received: from foss.arm.com (unknown [217.140.110.172]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTP id 4a6588d4-acc9-11e9-8980-bc764e045a96; Mon, 22 Jul 2019 21:40:14 +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 B071F344; Mon, 22 Jul 2019 14:40:14 -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 09D303F71F; Mon, 22 Jul 2019 14:40:13 -0700 (PDT) From: Julien Grall To: xen-devel@lists.xenproject.org Date: Mon, 22 Jul 2019 22:39:33 +0100 Message-Id: <20190722213958.5761-11-julien.grall@arm.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20190722213958.5761-1-julien.grall@arm.com> References: <20190722213958.5761-1-julien.grall@arm.com> Subject: [Xen-devel] [PATCH v2 10/35] 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: Julien Grall , Stefano Stabellini , Volodymyr Babchuk 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 Reviewed-by: Stefano Stabellini --- 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 ddc5167020..eddf663021 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 - @@ -436,16 +436,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. */ @@ -469,7 +480,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