From patchwork Thu Feb 9 15:56:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vijay Kilari X-Patchwork-Id: 9565013 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 0D5FE6020C for ; Thu, 9 Feb 2017 16:01:44 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id F168C237A5 for ; Thu, 9 Feb 2017 16:01:43 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E610B27F81; Thu, 9 Feb 2017 16:01:43 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.6 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_MED, RCVD_IN_SORBS_SPAM, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 924F027F4B for ; Thu, 9 Feb 2017 16:01:43 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cbr80-0007v9-6I; Thu, 09 Feb 2017 15:59:24 +0000 Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cbr7y-0007uE-Ut for xen-devel@lists.xenproject.org; Thu, 09 Feb 2017 15:59:23 +0000 Received: from [85.158.143.35] by server-10.bemta-6.messagelabs.com id EC/6B-13192-AD19C985; Thu, 09 Feb 2017 15:59:22 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrMIsWRWlGSWpSXmKPExsVyMfTAYd0bE+d EGMz7rW3xfctkJgdGj8MfrrAEMEaxZuYl5VcksGac3HuerWCaaMWH12+ZGxh/8HcxcnIICcxg lPj4QamLkYuDReAli8STAw2MIAkJgX5WiQ1bpSDsGIlHZ3+wQtiVEhsOrWaHaFaV6Pj/lh2kW UjgB6PEySmbWUASbAIyEkeeH2ACsUUE0iSOrV7LBmIzC/hKvFw0kbmLkYNDWMBL4vUta5AwC9 Ccb1e3gpXzCrhKLG88xgpSIiGgIDFnkg1ImFPATWL5nkssEGtdJR50t7FOYBRYwMiwilGjOLW oLLVI18hcL6koMz2jJDcxM0fX0MBMLze1uDgxPTUnMalYLzk/dxMjMKgYgGAH4+K1gYcYJTmY lER5ZQvmRAjxJeWnVGYkFmfEF5XmpBYfYpTh4FCS4F0xASgnWJSanlqRlpkDDG+YtAQHj5II7 1+QNG9xQWJucWY6ROoUozFHT9fpl0wce3ZdfskkxJKXn5cqJc4bDFIqAFKaUZoHNwgWd5cYZa WEeRmBThPiKUgtys0sQZV/xSjOwagkzHsXZApPZl4J3L5XQKcwAZ1y/fQskFNKEhFSUg2MTud XxvZO+J7Zrv3z4rNXYZ/19x1c8eG47mObKx2Z019zNTzvEbQVWtgqLKDZcGTrKd0qNYbjX1/F Os/j8/W+3d2k+IfDkk/J8trG9iPNKd9Kn+k92bBfwC21oeLODPEsmatCC3WTFzZsq/LcwHzOa tLLlISVbPu3e89czRr0yXzKpndCZncvK7EUZyQaajEXFScCAFVcaU+2AgAA X-Env-Sender: vijay.kilari@gmail.com X-Msg-Ref: server-8.tower-21.messagelabs.com!1486655959!56853208!1 X-Originating-IP: [209.85.192.195] X-SpamReason: No, hits=0.0 required=7.0 tests= X-StarScan-Received: X-StarScan-Version: 9.2.3; banners=-,-,- X-VirusChecked: Checked Received: (qmail 24866 invoked from network); 9 Feb 2017 15:59:20 -0000 Received: from mail-pf0-f195.google.com (HELO mail-pf0-f195.google.com) (209.85.192.195) by server-8.tower-21.messagelabs.com with AES128-GCM-SHA256 encrypted SMTP; 9 Feb 2017 15:59:20 -0000 Received: by mail-pf0-f195.google.com with SMTP id y143so478622pfb.1 for ; Thu, 09 Feb 2017 07:59:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=wGBnCQc5QCqGOK8aEPdaWmaUSfdPaUjbPWCks+15d6s=; b=rlT27b7kAkzmW3ky+vY6mNSkSDvR+KEBfsLatsHg832bzsIXl/XlpRUPBS7+OH+Dmr aBYFyXjETBrzJDpYHcyyA5lQACge83Aym4l2D3b1iJk0fqeUaM6WaZ2YU4/atsN50hNq 2VBlJvAcqfCNm0THdxKQdaw+Notl96Apncv097kT9QahR0HmJTBQlKaxCVQwvyB2wtmd j1bxXrre+qkOPJNMWwZG7wQ9b6uR27XbJC4tWnxqBC2zTKtnTrLOA6Zi4IeoXWGwz+SX 2FpPnXoAB68JX8Ao7/2IC8Kw52L5HSW2hMUwhpuTt3wnJLwqHn4oKDzjiQ76xVdecDJR xp9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=wGBnCQc5QCqGOK8aEPdaWmaUSfdPaUjbPWCks+15d6s=; b=peIVacLXQI4GMwlNbwbFNCTRKTMySXGDPPJpWWlfsgPn8OU8X4Dvgw3oPMl8baNp8D oKTEZ6Zcmc4K/NlPu4/rnRFTqK/k0wd+RpaxrY9yyyM1AgXLSngvhZonzQEDLOn5TmMi jUuqQnOuqzr95T1/Lzo3Izt7TnmW9POGNk3flt7t7B9ka6XpShYnH9IITLWhDAF9cyNB qf+YSJKQpGG+BrRiEb1Pp4v9Djq2KB5CmehmXDbmi/pk3tjOnU3VQJDVV2iGGIaFAgMl Mj29FTNyfpqBtIDSS2yYzVacEbjO523+FOzYhgWmLYEZWBnZ+A/SZjWgmSENcdgZSh65 2HfQ== X-Gm-Message-State: AMke39l83XabQNdEo97IoZAcFhnVz5p1LdAGeNNH+uQY5ToRe0yMZvpklLXa43QaFanPbg== X-Received: by 10.99.120.65 with SMTP id t62mr4822634pgc.149.1486655958960; Thu, 09 Feb 2017 07:59:18 -0800 (PST) Received: from localhost.localdomain ([14.140.2.178]) by smtp.gmail.com with ESMTPSA id m29sm30093842pfi.54.2017.02.09.07.59.16 (version=TLS1_1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 09 Feb 2017 07:59:18 -0800 (PST) From: vijay.kilari@gmail.com To: julien.grall@arm.com, sstabellini@kernel.org, andre.przywara@arm.com, dario.faggioli@citrix.com Date: Thu, 9 Feb 2017 21:26:57 +0530 Message-Id: <1486655834-9708-6-git-send-email-vijay.kilari@gmail.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1486655834-9708-1-git-send-email-vijay.kilari@gmail.com> References: <1486655834-9708-1-git-send-email-vijay.kilari@gmail.com> Cc: xen-devel@lists.xenproject.org, Vijaya Kumar K Subject: [Xen-devel] [RFC PATCH v1 05/21] ARM: efi: Do not delete memory node from fdt X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" X-Virus-Scanned: ClamAV using ClamSMTP From: Vijaya Kumar K When booting in UEFI mode, UEFI passes memory information to Dom0 using EFI memory descriptor table and deletes the memory nodes from the host DT. However to fetch the memory numa node id, memory DT node should not be deleted by EFI stub. With this patch, do not delete memory node from FDT. This memory nodes are later used by XEN to extract numa node id information. Also, parse memory node only if bootmeminfo is NULL. Signed-off-by: Vijaya Kumar K --- xen/arch/arm/bootfdt.c | 9 +++++++-- xen/arch/arm/efi/efi-boot.h | 25 ------------------------- 2 files changed, 7 insertions(+), 27 deletions(-) diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c index cae6f83..979f675 100644 --- a/xen/arch/arm/bootfdt.c +++ b/xen/arch/arm/bootfdt.c @@ -285,8 +285,13 @@ static int __init early_scan_node(const void *fdt, u32 address_cells, u32 size_cells, void *data) { - if ( device_tree_node_matches(fdt, node, "memory") ) - process_memory_node(fdt, node, name, address_cells, size_cells); + /* + * Parse memory node only if bootinfo.mem is empty. + */ + if ( bootinfo.mem.nr_banks == 0 ) { + if ( device_tree_node_matches(fdt, node, "memory") ) + process_memory_node(fdt, node, name, address_cells, size_cells); + } else if ( device_tree_node_compatible(fdt, node, "xen,multiboot-module" ) || device_tree_node_compatible(fdt, node, "multiboot,module" )) process_multiboot_node(fdt, node, name, address_cells, size_cells); diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h index 045d6ce..0b9c37f 100644 --- a/xen/arch/arm/efi/efi-boot.h +++ b/xen/arch/arm/efi/efi-boot.h @@ -192,33 +192,8 @@ EFI_STATUS __init fdt_add_uefi_nodes(EFI_SYSTEM_TABLE *sys_table, int status; u32 fdt_val32; u64 fdt_val64; - int prev; int num_rsv; - /* - * Delete any memory nodes present. The EFI memory map is the only - * memory description provided to Xen. - */ - prev = 0; - for (;;) - { - const char *type; - int len; - - node = fdt_next_node(fdt, prev, NULL); - if ( node < 0 ) - break; - - type = fdt_getprop(fdt, node, "device_type", &len); - if ( type && strncmp(type, "memory", len) == 0 ) - { - fdt_del_node(fdt, node); - continue; - } - - prev = node; - } - /* * Delete all memory reserve map entries. When booting via UEFI, * kernel will use the UEFI memory map to find reserved regions.