From patchwork Fri Dec 5 00:39:19 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benjamin Herrenschmidt X-Patchwork-Id: 417970 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id BE25C1400D5 for ; Fri, 5 Dec 2014 11:39:28 +1100 (AEDT) Received: from ozlabs.org (ozlabs.org [103.22.144.67]) by lists.ozlabs.org (Postfix) with ESMTP id ABC461A0CCD for ; Fri, 5 Dec 2014 11:39:28 +1100 (AEDT) X-Original-To: skiboot@lists.ozlabs.org Delivered-To: skiboot@lists.ozlabs.org Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 278F91A0C8B for ; Fri, 5 Dec 2014 11:39:25 +1100 (AEDT) Received: from localhost (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.13.8) with ESMTP id sB50dKkI028168 for ; Thu, 4 Dec 2014 18:39:21 -0600 Message-ID: <1417739959.4741.44.camel@kernel.crashing.org> From: Benjamin Herrenschmidt To: skiboot@lists.ozlabs.org Date: Fri, 05 Dec 2014 11:39:19 +1100 X-Mailer: Evolution 3.12.7-0ubuntu1 Mime-Version: 1.0 Subject: [Skiboot] [PATCH] opal: Don't put the symbol map whole into a property X-BeenThere: skiboot@lists.ozlabs.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Mailing list for skiboot development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Skiboot" The huge property trips a bug in some versions of kexec, and it generally makes looking at the device-tree more painful than it has to be. Instead, let's just pass the address & size and we'll add a debugfs file on the Linux side to recover them. Signed-off-by: Benjamin Herrenschmidt diff --git a/core/opal.c b/core/opal.c index 5b96064..044ff92 100644 --- a/core/opal.c +++ b/core/opal.c @@ -115,12 +115,14 @@ void __opal_register(uint64_t token, void *func, unsigned int nargs) static void add_opal_firmware_node(void) { struct dt_node *firmware = dt_new(opal_node, "firmware"); - + uint64_t sym_start = (uint64_t)__sym_map_start; + uint64_t sym_size = (uint64_t)__sym_map_end - sym_start; dt_add_property_string(firmware, "compatible", "ibm,opal-firmware"); dt_add_property_string(firmware, "name", "firmware"); dt_add_property_string(firmware, "version", version); - dt_add_property(firmware, "symbol-map", __sym_map_start, - __sym_map_end - __sym_map_start); + dt_add_property_cells(firmware, "symbol-map", + hi32(sym_start), lo32(sym_start), + hi32(sym_size), lo32(sym_size)); } void add_opal_node(void)