From patchwork Tue Sep 17 13:21:25 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julien Grall X-Patchwork-Id: 173894 Delivered-To: patch@linaro.org Received: by 2002:a92:7e96:0:0:0:0:0 with SMTP id q22csp1122274ill; Tue, 17 Sep 2019 06:23:08 -0700 (PDT) X-Google-Smtp-Source: APXvYqz8XIc0XyU2B1u+KUkXBuJFKvEmC6YzskdcA/lI5STIYGjpVxeNdPPOWBKlX9jFWsssz4kn X-Received: by 2002:aca:3256:: with SMTP id y83mr3713424oiy.107.1568726588609; Tue, 17 Sep 2019 06:23:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568726588; cv=none; d=google.com; s=arc-20160816; b=zTey4q5HhNu1aEyC9MuWap4gf5O8j8kGmOBPhdBf7Nau7usT8aL4ny+ok0F8F7z9TD xCUoczzUTu0+E4Z5/VTiYUANpvf3ymq2Pr1djfyTpX+WwVYZ4W03X6DFp3FHGO5cHoQh tfF0a6uhqvaJdQ76lDQnxGSCZbTqowVC8Rmpf83RUJvwFI9ARTPvy5IzYyA9Su4K/xW4 lvjYhTSs7BdIDF9nNSanLPXE/ZvBhXq5eZiEod9mH/9bD4GM+BJ2RGMTASYCRTG4o+9f 5AX6YlUNiX1ECmmPbkqSNIlhMOWlg31dyfFfhBo4xZReLBHyld7fNdJpHrStAbckgX4N yYig== 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:message-id:date:to:from; bh=5vJzLeSJV2oVvOnK2w3GBX5mDcHZz95zB9SVVHf2F04=; b=D4xgLlLaIdjT8Dw/KNMl/nZLlVMkyz8qCWeefqe9MLwnzeF/zJ7WhztEee09AtA6ke 3JWuTDFNz7jQBcx3n8tL4CFzEUJ80qXWst1En0TdNbw2nLw+DOckrxpzQwurS2alLsKc yUvhaOhS6Qg1mjjySbNEWd7rwgY/4qykPhQRNXieNJ501GzoM150yJMkFehW5XRlDQtz XLADhVpK3pj9gcxyfzbgAZeFNHsv6V7Yid/sgXMBeoZcJvw9XP/a9y5VQ2iS68cWPTQE 0hgORntInCUAxeRkJC3CT7oYqOe6LF0fC/fKrB6HeHIjpUZwEawCkEevPmhQcQpJD/Pz KEyg== 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 q12si846803otm.218.2019.09.17.06.23.08 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 17 Sep 2019 06:23:08 -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 1iADQD-0000bJ-6a; Tue, 17 Sep 2019 13:21:33 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iADQB-0000b5-VW for xen-devel@lists.xenproject.org; Tue, 17 Sep 2019 13:21:32 +0000 X-Inumbo-ID: 0fc00e6e-d94e-11e9-960c-12813bfff9fa Received: from foss.arm.com (unknown [217.140.110.172]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTP id 0fc00e6e-d94e-11e9-960c-12813bfff9fa; Tue, 17 Sep 2019 13:21:30 +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 6513228; Tue, 17 Sep 2019 06:21:30 -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 B24233F575; Tue, 17 Sep 2019 06:21:29 -0700 (PDT) From: Julien Grall To: xen-devel@lists.xenproject.org Date: Tue, 17 Sep 2019 14:21:25 +0100 Message-Id: <20190917132125.13033-1-julien.grall@arm.com> X-Mailer: git-send-email 2.11.0 Subject: [Xen-devel] [PATCH] xen/arm32: setup: Give a xenheap page to the boot allocator 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" After commit 6e3e771203 "xen/arm: setup: Relocate the Device-Tree later on in the boot", the boot allocator will not receive any xenheap page (i.e. mapped page) on Arm32. However, the boot allocator implicitely rely on having the first page already mapped and therefore result to break boot on Arm32. The easiest way for now is to give a xenheap page to the boot allocator. We may want to rethink the interface in the future. Fixes: 6e3e771203 ('xen/arm: setup: Relocate the Device-Tree later on in the boot') Signed-off-by: Julien Grall Reviewed-by: Jan Beulich --- xen/arch/arm/setup.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c index ebbfad94e4..e6ddefb5cf 100644 --- a/xen/arch/arm/setup.c +++ b/xen/arch/arm/setup.c @@ -593,6 +593,7 @@ static void __init setup_mm(void) unsigned long heap_pages, xenheap_pages, domheap_pages; int i; const uint32_t ctr = READ_CP32(CTR); + mfn_t boot_mfn_start, boot_mfn_end; if ( !bootinfo.mem.nr_banks ) panic("No memory bank\n"); @@ -665,6 +666,11 @@ static void __init setup_mm(void) setup_xenheap_mappings((e >> PAGE_SHIFT) - xenheap_pages, xenheap_pages); + /* We need a single mapped page for populating bootmem_region_list. */ + boot_mfn_start = mfn_add(xenheap_mfn_end, -1); + boot_mfn_end = xenheap_mfn_end; + init_boot_pages(mfn_to_maddr(boot_mfn_start), mfn_to_maddr(boot_mfn_end)); + /* Add non-xenheap memory */ for ( i = 0; i < bootinfo.mem.nr_banks; i++ ) { @@ -710,7 +716,7 @@ static void __init setup_mm(void) /* Add xenheap memory that was not already added to the boot allocator. */ init_xenheap_pages(mfn_to_maddr(xenheap_mfn_start), - mfn_to_maddr(xenheap_mfn_end)); + mfn_to_maddr(boot_mfn_end)); } #else /* CONFIG_ARM_64 */ static void __init setup_mm(void)