From patchwork Thu Mar 2 04:14:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matt Brown X-Patchwork-Id: 734467 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 ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3vYf9r4xgfz9s7g for ; Thu, 2 Mar 2017 15:15:28 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="AVqmmwry"; dkim-atps=neutral Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3vYf9r3hKlzDqNh for ; Thu, 2 Mar 2017 15:15:28 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="AVqmmwry"; dkim-atps=neutral X-Original-To: skiboot@lists.ozlabs.org Delivered-To: skiboot@lists.ozlabs.org Received: from mail-pf0-x241.google.com (mail-pf0-x241.google.com [IPv6:2607:f8b0:400e:c00::241]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3vYf9j1j8HzDqLg for ; Thu, 2 Mar 2017 15:15:21 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="AVqmmwry"; dkim-atps=neutral Received: by mail-pf0-x241.google.com with SMTP id b5so3058186pfa.0 for ; Wed, 01 Mar 2017 20:15:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=G9GDOfAOKpzV//if1/EDrNCrfigfPyCqw4dUtgV8IkQ=; b=AVqmmwryZSbVb8ZGrsVj/dluXAu50zLSGFDclQcS16AmIWQYX+zIqbIJ/syv75nvkf w/yHhR95f51ZyimUcl/vjQJmUYvbEDChm+ZkLCivkmr0/xpA2BvT5U1dRZlo2JJR8B+P HyUFLDOhbF3G+P2S4AeBH+XCfH/9eufm0ejqaHrF2pRhn7WmJD2Xe7BWCMFsv7pQCw1M I5rTB7YWHtwQTkTlIxh5OXSEJy4C8+SbGiqdCfrbZtmeUux29R9ItTNPrjZAUZlcmamU I/pfltWvt0N6WmuaFiiyaLjervgKgKS2JK4ENM4Kg6NLa++JTW/sBMSWhMcEk6W2QwuE aCjw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=G9GDOfAOKpzV//if1/EDrNCrfigfPyCqw4dUtgV8IkQ=; b=Z7SYW8c4g9V0vYygV7V59DmzTZK5+1ifKBiRS9QaTfzwkKnqYZSiCfFFI4ZLR3k2s/ MM49mxIY+cv4zSGfVrNIKKQ93jsW5yX5k9NSb3Yx+UdJx/7CesgSpTQVHHLwhbJWXc6R U9b2ANc+swm4wEaD0mcqlAleYecJQlWidRZqv/Ko6/ftxkLCzAxeAMGEkfPCED0Cy+iz LsoX+BU8lM53sTJ5yDCwDkwA2VuD2e/72CIf8YcTxfBUzc9oS+kwq/nC5yqpUNlvyosL gaNweLAIFBYevtqSNpz3P/aYpkv24pAJNEHyMuK9BmV1qyr1GC+tiDDskjp5XZtO59nR TvKg== X-Gm-Message-State: AMke39n2BjRkUD+CkktMjPYToqTawvBxiFDdGdx79vr9dtGpU3reg5kh3JMk0XYp2PMBZA== X-Received: by 10.84.225.133 with SMTP id u5mr15814125plj.109.1488428119288; Wed, 01 Mar 2017 20:15:19 -0800 (PST) Received: from matt.ozlabs.ibm.com ([122.99.82.10]) by smtp.gmail.com with ESMTPSA id 67sm13341533pfd.120.2017.03.01.20.15.17 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 01 Mar 2017 20:15:18 -0800 (PST) From: Matt Brown To: skiboot@lists.ozlabs.org Date: Thu, 2 Mar 2017 15:14:56 +1100 Message-Id: <20170302041456.21013-1-matthew.brown.dev@gmail.com> X-Mailer: git-send-email 2.9.3 Subject: [Skiboot] [Patch v3] core/init: Add hdat-map property to OPAL node X-BeenThere: skiboot@lists.ozlabs.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Mailing list for skiboot development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Skiboot" Exports the HDAT heap to the OS. This allows the OS to view the HDAT heap directly. This allows us to view the HDAT area without having to use getmemproc. Signed-off-by: Matt Brown --- Changelog v2 to v3: - fixed a very stupid mistake! --- core/opal.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/core/opal.c b/core/opal.c index 6087e65..9273560 100644 --- a/core/opal.c +++ b/core/opal.c @@ -119,15 +119,29 @@ void __opal_register(uint64_t token, void *func, unsigned int nargs) opal_num_args[token] = nargs; } +static void add_opal_firmware_exports_node(struct dt_node *node) +{ + struct dt_node *exports = dt_new(node, "exports"); + uint64_t sym_start = (uint64_t)__sym_map_start; + uint64_t sym_size = (uint64_t)__sym_map_end - sym_start; + + dt_add_property_u64s(exports, "symbol-map", sym_start, sym_size); + dt_add_property_u64s(exports, "hdat-map", SPIRA_HEAP_BASE, + SPIRA_HEAP_SIZE); +} + 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; + struct dt_node *firmware = dt_new(opal_node, "firmware"); + 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_u64s(firmware, "symbol-map", sym_start, sym_size); + + add_opal_firmware_exports_node(firmware); } void add_opal_node(void)