From patchwork Tue Apr 21 04:16:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amitay Isaacs X-Patchwork-Id: 1273919 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495qzM4dVDz9sSM for ; Tue, 21 Apr 2020 14:17:35 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=ozlabs.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=IY+xmd9X; 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 495qzL6WwVzDr1q for ; Tue, 21 Apr 2020 14:17:34 +1000 (AEST) X-Original-To: pdbg@lists.ozlabs.org Delivered-To: pdbg@lists.ozlabs.org Received: from ozlabs.org (bilbo.ozlabs.org [203.11.71.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 495qyz2Z61zDqsy for ; Tue, 21 Apr 2020 14:17:15 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=ozlabs.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=IY+xmd9X; dkim-atps=neutral Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 495qyy5hMVz9sSW; Tue, 21 Apr 2020 14:17:14 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; t=1587442634; bh=7OuB7CQ+3J6nMMg1sJ6v3IQA9l/PL2dfrsHY5QO5gZc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IY+xmd9XbAWCqLHFSJKkoGIs9v7RSN+b25S+lhTF/BykEYJIyctSRPlIK7xGC+9m+ cLFzwITRn/MP5UYdch+hSY0NUYKzlDA3lSw+nmz5EH2x8jIC0o21pRTw09FYawxtBV bD2+fxCdoCqt69efrbME/wYBlFG0HOgE+6RgzHne4HgIhxjXyYHH+EULqT79sKVRIX WR6OAMpKjpqkO7QBMYYhn8HcQqCTojmaillHrnNGrKVAcb/OdNmZOr1QyIuQdl+f/4 i3u/gZ+qI3PxtXdqQatUpQV/JQe6l2f1IBUCxwzTmrlsfWvtoZ9x6NK517llEjc7CK w6IBLZL10TMrw== From: Amitay Isaacs To: pdbg@lists.ozlabs.org Date: Tue, 21 Apr 2020 14:16:37 +1000 Message-Id: <20200421041655.82856-2-amitay@ozlabs.org> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421041655.82856-1-amitay@ozlabs.org> References: <20200421041655.82856-1-amitay@ozlabs.org> MIME-Version: 1.0 Subject: [Pdbg] [PATCH v4 01/19] libsbefifo: Fix compilation error for undefined variable X-BeenThere: pdbg@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "mailing list for https://github.com/open-power/pdbg development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Amitay Isaacs Errors-To: pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Pdbg" We didn't hit this because of the LOG() macro which is only enabled with -DLIBSBEFIFO_DEBUG=1. Signed-off-by: Amitay Isaacs Reviewed-by: Alistair Popple --- libsbefifo/operation.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libsbefifo/operation.c b/libsbefifo/operation.c index 07d9f64..8717f15 100644 --- a/libsbefifo/operation.c +++ b/libsbefifo/operation.c @@ -60,17 +60,18 @@ static int sbefifo_transport(struct sbefifo_context *sctx, uint8_t *msg, uint32_ int rc; size_t buflen; + buflen = msg_len; rc = sbefifo_write(sctx, msg, buflen); if (rc) { - LOG("write: cmd=%08x, rc=%d\n", cmd, rc); + LOG("write: cmd=%08x, rc=%d\n", be32toh(*(uint32_t *)(msg+4)), rc); return rc; } buflen = *out_len; rc = sbefifo_read(sctx, out, &buflen); if (rc) { - LOG("read: cmd=%08x, buflen=%zu, rc=%d\n", cmd, buflen, rc); + LOG("read: cmd=%08x, buflen=%zu, rc=%d\n", be32toh(*(uint32_t *)(msg+4)), buflen, rc); return rc; } From patchwork Tue Apr 21 04:16:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amitay Isaacs X-Patchwork-Id: 1273918 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.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495qzJ2Bl9z9sSK for ; Tue, 21 Apr 2020 14:17:32 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=ozlabs.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=Qtz0Axwl; 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 495qzH5mYHzDqtl for ; Tue, 21 Apr 2020 14:17:31 +1000 (AEST) X-Original-To: pdbg@lists.ozlabs.org Delivered-To: pdbg@lists.ozlabs.org Received: from ozlabs.org (bilbo.ozlabs.org [IPv6:2401:3900:2:1::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 495qyz58zdzDqtQ for ; Tue, 21 Apr 2020 14:17:15 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=ozlabs.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=Qtz0Axwl; dkim-atps=neutral Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 495qyz1T2zz9sSX; Tue, 21 Apr 2020 14:17:15 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; t=1587442635; bh=rxe+Y7vuvHas3GmHG7eo6AueacKShf5Aqx/UefN3Jjs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Qtz0Axwl0/XIsyJTZRp6pfiJ/eQHsie0GYNyaeVEAJZcLFHSw2fQp3r7BOfvGv7LQ Rqo9UQGbAHjR6TWnpJd/7mJJ0SyeCqQpN97hbzh2Sza7Gmw8YnlI3x7jFZqSQylrYe cUQyMKqi3M12LXW6rkV1vtAYYbsstwrTKIkv6hqj6J6cZZ4cR1b21TMKEMKwf+lIJq 542Okj16ckRz0+b/PicMMm+DDPlWzq2CiIS3ECTJrR/tEpYJr68VEmdODIa20kdOfo vInKQ7UStzectnvyd+W9rOcVFgxppyb02xfqbx/WVKvhi2nIZk4QcZCmZylcey6BH0 H+zA4COWriOmQ== From: Amitay Isaacs To: pdbg@lists.ozlabs.org Date: Tue, 21 Apr 2020 14:16:38 +1000 Message-Id: <20200421041655.82856-3-amitay@ozlabs.org> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421041655.82856-1-amitay@ozlabs.org> References: <20200421041655.82856-1-amitay@ozlabs.org> MIME-Version: 1.0 Subject: [Pdbg] [PATCH v4 02/19] libsbefifo: Use the correct sized pointer X-BeenThere: pdbg@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "mailing list for https://github.com/open-power/pdbg development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Amitay Isaacs Errors-To: pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Pdbg" Signed-off-by: Amitay Isaacs Reviewed-by: Alistair Popple --- libsbefifo/cmd_scom.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libsbefifo/cmd_scom.c b/libsbefifo/cmd_scom.c index bc9b5f9..bb44e5e 100644 --- a/libsbefifo/cmd_scom.c +++ b/libsbefifo/cmd_scom.c @@ -24,7 +24,7 @@ static int sbefifo_scom_get_push(uint64_t addr, uint8_t **buf, uint32_t *buflen) { - uint8_t *msg; + uint32_t *msg; uint32_t nwords, cmd; nwords = 4; @@ -83,7 +83,7 @@ int sbefifo_scom_get(struct sbefifo_context *sctx, uint64_t addr, uint64_t *valu static int sbefifo_scom_put_push(uint64_t addr, uint64_t value, uint8_t **buf, uint32_t *buflen) { - uint8_t *msg; + uint32_t *msg; uint32_t nwords, cmd; nwords = 6; From patchwork Tue Apr 21 04:16:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amitay Isaacs X-Patchwork-Id: 1273917 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.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495qzD6yPrz9sSM for ; Tue, 21 Apr 2020 14:17:28 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=ozlabs.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=Xxfx7MsT; 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 495qzD5qD5zDqvZ for ; Tue, 21 Apr 2020 14:17:28 +1000 (AEST) X-Original-To: pdbg@lists.ozlabs.org Delivered-To: pdbg@lists.ozlabs.org Received: from ozlabs.org (bilbo.ozlabs.org [203.11.71.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 495qyz6kp2zDqtY for ; Tue, 21 Apr 2020 14:17:15 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=ozlabs.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=Xxfx7MsT; dkim-atps=neutral Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 495qyz4NXfz9sSY; Tue, 21 Apr 2020 14:17:15 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; t=1587442635; bh=4G8J8PdtNfQqRm/ZCVQ9fp1Qw09+aB7ZDOCHRq4U1b8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Xxfx7MsTR1FUQh7a9WDUVTC/lOOUky+yTkpsVFGn3Oi150goPFwa1VHFUONbrB9c6 65/5lDhTtyOLSFxhjWCXMQvzq06hLg2uZqkYirtLhvdI++npEmyH0jtCKawjfF5uO/ z4LelkkZjG/RYDDfAh5LxpBcjhhxd6Git5sx1NqMeHwzxw02vv4AOZJr6kOA00tNgW jEx6PGdlmNBPPIXLu/5ymuFQ03X3/f7ONC7PtFgIHgXiOA9eX7wOCj8NwFD2nWxClv mSaq9WxR1mPmWueltrxZsjVv4Vsj50iij28FW0ND6pXX3rxJOQT7XD9YRjLO6ID6X9 UIlAUle4vVUfg== From: Amitay Isaacs To: pdbg@lists.ozlabs.org Date: Tue, 21 Apr 2020 14:16:39 +1000 Message-Id: <20200421041655.82856-4-amitay@ozlabs.org> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421041655.82856-1-amitay@ozlabs.org> References: <20200421041655.82856-1-amitay@ozlabs.org> MIME-Version: 1.0 Subject: [Pdbg] [PATCH v4 03/19] libpdbg: Add a private api to get current backend X-BeenThere: pdbg@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "mailing list for https://github.com/open-power/pdbg development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Amitay Isaacs Errors-To: pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Pdbg" Signed-off-by: Amitay Isaacs Reviewed-by: Alistair Popple --- libpdbg/dtb.c | 5 +++++ libpdbg/target.h | 1 + 2 files changed, 6 insertions(+) diff --git a/libpdbg/dtb.c b/libpdbg/dtb.c index b094e34..70b7962 100644 --- a/libpdbg/dtb.c +++ b/libpdbg/dtb.c @@ -293,6 +293,11 @@ bool pdbg_set_backend(enum pdbg_backend backend, const char *backend_option) return true; } +enum pdbg_backend pdbg_get_backend(void) +{ + return pdbg_backend; +} + const char *pdbg_get_backend_option(void) { return pdbg_backend_option; diff --git a/libpdbg/target.h b/libpdbg/target.h index 3b74844..7094b51 100644 --- a/libpdbg/target.h +++ b/libpdbg/target.h @@ -80,6 +80,7 @@ extern struct list_head empty_list; extern struct list_head target_classes; struct pdbg_dtb *pdbg_default_dtb(void *system_fdt); +enum pdbg_backend pdbg_get_backend(void); const char *pdbg_get_backend_option(void); bool pdbg_fdt_is_readonly(void *fdt); From patchwork Tue Apr 21 04:16:40 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amitay Isaacs X-Patchwork-Id: 1273920 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495qzV4vYJz9sSM for ; Tue, 21 Apr 2020 14:17:42 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=ozlabs.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=BQXphFQl; 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 495qzV3XPPzDqtZ for ; Tue, 21 Apr 2020 14:17:42 +1000 (AEST) X-Original-To: pdbg@lists.ozlabs.org Delivered-To: pdbg@lists.ozlabs.org Received: from ozlabs.org (bilbo.ozlabs.org [203.11.71.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 495qz02z3tzDqtZ for ; Tue, 21 Apr 2020 14:17:16 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=ozlabs.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=BQXphFQl; dkim-atps=neutral Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 495qyz6y11z9sSb; Tue, 21 Apr 2020 14:17:15 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; t=1587442636; bh=SzGzt9rq0lYd/UzAeP9D0gc0NGHueRkBopZM6/cD7qY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BQXphFQlwtr7XRKJSbIaQhirpTxEEq9hsmjnpm71huhwuW63xeqqOmnVrGoTGQZUQ f0vzfFvW/iJgX+AGnxz8oacMiv1bHiTr9IfH2kclm4NHdgY95TGtkF5yv7CBxRjb48 WUJzLVisAHbBdrUbfAjiDs26/1QDlFKm8fru16mnYKqYaehrYn93Urin0u7ZkznRca za1HoCeu1WoJjU8qFvxR8qNpdSGzhEeooVZNObxL7LsvSsEpVBZDhNCSflfqjcWpE7 etIFDmNNh8N6zxoZ8qQwU8U37ynyEMfMUcmeo3C6QVkQA8z6dVTcDpHA6CR2mI7hOI ChKniDEOAnVgw== From: Amitay Isaacs To: pdbg@lists.ozlabs.org Date: Tue, 21 Apr 2020 14:16:40 +1000 Message-Id: <20200421041655.82856-5-amitay@ozlabs.org> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421041655.82856-1-amitay@ozlabs.org> References: <20200421041655.82856-1-amitay@ozlabs.org> MIME-Version: 1.0 Subject: [Pdbg] [PATCH v4 04/19] libpdbg: Register hwunit drivers per backend X-BeenThere: pdbg@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "mailing list for https://github.com/open-power/pdbg development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Amitay Isaacs Errors-To: pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Pdbg" This will allow to load backend specific drivers first. When searching for drivers, match all compatible strings to backend specific drivers first and then match all compatible strings to default backend. All the drivers are registered with the default backend, so this patch does not change libpdbg behaviour. Signed-off-by: Amitay Isaacs Reviewed-by: Alistair Popple --- libpdbg/adu.c | 4 +-- libpdbg/bmcfsi.c | 2 +- libpdbg/cfam.c | 8 +++--- libpdbg/chip.c | 2 +- libpdbg/cronus.c | 6 ++--- libpdbg/device.c | 15 +++-------- libpdbg/fake.c | 8 +++--- libpdbg/host.c | 2 +- libpdbg/htm.c | 6 ++--- libpdbg/hwunit.c | 51 +++++++++++++++++++++++++++++++------- libpdbg/hwunit.h | 5 ++-- libpdbg/i2c.c | 2 +- libpdbg/kernel.c | 4 +-- libpdbg/p8chip.c | 4 +-- libpdbg/p9_fapi_targets.c | 52 +++++++++++++++++++-------------------- libpdbg/p9chip.c | 4 +-- libpdbg/sbefifo.c | 8 +++--- 17 files changed, 105 insertions(+), 78 deletions(-) diff --git a/libpdbg/adu.c b/libpdbg/adu.c index df610a7..fe60118 100644 --- a/libpdbg/adu.c +++ b/libpdbg/adu.c @@ -597,6 +597,6 @@ DECLARE_HW_UNIT(p9_adu); __attribute__((constructor)) static void register_adu(void) { - pdbg_hwunit_register(&p8_adu_hw_unit); - pdbg_hwunit_register(&p9_adu_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p8_adu_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_adu_hw_unit); } diff --git a/libpdbg/bmcfsi.c b/libpdbg/bmcfsi.c index 1d2e304..2639595 100644 --- a/libpdbg/bmcfsi.c +++ b/libpdbg/bmcfsi.c @@ -519,5 +519,5 @@ DECLARE_HW_UNIT(bmcfsi); __attribute__((constructor)) static void register_bmcfsi(void) { - pdbg_hwunit_register(&bmcfsi_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &bmcfsi_hw_unit); } diff --git a/libpdbg/cfam.c b/libpdbg/cfam.c index da4c5fc..0b0b6f0 100644 --- a/libpdbg/cfam.c +++ b/libpdbg/cfam.c @@ -353,8 +353,8 @@ DECLARE_HW_UNIT(cfam_hmfsi); __attribute__((constructor)) static void register_cfam(void) { - pdbg_hwunit_register(&fsi_pib_hw_unit); - pdbg_hwunit_register(&p8_opb_hw_unit); - pdbg_hwunit_register(&p8_opb_hmfsi_hw_unit); - pdbg_hwunit_register(&cfam_hmfsi_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &fsi_pib_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p8_opb_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p8_opb_hmfsi_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &cfam_hmfsi_hw_unit); } diff --git a/libpdbg/chip.c b/libpdbg/chip.c index b45cffa..b961e87 100644 --- a/libpdbg/chip.c +++ b/libpdbg/chip.c @@ -679,5 +679,5 @@ DECLARE_HW_UNIT(proc); __attribute__((constructor)) static void register_proc(void) { - pdbg_hwunit_register(&proc_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &proc_hw_unit); } diff --git a/libpdbg/cronus.c b/libpdbg/cronus.c index ff8af4c..23d555b 100644 --- a/libpdbg/cronus.c +++ b/libpdbg/cronus.c @@ -219,7 +219,7 @@ DECLARE_HW_UNIT(cronus_sbefifo); __attribute__((constructor)) static void register_cronus(void) { - pdbg_hwunit_register(&cronus_pib_hw_unit); - pdbg_hwunit_register(&cronus_fsi_hw_unit); - pdbg_hwunit_register(&cronus_sbefifo_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &cronus_pib_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &cronus_fsi_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &cronus_sbefifo_hw_unit); } diff --git a/libpdbg/device.c b/libpdbg/device.c index 219569e..8db6572 100644 --- a/libpdbg/device.c +++ b/libpdbg/device.c @@ -60,23 +60,16 @@ static struct pdbg_target *dt_pdbg_target_new(const void *fdt, int node_offset) prop = fdt_get_property(fdt, node_offset, "compatible", NULL); if (prop) { - int i, prop_len = fdt32_to_cpu(prop->len); + uint32_t prop_len = fdt32_to_cpu(prop->len); /* * If I understand correctly, the property we have * here can be a stringlist with a few compatible * strings */ - i = 0; - while (i < prop_len) { - hw_info = pdbg_hwunit_find_compatible(&prop->data[i]); - if (hw_info) { - size = hw_info->size; - break; - } - - i += strlen(&prop->data[i]) + 1; - } + hw_info = pdbg_hwunit_find_compatible(prop->data, prop_len); + if (hw_info) + size = hw_info->size; } if (!hw_info) diff --git a/libpdbg/fake.c b/libpdbg/fake.c index 82415db..ae02463 100644 --- a/libpdbg/fake.c +++ b/libpdbg/fake.c @@ -90,8 +90,8 @@ DECLARE_HW_UNIT(fake_thread); __attribute__((constructor)) static void register_fake(void) { - pdbg_hwunit_register(&fake_fsi_hw_unit); - pdbg_hwunit_register(&fake_pib_hw_unit); - pdbg_hwunit_register(&fake_core_hw_unit); - pdbg_hwunit_register(&fake_thread_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &fake_fsi_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &fake_pib_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &fake_core_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &fake_thread_hw_unit); } diff --git a/libpdbg/host.c b/libpdbg/host.c index 428c18b..d02b53d 100644 --- a/libpdbg/host.c +++ b/libpdbg/host.c @@ -127,5 +127,5 @@ DECLARE_HW_UNIT(host_pib); __attribute__((constructor)) static void register_host(void) { - pdbg_hwunit_register(&host_pib_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &host_pib_hw_unit); } diff --git a/libpdbg/htm.c b/libpdbg/htm.c index 4d23e82..a259478 100644 --- a/libpdbg/htm.c +++ b/libpdbg/htm.c @@ -1158,7 +1158,7 @@ DECLARE_HW_UNIT(p8_chtm); __attribute__((constructor)) static void register_htm(void) { - pdbg_hwunit_register(&p8_nhtm_hw_unit); - pdbg_hwunit_register(&p9_nhtm_hw_unit); - pdbg_hwunit_register(&p8_chtm_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p8_nhtm_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_nhtm_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p8_chtm_hw_unit); } diff --git a/libpdbg/hwunit.c b/libpdbg/hwunit.c index c7ec63d..074ddef 100644 --- a/libpdbg/hwunit.c +++ b/libpdbg/hwunit.c @@ -20,26 +20,28 @@ #include "hwunit.h" #define MAX_HW_UNITS 1024 +#define MAX_BACKENDS 16 -static const struct hw_unit_info *g_hw_unit[MAX_HW_UNITS]; -static int g_hw_unit_count; +static const struct hw_unit_info *g_hw_unit[MAX_BACKENDS][MAX_HW_UNITS]; +static int g_hw_unit_count[MAX_BACKENDS]; -void pdbg_hwunit_register(const struct hw_unit_info *hw_unit) +void pdbg_hwunit_register(enum pdbg_backend backend, const struct hw_unit_info *hw_unit) { - assert(g_hw_unit_count < MAX_HW_UNITS); + assert(g_hw_unit_count[backend] < MAX_HW_UNITS); - g_hw_unit[g_hw_unit_count] = hw_unit; - g_hw_unit_count++; + g_hw_unit[backend][g_hw_unit_count[backend]] = hw_unit; + g_hw_unit_count[backend]++; } -const struct hw_unit_info *pdbg_hwunit_find_compatible(const char *compat) +static const struct hw_unit_info *find_driver(enum pdbg_backend backend, + const char *compat) { const struct hw_unit_info *p; struct pdbg_target *target; int i; - for (i = 0; i < g_hw_unit_count; i++) { - p = g_hw_unit[i]; + for (i = 0; i < g_hw_unit_count[backend]; i++) { + p = g_hw_unit[backend][i]; target = p->hw_unit; if (!strcmp(target->compatible, compat)) @@ -48,3 +50,34 @@ const struct hw_unit_info *pdbg_hwunit_find_compatible(const char *compat) return NULL; } + +static const struct hw_unit_info *find_compatible(enum pdbg_backend backend, + const char *compat_list, + uint32_t len) +{ + const struct hw_unit_info *p; + uint32_t i; + + i = 0; + while (i < len) { + p = find_driver(backend, &compat_list[i]); + if (p) + return p; + + i += strlen(&compat_list[i]) + 1; + } + + return NULL; +} + +const struct hw_unit_info *pdbg_hwunit_find_compatible(const char *compat_list, + uint32_t len) +{ + const struct hw_unit_info *p; + + p = find_compatible(pdbg_get_backend(), compat_list, len); + if (!p) + p = find_compatible(PDBG_DEFAULT_BACKEND, compat_list, len); + + return p; +} diff --git a/libpdbg/hwunit.h b/libpdbg/hwunit.h index 7165a3c..dd41da7 100644 --- a/libpdbg/hwunit.h +++ b/libpdbg/hwunit.h @@ -31,8 +31,9 @@ struct hw_unit_info { size_t size; }; -void pdbg_hwunit_register(const struct hw_unit_info *hw_unit); -const struct hw_unit_info *pdbg_hwunit_find_compatible(const char *compat); +void pdbg_hwunit_register(enum pdbg_backend backend, const struct hw_unit_info *hw_unit); +const struct hw_unit_info *pdbg_hwunit_find_compatible(const char *compat_list, + uint32_t len); /* * If this macro fails to compile for you, you've probably not diff --git a/libpdbg/i2c.c b/libpdbg/i2c.c index 1a5d089..3d0b80a 100644 --- a/libpdbg/i2c.c +++ b/libpdbg/i2c.c @@ -177,5 +177,5 @@ DECLARE_HW_UNIT(p8_i2c_pib); __attribute__((constructor)) static void register_i2c(void) { - pdbg_hwunit_register(&p8_i2c_pib_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p8_i2c_pib_hw_unit); } diff --git a/libpdbg/kernel.c b/libpdbg/kernel.c index dbd3586..c4637a7 100644 --- a/libpdbg/kernel.c +++ b/libpdbg/kernel.c @@ -264,6 +264,6 @@ DECLARE_HW_UNIT(kernel_pib); __attribute__((constructor)) static void register_kernel(void) { - pdbg_hwunit_register(&kernel_fsi_hw_unit); - pdbg_hwunit_register(&kernel_pib_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &kernel_fsi_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &kernel_pib_hw_unit); } diff --git a/libpdbg/p8chip.c b/libpdbg/p8chip.c index 1bf71e8..484d77c 100644 --- a/libpdbg/p8chip.c +++ b/libpdbg/p8chip.c @@ -738,6 +738,6 @@ DECLARE_HW_UNIT(p8_core); __attribute__((constructor)) static void register_p8chip(void) { - pdbg_hwunit_register(&p8_thread_hw_unit); - pdbg_hwunit_register(&p8_core_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p8_thread_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p8_core_hw_unit); } diff --git a/libpdbg/p9_fapi_targets.c b/libpdbg/p9_fapi_targets.c index 1dc7af8..97680d5 100644 --- a/libpdbg/p9_fapi_targets.c +++ b/libpdbg/p9_fapi_targets.c @@ -720,30 +720,30 @@ DECLARE_HW_UNIT(p9_capp); __attribute__((constructor)) static void register_p9_fapi_targets(void) { - pdbg_hwunit_register(&p9_ex_hw_unit); - pdbg_hwunit_register(&p9_mba_hw_unit); - pdbg_hwunit_register(&p9_mcs_hw_unit); - pdbg_hwunit_register(&p9_xbus_hw_unit); - pdbg_hwunit_register(&p9_abus_hw_unit); - pdbg_hwunit_register(&p9_l4_hw_unit); - pdbg_hwunit_register(&p9_eq_hw_unit); - pdbg_hwunit_register(&p9_mca_hw_unit); - pdbg_hwunit_register(&p9_mcbist_hw_unit); - pdbg_hwunit_register(&p9_mi_hw_unit); - pdbg_hwunit_register(&p9_dmi_hw_unit); - pdbg_hwunit_register(&p9_obus_hw_unit); - pdbg_hwunit_register(&p9_obus_brick_hw_unit); - pdbg_hwunit_register(&p9_sbe_hw_unit); - pdbg_hwunit_register(&p9_ppe_hw_unit); - pdbg_hwunit_register(&p9_pec_hw_unit); - pdbg_hwunit_register(&p9_phb_hw_unit); - pdbg_hwunit_register(&p9_mc_hw_unit); - pdbg_hwunit_register(&p9_mem_port_hw_unit); - pdbg_hwunit_register(&p9_nmmu_hw_unit); - pdbg_hwunit_register(&p9_pau_hw_unit); - pdbg_hwunit_register(&p9_iohs_hw_unit); - pdbg_hwunit_register(&p9_fc_hw_unit); - pdbg_hwunit_register(&p9_pauc_hw_unit); - pdbg_hwunit_register(&p9_chiplet_hw_unit); - pdbg_hwunit_register(&p9_capp_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_ex_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_mba_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_mcs_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_xbus_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_abus_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_l4_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_eq_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_mca_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_mcbist_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_mi_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_dmi_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_obus_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_obus_brick_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_sbe_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_ppe_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_pec_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_phb_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_mc_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_mem_port_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_nmmu_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_pau_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_iohs_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_fc_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_pauc_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_chiplet_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_capp_hw_unit); } diff --git a/libpdbg/p9chip.c b/libpdbg/p9chip.c index 63434ee..6222dc3 100644 --- a/libpdbg/p9chip.c +++ b/libpdbg/p9chip.c @@ -510,6 +510,6 @@ DECLARE_HW_UNIT(p9_core); __attribute__((constructor)) static void register_p9chip(void) { - pdbg_hwunit_register(&p9_thread_hw_unit); - pdbg_hwunit_register(&p9_core_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_thread_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &p9_core_hw_unit); } diff --git a/libpdbg/sbefifo.c b/libpdbg/sbefifo.c index 41e68e9..22f11f1 100644 --- a/libpdbg/sbefifo.c +++ b/libpdbg/sbefifo.c @@ -321,8 +321,8 @@ DECLARE_HW_UNIT(kernel_sbefifo); __attribute__((constructor)) static void register_sbefifo(void) { - pdbg_hwunit_register(&kernel_sbefifo_hw_unit); - pdbg_hwunit_register(&sbefifo_chipop_hw_unit); - pdbg_hwunit_register(&sbefifo_mem_hw_unit); - pdbg_hwunit_register(&sbefifo_pba_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &kernel_sbefifo_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &sbefifo_chipop_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &sbefifo_mem_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &sbefifo_pba_hw_unit); } From patchwork Tue Apr 21 04:16:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amitay Isaacs X-Patchwork-Id: 1273921 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495qzb5nc0z9sSM for ; Tue, 21 Apr 2020 14:17:47 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=ozlabs.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=Pp+XF4Ls; 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 495qzb1QwnzDqt0 for ; Tue, 21 Apr 2020 14:17:47 +1000 (AEST) X-Original-To: pdbg@lists.ozlabs.org Delivered-To: pdbg@lists.ozlabs.org Received: from ozlabs.org (bilbo.ozlabs.org [203.11.71.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 495qz05fzBzDqsy for ; Tue, 21 Apr 2020 14:17:16 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=ozlabs.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=Pp+XF4Ls; dkim-atps=neutral Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 495qz03BYWz9sSM; Tue, 21 Apr 2020 14:17:16 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; t=1587442636; bh=dny91tSmFeMsFTlQPADy7wOZZWjSmd2/2umorIWS7tw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Pp+XF4Ls32T/rddyoS8IRiRJhXzJP9OMgjhFh6ta/2MG/Gpg5F4eRRJMeysvOa/oo 9Q6crZLKKr5Zv+HbpnQOnMT4Nzz84QCXpUfxqqhAoThI/SvN2lFJPQYN+Mi1ozZEhN nYtSRTIZxWcMUJ9nZuUr+xYUmHmGc2QpR4gtQ48r/cOtp2HpRbEMOfDpJsNzZw/L8w uI6Nre9KtvRvR8lyYWfJGPO9TWZdbjPjJr13zmAnT+n9leuyCc4T3+5xT3JXUd8iYU mI5+qZCfRUhA7OFK2qRQczvJGpWlfMW0pBhLXZAZquOOtJzEdxPcRwsAsSHmew7aO0 PmOxCWpu/aRHA== From: Amitay Isaacs To: pdbg@lists.ozlabs.org Date: Tue, 21 Apr 2020 14:16:41 +1000 Message-Id: <20200421041655.82856-6-amitay@ozlabs.org> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421041655.82856-1-amitay@ozlabs.org> References: <20200421041655.82856-1-amitay@ozlabs.org> MIME-Version: 1.0 Subject: [Pdbg] [PATCH v4 05/19] libpdbg: Use PDBG_BACKEND_DRIVER to specify drivers to load X-BeenThere: pdbg@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "mailing list for https://github.com/open-power/pdbg development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Amitay Isaacs Errors-To: pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Pdbg" When PDBG_BACKEND_DTB is specified, backend may not be set. This means only the drivers registered with PDBG_DEFAULT_BACKEND will be loaded. To be able to match backend specific drivers for targets in system tree, use the backend specified in PDBG_BACKEND_DRIVER environment variable. Signed-off-by: Amitay Isaacs --- libpdbg/hwunit.c | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/libpdbg/hwunit.c b/libpdbg/hwunit.c index 074ddef..3d6a05d 100644 --- a/libpdbg/hwunit.c +++ b/libpdbg/hwunit.c @@ -14,6 +14,7 @@ * limitations under the License. */ +#include #include #include @@ -70,12 +71,44 @@ static const struct hw_unit_info *find_compatible(enum pdbg_backend backend, return NULL; } +static enum pdbg_backend get_backend_driver(void) +{ + const char *tmp; + enum pdbg_backend backend = PDBG_DEFAULT_BACKEND; + + tmp = getenv("PDBG_BACKEND_DRIVER"); + if (tmp) { + if (!strcmp(tmp, "fsi")) + backend = PDBG_BACKEND_FSI; + else if (!strcmp(tmp, "i2c")) + backend = PDBG_BACKEND_I2C; + else if (!strcmp(tmp, "kernel")) + backend = PDBG_BACKEND_KERNEL; + else if (!strcmp(tmp, "fake")) + backend = PDBG_BACKEND_FAKE; + else if (!strcmp(tmp, "host")) + backend = PDBG_BACKEND_HOST; + else if (!strcmp(tmp, "cronus")) + backend = PDBG_BACKEND_CRONUS; + } + + return backend; +} + const struct hw_unit_info *pdbg_hwunit_find_compatible(const char *compat_list, uint32_t len) { - const struct hw_unit_info *p; + const struct hw_unit_info *p = NULL; + enum pdbg_backend backend = pdbg_get_backend(); + + if (backend == PDBG_DEFAULT_BACKEND) { + backend = get_backend_driver(); + if (backend != PDBG_DEFAULT_BACKEND) + p = find_compatible(backend, compat_list, len); + } else { + p = find_compatible(backend, compat_list, len); + } - p = find_compatible(pdbg_get_backend(), compat_list, len); if (!p) p = find_compatible(PDBG_DEFAULT_BACKEND, compat_list, len); From patchwork Tue Apr 21 04:16:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amitay Isaacs X-Patchwork-Id: 1273922 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495qzg4JCgz9sSM for ; Tue, 21 Apr 2020 14:17:51 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=ozlabs.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=lAPWFVIF; 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 495qzg2pn4zDqtl for ; Tue, 21 Apr 2020 14:17:51 +1000 (AEST) X-Original-To: pdbg@lists.ozlabs.org Delivered-To: pdbg@lists.ozlabs.org Received: from ozlabs.org (bilbo.ozlabs.org [IPv6:2401:3900:2:1::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 495qz11SY4zDqsy for ; Tue, 21 Apr 2020 14:17:17 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=ozlabs.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=lAPWFVIF; dkim-atps=neutral Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 495qz064gMz9sSW; Tue, 21 Apr 2020 14:17:16 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; t=1587442637; bh=6aJD3nCEqMHdeeOR0lw+ByU7sEaJJrIDzR1hOGNmtFQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lAPWFVIFJfcbgJrBuxBWe8S9CMpVN3B14xT/2bDnd5VeMBEPrvSv0Z17LEHSNzk7y Cpz6pozNMYWyf11AMtslkRVBO2JiWB+f0FGw2aUUxOk3j9c04PTzSsPzoGk/DWEfzK CHYASZkI1eGaZbNsuu/E6AirKk9mVmlrmGvP2puH3z0FJP1mUAMhpboD1g5mtdZkXE baRhs6rA0HHIRNgA4rRiT7qaBdu+d0knl1sRjdY5r6UZeLbsaSx19X0olpSV6pZoec KrtN2T4CBhyjlT3/pDIeoBgMV4gMO4xi5MJOjUTVsINKA6ila58sgUjYjzy6tl0fXF 8dMP/UWq1HoDw== From: Amitay Isaacs To: pdbg@lists.ozlabs.org Date: Tue, 21 Apr 2020 14:16:42 +1000 Message-Id: <20200421041655.82856-7-amitay@ozlabs.org> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421041655.82856-1-amitay@ozlabs.org> References: <20200421041655.82856-1-amitay@ozlabs.org> MIME-Version: 1.0 Subject: [Pdbg] [PATCH v4 06/19] libpdbg: Use const char * for filenames X-BeenThere: pdbg@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "mailing list for https://github.com/open-power/pdbg development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Amitay Isaacs Errors-To: pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Pdbg" Signed-off-by: Amitay Isaacs Reviewed-by: Alistair Popple --- libpdbg/dtb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libpdbg/dtb.c b/libpdbg/dtb.c index 70b7962..ef51718 100644 --- a/libpdbg/dtb.c +++ b/libpdbg/dtb.c @@ -234,7 +234,7 @@ static void bmc_target(struct pdbg_dtb *dtb) } /* Opens a dtb at the given path */ -static void mmap_dtb(char *file, bool readonly, struct pdbg_mfile *mfile) +static void mmap_dtb(const char *file, bool readonly, struct pdbg_mfile *mfile) { int fd; void *dtb; @@ -308,7 +308,7 @@ const char *pdbg_get_backend_option(void) struct pdbg_dtb *pdbg_default_dtb(void *system_fdt) { struct pdbg_dtb *dtb = &pdbg_dtb; - char *fdt; + const char *fdt; dtb->backend.fdt = NULL; dtb->system.fdt = system_fdt; From patchwork Tue Apr 21 04:16:43 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amitay Isaacs X-Patchwork-Id: 1273923 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495qzk6tr6z9sSM for ; Tue, 21 Apr 2020 14:17:54 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=ozlabs.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=BKssMPAt; 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 495qzk3hbtzDqvZ for ; Tue, 21 Apr 2020 14:17:54 +1000 (AEST) X-Original-To: pdbg@lists.ozlabs.org Delivered-To: pdbg@lists.ozlabs.org Received: from ozlabs.org (bilbo.ozlabs.org [IPv6:2401:3900:2:1::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 495qz14q1DzDqsy for ; Tue, 21 Apr 2020 14:17:17 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=ozlabs.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=BKssMPAt; dkim-atps=neutral Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 495qz11rpqz9sSM; Tue, 21 Apr 2020 14:17:17 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; t=1587442637; bh=DYui32RzJIKFDMBp1KFGje0eiYVvyXssGVqQPuXTThg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BKssMPAtYwEI6hGYHCyhfoK4qySDURpXmQqE30/TLVb+oRJZ3Az145dff0npdKB/A vlD0pzmFOUrWmj9+3jV/R08j+gBHkPXCUQ8lDtMXp61iZNCiwzRBvh2363OAvZtEKn Vcj8jrlDhih8kP41gpJEbMbuug/FdUB7UUHGhD41N623roRpVoHHXAncf2idtH8jru mo5KU462oyAXtEOBXcyAN5qP8WGAlczvl66F0wcdoFuWawvGoxwDE3X4S0EotcVfmP LZGUXfCDwr8Zxvb4OMmkcC8Ji1ExGKb4W0QuXxlhj4/OLSlb6WMnUYN0iRan2xu62V PgeXt8jpiJnSw== From: Amitay Isaacs To: pdbg@lists.ozlabs.org Date: Tue, 21 Apr 2020 14:16:43 +1000 Message-Id: <20200421041655.82856-8-amitay@ozlabs.org> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421041655.82856-1-amitay@ozlabs.org> References: <20200421041655.82856-1-amitay@ozlabs.org> MIME-Version: 1.0 Subject: [Pdbg] [PATCH v4 07/19] dts: Backend device trees must use specific driver X-BeenThere: pdbg@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "mailing list for https://github.com/open-power/pdbg development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Amitay Isaacs Errors-To: pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Pdbg" Specific backend must always use specific drivers for backend specific devices. All other devices which appear in system device tree can potentially match multiple drivers depending on the backend. Signed-off-by: Amitay Isaacs Reviewed-by: Alistair Popple --- p8-fsi.dts.m4 | 6 +++--- p8-i2c.dts.m4 | 4 ++-- p8-kernel.dts.m4 | 4 ++-- p9-fsi.dtsi.m4 | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/p8-fsi.dts.m4 b/p8-fsi.dts.m4 index 70fdb14..8d10966 100644 --- a/p8-fsi.dts.m4 +++ b/p8-fsi.dts.m4 @@ -26,7 +26,7 @@ #address-cells = <0x2>; #size-cells = <0x1>; reg = <0x0 0x1000 0x7>; - compatible = "ibm,fsi-pib", "ibm,power8-fsi-pib"; + compatible = "ibm,fsi-pib"; index = <0x0>; system-path = "/proc0/pib"; }; @@ -44,7 +44,7 @@ #address-cells = <0x2>; #size-cells = <0x1>; reg = <0x0 0x1000 0x7>; - compatible = "ibm,fsi-pib", "ibm,power8-fsi-pib"; + compatible = "ibm,fsi-pib"; index = <0x1>; system-path = "/proc1/pib"; }; @@ -64,7 +64,7 @@ #address-cells = <0x2>; #size-cells = <0x1>; reg = <0x0 0x1000 0x7>; - compatible = "ibm,fsi-pib", "ibm,power8-fsi-pib"; + compatible = "ibm,fsi-pib"; index = <0x2>; system-path = "/proc2/pib"; }; diff --git a/p8-i2c.dts.m4 b/p8-i2c.dts.m4 index 3ea4b59..a7a18a2 100644 --- a/p8-i2c.dts.m4 +++ b/p8-i2c.dts.m4 @@ -34,7 +34,7 @@ #address-cells = <0x2>; #size-cells = <0x1>; reg = <0x0 0x1000 0x7>; - compatible = "ibm,fsi-pib", "ibm,power8-fsi-pib"; + compatible = "ibm,fsi-pib"; index = <0x1>; system-path = "/proc1/pib"; }; @@ -53,7 +53,7 @@ #address-cells = <0x2>; #size-cells = <0x1>; reg = <0x0 0x1000 0x7>; - compatible = "ibm,fsi-pib", "ibm,power8-fsi-pib"; + compatible = "ibm,fsi-pib"; index = <0x2>; system-path = "/proc2/pib"; }; diff --git a/p8-kernel.dts.m4 b/p8-kernel.dts.m4 index 6eacb92..b00ed54 100644 --- a/p8-kernel.dts.m4 +++ b/p8-kernel.dts.m4 @@ -18,7 +18,7 @@ #size-cells = <0x1>; reg = <0x0 0x1000 0x7>; index = <0x0>; - compatible = "ibm,fsi-pib", "ibm,power8-fsi-pib"; + compatible = "ibm,fsi-pib"; system-path = "/proc0/pib"; }; @@ -35,7 +35,7 @@ #address-cells = <0x2>; #size-cells = <0x1>; reg = <0x0 0x1000 0x7>; - compatible = "ibm,fsi-pib", "ibm,power8-fsi-pib"; + compatible = "ibm,fsi-pib"; index = <0x1>; system-path = "/proc1/pib"; }; diff --git a/p9-fsi.dtsi.m4 b/p9-fsi.dtsi.m4 index 3bbe43d..ab3c2e1 100644 --- a/p9-fsi.dtsi.m4 +++ b/p9-fsi.dtsi.m4 @@ -17,7 +17,7 @@ #size-cells = <0x1>; reg = <0x0 0x1000 0x7>; index = <0x0>; - compatible = "ibm,fsi-pib", "ibm,power9-fsi-pib"; + compatible = "ibm,fsi-pib"; system-path = "/proc0/pib"; }; @@ -35,7 +35,7 @@ #size-cells = <0x1>; reg = <0x0 0x1000 0x7>; index = <0x1>; - compatible = "ibm,fsi-pib", "ibm,power9-fsi-pib"; + compatible = "ibm,fsi-pib"; system-path = "/proc1/pib"; }; }; From patchwork Tue Apr 21 04:16:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amitay Isaacs X-Patchwork-Id: 1273924 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.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495qzq1Ll3z9sSK for ; Tue, 21 Apr 2020 14:17:59 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=ozlabs.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=rxVjH2Zf; 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 495qzp2Q5YzDr1x for ; Tue, 21 Apr 2020 14:17:58 +1000 (AEST) X-Original-To: pdbg@lists.ozlabs.org Delivered-To: pdbg@lists.ozlabs.org Received: from ozlabs.org (bilbo.ozlabs.org [IPv6:2401:3900:2:1::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 495qz22RmQzDqt0 for ; Tue, 21 Apr 2020 14:17:18 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=ozlabs.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=rxVjH2Zf; dkim-atps=neutral Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 495qz15JNyz9sSX; Tue, 21 Apr 2020 14:17:17 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; t=1587442637; bh=ZLsW7LO+n01dnDLFhwRJwl+H0SN1sap/d2HAlwpzD4M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rxVjH2ZfP6iL/T466fPZ2THwnH7FPzPNVBqMx+ib10ETau4Zd42yi68pm7gFq7tNg bPhZwyk+ClvBUvUUuhyWzDZ6JoF2ncfUDGRWSyiGWXrcTDcj9jLrkDqfsUfr3hBg/u 9SZgeq/H1A3DgOZLNxKdZxdwbf8YHqtWHXs4gNsvbZWO9P3X0kF0wk8wwYPdvgxVpa 4ebjhCtHl1vpwsQcCuxHMTH/rsLDc0wSSSSejAwFrqWzUCzcKWxa2xvNV1Tg2RNDMW c0pe/DYN55WyFvx77kFZungaxuckOkV0UsWqWT2coqE6foUaGnssFWzCRXQw64ulEk uePSGHb0UE8Ng== From: Amitay Isaacs To: pdbg@lists.ozlabs.org Date: Tue, 21 Apr 2020 14:16:44 +1000 Message-Id: <20200421041655.82856-9-amitay@ozlabs.org> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421041655.82856-1-amitay@ozlabs.org> References: <20200421041655.82856-1-amitay@ozlabs.org> MIME-Version: 1.0 Subject: [Pdbg] [PATCH v4 08/19] dts: Rename ibm, processor -> ibm, power-proc X-BeenThere: pdbg@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "mailing list for https://github.com/open-power/pdbg development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Amitay Isaacs Errors-To: pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Pdbg" When using multiple compatible strings, use the generic compatible string first and specific later. Signed-off-by: Amitay Isaacs Reviewed-by: Alistair Popple --- libpdbg/chip.c | 2 +- p8.dts.m4 | 2 +- p9.dts | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libpdbg/chip.c b/libpdbg/chip.c index b961e87..848a831 100644 --- a/libpdbg/chip.c +++ b/libpdbg/chip.c @@ -670,7 +670,7 @@ int thread_getregs(struct pdbg_target *thread, struct thread_regs *regs) static struct proc proc = { .target = { .name = "Processor Module", - .compatible = "ibm,processor", + .compatible = "ibm,power-proc", .class = "proc", }, }; diff --git a/p8.dts.m4 b/p8.dts.m4 index a508e02..754987a 100644 --- a/p8.dts.m4 +++ b/p8.dts.m4 @@ -1,7 +1,7 @@ define(`PROC',` define(`PROC_ID',`$1')dnl proc$1 { - compatible = "ibm,power8-proc", "ibm,processor"; + compatible = "ibm,power-proc", "ibm,power8-proc"; index = <$1>; fsi { diff --git a/p9.dts b/p9.dts index 2d3fed2..6620b54 100644 --- a/p9.dts +++ b/p9.dts @@ -7,7 +7,7 @@ }; proc0 { - compatible = "ibm,power9-proc", "ibm,processor"; + compatible = "ibm,power-proc", "ibm,power9-proc"; index = < 0x00 >; fsi { @@ -1723,7 +1723,7 @@ }; proc1 { - compatible = "ibm,power9-proc", "ibm,processor"; + compatible = "ibm,power-proc", "ibm,power9-proc"; index = < 0x01 >; fsi { From patchwork Tue Apr 21 04:16:45 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amitay Isaacs X-Patchwork-Id: 1273925 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.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495qzv0Hmyz9sSK for ; Tue, 21 Apr 2020 14:18:03 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=ozlabs.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=lGwm/kBI; 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 495qzt5Y6KzDr28 for ; Tue, 21 Apr 2020 14:18:02 +1000 (AEST) X-Original-To: pdbg@lists.ozlabs.org Delivered-To: pdbg@lists.ozlabs.org Received: from ozlabs.org (bilbo.ozlabs.org [IPv6:2401:3900:2:1::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 495qz263RHzDqsy for ; Tue, 21 Apr 2020 14:17:18 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=ozlabs.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=lGwm/kBI; dkim-atps=neutral Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 495qz22hZbz9sSW; Tue, 21 Apr 2020 14:17:18 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; t=1587442638; bh=ZET1rPbxMH6E7Nemt1nbBl1xm5gkSBVtaI7InO9ArPA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lGwm/kBIz2tznOWfcQD0FyhW2876vd0GnHUovwQC4926fXXAmOUbnfiMSzBmcLw2O Vx51W2KlPKHG3eHU22LAXYwCTnfp+Vtrb5VMqpt1ozrzgZtyVu1GTnIl0FSMqHlUOo vw0e+KsI+aazVZWHAfwn3EpTYV4h3pT27B3h86fZ6egT8lkDKhiI4c2ir/xC+HskOl UJ6yC7PPKO/t6UXogdggTGpU3Aewpl+6hwaLtF0HDJjJUaGMPlIgA5gSkn7KNWJvZd 7chBSmUBXLsOIphOVNhJ7KQv6ZHQ+yO5siEqmBVollqzXquZmbYBvKbkS5Lxnn2/zN axr3xobGLNCiA== From: Amitay Isaacs To: pdbg@lists.ozlabs.org Date: Tue, 21 Apr 2020 14:16:45 +1000 Message-Id: <20200421041655.82856-10-amitay@ozlabs.org> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421041655.82856-1-amitay@ozlabs.org> References: <20200421041655.82856-1-amitay@ozlabs.org> MIME-Version: 1.0 Subject: [Pdbg] [PATCH v4 09/19] dts: Add a generic compatible string for core and thread X-BeenThere: pdbg@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "mailing list for https://github.com/open-power/pdbg development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Amitay Isaacs Errors-To: pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Pdbg" This allows different drivers to be loaded automatically depending on the specified backend. Signed-off-by: Amitay Isaacs Reviewed-by: Alistair Popple --- p9.dts | 480 ++++++++++++++++++++++++++++----------------------------- 1 file changed, 240 insertions(+), 240 deletions(-) diff --git a/p9.dts b/p9.dts index 6620b54..1e99937 100644 --- a/p9.dts +++ b/p9.dts @@ -379,33 +379,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x00 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -423,33 +423,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x01 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -475,33 +475,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x02 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -519,33 +519,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x03 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -587,33 +587,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x04 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -631,33 +631,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x05 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -683,33 +683,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x06 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -727,33 +727,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x07 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -795,33 +795,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x08 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -839,33 +839,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x09 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -891,33 +891,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x0a >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -935,33 +935,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x0b >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -1003,33 +1003,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x0c >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -1047,33 +1047,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x0d >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -1099,33 +1099,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x0e >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -1143,33 +1143,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x0f >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -1211,33 +1211,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x10 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -1255,33 +1255,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x11 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -1307,33 +1307,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x12 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -1351,33 +1351,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x13 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -1419,33 +1419,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x14 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -1463,33 +1463,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x15 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -1515,33 +1515,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x16 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -1559,33 +1559,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x17 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -2095,33 +2095,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x00 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -2139,33 +2139,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x01 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -2191,33 +2191,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x02 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -2235,33 +2235,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x03 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -2303,33 +2303,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x04 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -2347,33 +2347,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x05 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -2399,33 +2399,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x06 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -2443,33 +2443,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x07 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -2511,33 +2511,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x08 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -2555,33 +2555,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x09 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -2607,33 +2607,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x0a >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -2651,33 +2651,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x0b >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -2719,33 +2719,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x0c >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -2763,33 +2763,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x0d >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -2815,33 +2815,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x0e >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -2859,33 +2859,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x0f >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -2927,33 +2927,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x10 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -2971,33 +2971,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x11 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -3023,33 +3023,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x12 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -3067,33 +3067,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x13 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -3135,33 +3135,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x14 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -3179,33 +3179,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x15 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -3231,33 +3231,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x16 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; @@ -3275,33 +3275,33 @@ core@0 { #address-cells = < 0x01 >; #size-cells = < 0x00 >; - compatible = "ibm,power9-core"; + compatible = "ibm,power-core", "ibm,power9-core"; index = < 0x17 >; reg = < 0x00 0x00 0xfffff >; thread@0 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x00 >; index = < 0x00 >; }; thread@1 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x01 >; index = < 0x01 >; }; thread@2 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x02 >; index = < 0x02 >; }; thread@3 { - compatible = "ibm,power9-thread"; + compatible = "ibm,power-thread", "ibm,power9-thread"; reg = < 0x00 >; tid = < 0x03 >; index = < 0x03 >; From patchwork Tue Apr 21 04:16:46 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amitay Isaacs X-Patchwork-Id: 1273926 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.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495qzx5hP3z9sSK for ; Tue, 21 Apr 2020 14:18:05 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=ozlabs.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=W8N/EwuI; 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 495qzx36CkzDqt0 for ; Tue, 21 Apr 2020 14:18:05 +1000 (AEST) X-Original-To: pdbg@lists.ozlabs.org Delivered-To: pdbg@lists.ozlabs.org Received: from ozlabs.org (bilbo.ozlabs.org [IPv6:2401:3900:2:1::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 495qz329KnzDqsy for ; Tue, 21 Apr 2020 14:17:19 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=ozlabs.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=W8N/EwuI; dkim-atps=neutral Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 495qz26TP9z9sSK; Tue, 21 Apr 2020 14:17:18 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; t=1587442639; bh=ChgZS8OxPUscxtPoAcOLGGyi/vRlq8k4TUEpll5AjTM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=W8N/EwuIJEw+3MwpXXqxUDfK+kJp8sBcfN7/xy3ZlgqSQq8BzBA5rVW9BVppN+fTx ++thwFpI4zYVs0PESHs+5qHOGW7MgGN1L0MusQzQRbNkJFJ5xDx2NXmuAGRF7TINHR Y3yf2A/fdA43jQ73OpC3zn4miabRCR/cBrlZI2S+XgrGM/bsondw9F+jLf7dzNuvQT 5K6Xfx9DU+1qf7Op2K0h0FfUZS4vzGpverct7OqP6uvQa+3uKlVXLQXVlk+Pp5JENd R0eK6JP7WfBZQbMyV+FtmGvgYzS5WQNP9o9TN4tIKUS2L7rkRD3thv6VAYXtM1oFjp a0XcAIikiGobA== From: Amitay Isaacs To: pdbg@lists.ozlabs.org Date: Tue, 21 Apr 2020 14:16:46 +1000 Message-Id: <20200421041655.82856-11-amitay@ozlabs.org> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421041655.82856-1-amitay@ozlabs.org> References: <20200421041655.82856-1-amitay@ozlabs.org> MIME-Version: 1.0 Subject: [Pdbg] [PATCH v4 10/19] libpdbg: Add sbefifo backend X-BeenThere: pdbg@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "mailing list for https://github.com/open-power/pdbg development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Amitay Isaacs Errors-To: pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Pdbg" Signed-off-by: Amitay Isaacs Reviewed-by: Alistair Popple --- libpdbg/libpdbg.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libpdbg/libpdbg.h b/libpdbg/libpdbg.h index 1c974f5..bdc6cea 100644 --- a/libpdbg/libpdbg.h +++ b/libpdbg/libpdbg.h @@ -142,7 +142,6 @@ enum pdbg_target_status { PDBG_TARGET_RELEASED, }; - /** * @brief Describes the various methods (referred to as backends) for * accessing hardware depending on where the code is executed. @@ -197,6 +196,12 @@ enum pdbg_backend { * the BMC network address / hostname. For example p9@spoon2-bmc. */ PDBG_BACKEND_CRONUS, + + /** + * This backend uses sbefifo kernel driver on BMC to access hardware + * via SBE. + */ + PDBG_BACKEND_SBEFIFO, }; /** From patchwork Tue Apr 21 04:16:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amitay Isaacs X-Patchwork-Id: 1273927 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495r003zFWz9sSK for ; Tue, 21 Apr 2020 14:18:08 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=ozlabs.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=GIYnUeG6; 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 495r001lk0zDqtQ for ; Tue, 21 Apr 2020 14:18:08 +1000 (AEST) X-Original-To: pdbg@lists.ozlabs.org Delivered-To: pdbg@lists.ozlabs.org Received: from ozlabs.org (bilbo.ozlabs.org [IPv6:2401:3900:2:1::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 495qz35Qz6zDqsy for ; Tue, 21 Apr 2020 14:17:19 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=ozlabs.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=GIYnUeG6; dkim-atps=neutral Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 495qz32rxtz9sSM; Tue, 21 Apr 2020 14:17:19 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; t=1587442639; bh=CZZi2TDdnCY0pttNbGsflqta/KicFApZGP+FQ5B3LmA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GIYnUeG6vZvHwgEXvD6/p69B92gA8JCxVVQy5RhytYnmmYrluZ84GxrsTVYQ1IG+v iqzU2uq0Yc3S0zq7GHOLfCcdgyjfA4rKGrCuV6mSsZEc7t/Zt62f0RwpZD+BsD1lT3 uS2R/lahF8jSvQYmix3U5ii8zLiVZGR42i/jsFmHpXJKFeibbAohzjYFraFHAlyb2p v2QwdZCicDHw0/LGPx5qYK8+xRo1HVYMUHKrzxGMI1lkPsTykOmHICD/TI+istQUri zyCgj9zmGxbQNekfeDGFAfLwX8ETOs3USofmPw8q73tyhbeASZ5Mv/4x8L80FO2b6j FJ90w9/ryqkow== From: Amitay Isaacs To: pdbg@lists.ozlabs.org Date: Tue, 21 Apr 2020 14:16:47 +1000 Message-Id: <20200421041655.82856-12-amitay@ozlabs.org> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421041655.82856-1-amitay@ozlabs.org> References: <20200421041655.82856-1-amitay@ozlabs.org> MIME-Version: 1.0 Subject: [Pdbg] [PATCH v4 11/19] libpdbg: Add pib driver using sbefifo X-BeenThere: pdbg@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "mailing list for https://github.com/open-power/pdbg development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Amitay Isaacs Errors-To: pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Pdbg" Signed-off-by: Amitay Isaacs Reviewed-by: Alistair Popple --- libpdbg/sbefifo.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/libpdbg/sbefifo.c b/libpdbg/sbefifo.c index 22f11f1..ca3a43d 100644 --- a/libpdbg/sbefifo.c +++ b/libpdbg/sbefifo.c @@ -237,6 +237,40 @@ static int sbefifo_op_thread_sreset(struct chipop *chipop, return sbefifo_op_control(chipop, core_id, thread_id, SBEFIFO_INSN_OP_SRESET); } +static struct sbefifo *pib_to_sbefifo(struct pdbg_target *pib) +{ + struct pdbg_target *target; + struct sbefifo *sbefifo = NULL; + + pdbg_for_each_class_target("sbefifo", target) { + if (pdbg_target_index(target) == pdbg_target_index(pib)) { + sbefifo = target_to_sbefifo(target); + break; + } + } + + if (sbefifo == NULL) + assert(sbefifo); + + return sbefifo; +} + +static int sbefifo_pib_read(struct pib *pib, uint64_t addr, uint64_t *val) +{ + struct sbefifo *sbefifo = pib_to_sbefifo(&pib->target); + struct sbefifo_context *sctx = sbefifo->get_sbefifo_context(sbefifo); + + return sbefifo_scom_get(sctx, addr, val); +} + +static int sbefifo_pib_write(struct pib *pib, uint64_t addr, uint64_t val) +{ + struct sbefifo *sbefifo = pib_to_sbefifo(&pib->target); + struct sbefifo_context *sctx = sbefifo->get_sbefifo_context(sbefifo); + + return sbefifo_scom_put(sctx, addr, val); +} + static struct sbefifo_context *sbefifo_op_get_context(struct sbefifo *sbefifo) { return sbefifo->sf_ctx; @@ -306,6 +340,18 @@ static struct chipop sbefifo_chipop = { }; DECLARE_HW_UNIT(sbefifo_chipop); +static struct pib sbefifo_pib = { + .target = { + .name = "SBE FIFO Chip-op based PIB", + .compatible = "ibm,sbefifo-pib", + .class = "pib", + }, + .read = sbefifo_pib_read, + .write = sbefifo_pib_write, + .fd = -1, +}; +DECLARE_HW_UNIT(sbefifo_pib); + static struct sbefifo kernel_sbefifo = { .target = { .name = "Kernel based FSI SBE FIFO", @@ -323,6 +369,7 @@ static void register_sbefifo(void) { pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &kernel_sbefifo_hw_unit); pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &sbefifo_chipop_hw_unit); + pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &sbefifo_pib_hw_unit); pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &sbefifo_mem_hw_unit); pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &sbefifo_pba_hw_unit); } From patchwork Tue Apr 21 04:16:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amitay Isaacs X-Patchwork-Id: 1273928 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.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495r0365D0z9sSK for ; Tue, 21 Apr 2020 14:18:11 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=ozlabs.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=AP50HKTr; 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 495r033RRYzDr1x for ; Tue, 21 Apr 2020 14:18:11 +1000 (AEST) X-Original-To: pdbg@lists.ozlabs.org Delivered-To: pdbg@lists.ozlabs.org Received: from ozlabs.org (bilbo.ozlabs.org [203.11.71.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 495qz41Pt5zDqsy for ; Tue, 21 Apr 2020 14:17:20 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=ozlabs.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=AP50HKTr; dkim-atps=neutral Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 495qz360L5z9sSW; Tue, 21 Apr 2020 14:17:19 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; t=1587442639; bh=/Ph8VM8tebra/fudK7flrC3PBrgosahhkEQqQatBnjc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=AP50HKTrXW6mGiDE1UA6AfCZRDX7ZSpSMqh3TvqGzZma359IXTAEmmlh4co3KOlNX n46FeJGvIAJFD7K5ledxCcV643Qhmbw7by7TMyjS6wP6imIap5D/SgSdmdByoWHlcG pHKsqzSZ1cUr72GppL1h7ZuSSBXKzVOkp4Idc2+mzi6g1AAiZ9P4F1xEHe/cF+eHDO 2O9ponF5qMECLQ0Pr0PhN6JnGiBaaynYO5fAjRruADXYyPGlp7Af8N+oCz6/jylcGN Cu+Ykf04NIMAgnKY23d4QK9mKBHRKjqd3kSlApnBCyKmDzLg2j+mTT8y3mTN+cZcyo 5uUt0Ef2fBKNA== From: Amitay Isaacs To: pdbg@lists.ozlabs.org Date: Tue, 21 Apr 2020 14:16:48 +1000 Message-Id: <20200421041655.82856-13-amitay@ozlabs.org> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421041655.82856-1-amitay@ozlabs.org> References: <20200421041655.82856-1-amitay@ozlabs.org> MIME-Version: 1.0 Subject: [Pdbg] [PATCH v4 12/19] libpdbg: Add thread driver using sbefifo X-BeenThere: pdbg@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "mailing list for https://github.com/open-power/pdbg development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Amitay Isaacs Errors-To: pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Pdbg" Signed-off-by: Amitay Isaacs Reviewed-by: Alistair Popple --- libpdbg/sbefifo.c | 77 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/libpdbg/sbefifo.c b/libpdbg/sbefifo.c index ca3a43d..eeb8d5c 100644 --- a/libpdbg/sbefifo.c +++ b/libpdbg/sbefifo.c @@ -271,6 +271,67 @@ static int sbefifo_pib_write(struct pib *pib, uint64_t addr, uint64_t val) return sbefifo_scom_put(sctx, addr, val); } +static int sbefifo_thread_probe(struct pdbg_target *target) +{ + struct thread *thread = target_to_thread(target); + uint32_t tid; + + assert(!pdbg_target_u32_property(target, "tid", &tid)); + thread->id = tid; + + return 0; +} + +static void sbefifo_thread_release(struct pdbg_target *target) +{ +} + +static int sbefifo_thread_op(struct thread *thread, uint32_t oper) +{ + struct pdbg_target *chiplet = + pdbg_target_require_parent("chiplet", &thread->target); + struct pdbg_target *pib = pdbg_target_require_parent("pib", chiplet); + struct sbefifo *sbefifo = pib_to_sbefifo(pib); + struct sbefifo_context *sctx = sbefifo->get_sbefifo_context(sbefifo); + uint8_t mode = 0; + + /* Enforce special-wakeup for thread stop and sreset */ + if ((oper & 0xf) == SBEFIFO_INSN_OP_STOP || + (oper & 0xf) == SBEFIFO_INSN_OP_SRESET) + mode = 0x2; + + /* This chip-op requires core-id as pervasive (chiplet) id */ + return sbefifo_control_insn(sctx, + pdbg_target_index(chiplet), + thread->id, + oper, + mode); +} +static int sbefifo_thread_start(struct thread *thread) +{ + return sbefifo_thread_op(thread, SBEFIFO_INSN_OP_START); +} + +static int sbefifo_thread_stop(struct thread *thread) +{ + return sbefifo_thread_op(thread, SBEFIFO_INSN_OP_STOP); +} + +static int sbefifo_thread_step(struct thread *thread, int count) +{ + int i, rc = 0; + + for (i = 0; i < count; i++) + rc |= sbefifo_thread_op(thread, SBEFIFO_INSN_OP_STEP); + + return rc; +} + +static int sbefifo_thread_sreset(struct thread *thread) +{ + return sbefifo_thread_op(thread, SBEFIFO_INSN_OP_SRESET); +} + static struct sbefifo_context *sbefifo_op_get_context(struct sbefifo *sbefifo) { return sbefifo->sf_ctx; @@ -352,6 +413,21 @@ static struct pib sbefifo_pib = { }; DECLARE_HW_UNIT(sbefifo_pib); +static struct thread sbefifo_thread = { + .target = { + .name = "SBE FFIO Chip-op based Thread", + .compatible = "ibm,power-thread", + .class = "thread", + .probe = sbefifo_thread_probe, + .release = sbefifo_thread_release, + }, + .start = sbefifo_thread_start, + .stop = sbefifo_thread_stop, + .step = sbefifo_thread_step, + .sreset = sbefifo_thread_sreset, +}; +DECLARE_HW_UNIT(sbefifo_thread); + static struct sbefifo kernel_sbefifo = { .target = { .name = "Kernel based FSI SBE FIFO", @@ -370,6 +446,7 @@ static void register_sbefifo(void) pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &kernel_sbefifo_hw_unit); pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &sbefifo_chipop_hw_unit); pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &sbefifo_pib_hw_unit); + pdbg_hwunit_register(PDBG_BACKEND_SBEFIFO, &sbefifo_thread_hw_unit); pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &sbefifo_mem_hw_unit); pdbg_hwunit_register(PDBG_DEFAULT_BACKEND, &sbefifo_pba_hw_unit); } From patchwork Tue Apr 21 04:16:49 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amitay Isaacs X-Patchwork-Id: 1273929 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.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495r075jVvz9sSM for ; Tue, 21 Apr 2020 14:18:15 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=ozlabs.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=Zo4qYhY+; 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 495r072y5xzDqt0 for ; Tue, 21 Apr 2020 14:18:15 +1000 (AEST) X-Original-To: pdbg@lists.ozlabs.org Delivered-To: pdbg@lists.ozlabs.org Received: from ozlabs.org (bilbo.ozlabs.org [203.11.71.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 495qz44K5pzDqsy for ; Tue, 21 Apr 2020 14:17:20 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=ozlabs.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=Zo4qYhY+; dkim-atps=neutral Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 495qz41pqHz9sSK; Tue, 21 Apr 2020 14:17:20 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; t=1587442640; bh=RO2xHBeVucXzzwiyQg1bobvu1JSZLkhSAEKnscit5tc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Zo4qYhY+WTYZCq8OuSr59wkBfcWWjER0ikR5Aeq6L9njHpW/iLUCObV1PsHB4Tt4I h7DkHfIV5ju5EFQGngF/QMy04U/nwLBCFGmMxLneJnh7pTm3V1HUB/80Qo+pm1pEe5 ZPoz/rpx1LUmBBMH1S4IuXNEYJG4hvpbh3vLtHllown2YgIYg1z2f5o3VweH1QgnYJ jTOWqzhZuKC5PvzYl+6ne5lVvkpRcGywfOaka4ipLirww8qIqvUBe5u7ZzOC9n3yp8 uwtZiKNLdDl2ORr69M9OhZIyNQTZANBVNg8HiFJ6FS50mEiAAxGiZfF6mLhpqayH+h TJuk1CZTWD7nw== From: Amitay Isaacs To: pdbg@lists.ozlabs.org Date: Tue, 21 Apr 2020 14:16:49 +1000 Message-Id: <20200421041655.82856-14-amitay@ozlabs.org> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421041655.82856-1-amitay@ozlabs.org> References: <20200421041655.82856-1-amitay@ozlabs.org> MIME-Version: 1.0 Subject: [Pdbg] [PATCH v4 13/19] libpdbg: Add all thread procedures to pib target X-BeenThere: pdbg@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "mailing list for https://github.com/open-power/pdbg development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Amitay Isaacs Errors-To: pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Pdbg" Signed-off-by: Amitay Isaacs Reviewed-by: Alistair Popple --- libpdbg/hwunit.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libpdbg/hwunit.h b/libpdbg/hwunit.h index dd41da7..f5a7dff 100644 --- a/libpdbg/hwunit.h +++ b/libpdbg/hwunit.h @@ -94,6 +94,10 @@ struct pib { struct pdbg_target target; int (*read)(struct pib *, uint64_t, uint64_t *); int (*write)(struct pib *, uint64_t, uint64_t); + int (*thread_start_all)(struct pib *); + int (*thread_stop_all)(struct pib *); + int (*thread_step_all)(struct pib *, int); + int (*thread_sreset_all)(struct pib *); void *priv; int fd; }; From patchwork Tue Apr 21 04:16:50 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amitay Isaacs X-Patchwork-Id: 1273930 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495r0B6xqcz9sSM for ; Tue, 21 Apr 2020 14:18:18 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=ozlabs.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=FWMopg+7; 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 495r0B5sJgzDr2g for ; Tue, 21 Apr 2020 14:18:18 +1000 (AEST) X-Original-To: pdbg@lists.ozlabs.org Delivered-To: pdbg@lists.ozlabs.org Received: from ozlabs.org (bilbo.ozlabs.org [203.11.71.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 495qz51LgMzDqsy for ; Tue, 21 Apr 2020 14:17:21 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=ozlabs.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=FWMopg+7; dkim-atps=neutral Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 495qz44jTzz9sSM; Tue, 21 Apr 2020 14:17:20 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; t=1587442640; bh=840EylQy4MpPRwMlmNOw9/zIWCIWyd4QJGnBzz/iCBM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FWMopg+7TRsY5FqFF9KfbQXteqLq7Ej1A6y2Bi2TgA6qHFx5Va7seS0nUIJ8P5Ir9 wdz/SUTMDcXHXBGWV6Xp9FcDZ3ubHkEtguT6hvJxEgSGJTcl57lKvXNLi1hvMFkc+K rdKY0IUM5Z94AtBmszZsFFWtst8t+iRdYZad8wco0jVpj4RxIq7dJcBqlVqJ2SfeS8 6+kH2na7d5kMBdBwjegQaEnKC5VOVDcLGDPi4ptUcLHB2CceEOCUaaSd3pdjbEUJq4 cK6O6+ZecKp9/adTNbcsIexCK/69wJzggNsqPvhFBBOVDqEUs5z0oGzatsWKk7NzLe BL/3jRwJqAXzA== From: Amitay Isaacs To: pdbg@lists.ozlabs.org Date: Tue, 21 Apr 2020 14:16:50 +1000 Message-Id: <20200421041655.82856-15-amitay@ozlabs.org> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421041655.82856-1-amitay@ozlabs.org> References: <20200421041655.82856-1-amitay@ozlabs.org> MIME-Version: 1.0 Subject: [Pdbg] [PATCH v4 14/19] libpdbg: Implement all thread procedures using sbefifo X-BeenThere: pdbg@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "mailing list for https://github.com/open-power/pdbg development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Amitay Isaacs Errors-To: pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Pdbg" Signed-off-by: Amitay Isaacs Reviewed-by: Alistair Popple --- libpdbg/sbefifo.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/libpdbg/sbefifo.c b/libpdbg/sbefifo.c index eeb8d5c..935a891 100644 --- a/libpdbg/sbefifo.c +++ b/libpdbg/sbefifo.c @@ -271,6 +271,53 @@ static int sbefifo_pib_write(struct pib *pib, uint64_t addr, uint64_t val) return sbefifo_scom_put(sctx, addr, val); } +static int sbefifo_pib_thread_op(struct pib *pib, uint32_t oper) +{ + struct sbefifo *sbefifo = target_to_sbefifo(pib->target.parent); + struct sbefifo_context *sctx = sbefifo->get_sbefifo_context(sbefifo); + uint32_t core_id, thread_id; + uint8_t mode = 0; + + /* + * core_id = 0xff (all SMT4 cores) + * thread_id = 0xf (all 4 threads in the SMT4 core) + */ + core_id = 0xff; + thread_id = 0xf; + + /* Enforce special-wakeup for thread stop and sreset */ + if ((oper & 0xf) == SBEFIFO_INSN_OP_STOP || + (oper & 0xf) == SBEFIFO_INSN_OP_SRESET) + mode = 0x2; + + return sbefifo_control_insn(sctx, core_id, thread_id, oper, mode); +} + +static int sbefifo_pib_thread_start(struct pib *pib) +{ + return sbefifo_pib_thread_op(pib, SBEFIFO_INSN_OP_START); +} + +static int sbefifo_pib_thread_stop(struct pib *pib) +{ + return sbefifo_pib_thread_op(pib, SBEFIFO_INSN_OP_STOP); +} + +static int sbefifo_pib_thread_step(struct pib *pib, int count) +{ + int i, rc = 0; + + for (i = 0; i < count; i++) + rc |= sbefifo_pib_thread_op(pib, SBEFIFO_INSN_OP_STEP); + + return rc; +} + +static int sbefifo_pib_thread_sreset(struct pib *pib) +{ + return sbefifo_pib_thread_op(pib, SBEFIFO_INSN_OP_SRESET); +} + static int sbefifo_thread_probe(struct pdbg_target *target) { struct thread *thread = target_to_thread(target); @@ -409,6 +456,10 @@ static struct pib sbefifo_pib = { }, .read = sbefifo_pib_read, .write = sbefifo_pib_write, + .thread_start_all = sbefifo_pib_thread_start, + .thread_stop_all = sbefifo_pib_thread_stop, + .thread_step_all = sbefifo_pib_thread_step, + .thread_sreset_all = sbefifo_pib_thread_sreset, .fd = -1, }; DECLARE_HW_UNIT(sbefifo_pib); From patchwork Tue Apr 21 04:16:51 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amitay Isaacs X-Patchwork-Id: 1273931 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.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495r0G1pQGz9sSM for ; Tue, 21 Apr 2020 14:18:22 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=ozlabs.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=Bua0fg8p; 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 495r0G0lgpzDr2c for ; Tue, 21 Apr 2020 14:18:22 +1000 (AEST) X-Original-To: pdbg@lists.ozlabs.org Delivered-To: pdbg@lists.ozlabs.org Received: from ozlabs.org (bilbo.ozlabs.org [IPv6:2401:3900:2:1::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 495qz547kGzDqsy for ; Tue, 21 Apr 2020 14:17:21 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=ozlabs.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=Bua0fg8p; dkim-atps=neutral Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 495qz51mL8z9sSK; Tue, 21 Apr 2020 14:17:21 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; t=1587442641; bh=1OuuzSNxyiCDwp4quHdalYgMAdvBDTrSa8IzeMGXzvc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Bua0fg8p5aYpDgcFbh3m6sWzQ0TxBR5S/0Yeh91/HdS2gTKShXvbWnxP/mjMt3SoH opg7Jrkc1mnWu95N3jtbpkZ4BnV0LiM8EkM45QXwFIMsu9fLkhxesRx+dEkLBci3u8 xApxDrgEEGTBTPllt0BTvPaJ1s1uJEzuzX8L3uKZlPI9R88J6Tc+y+/IasBDqRZ8bZ ZFWfe8S7hTGcT7Nj7VDJZWCktfUPQfW1nGeuHOykckPtSGbhPeBOXi3Wt7mIndqsBj f3meUcVpNV3HFiQxYR//wJA3ohWZN8tKg20u6fDzBXJ5mkFH26CUXP6ysMd62DOeI8 7H6zOfOSRKFWw== From: Amitay Isaacs To: pdbg@lists.ozlabs.org Date: Tue, 21 Apr 2020 14:16:51 +1000 Message-Id: <20200421041655.82856-16-amitay@ozlabs.org> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421041655.82856-1-amitay@ozlabs.org> References: <20200421041655.82856-1-amitay@ozlabs.org> MIME-Version: 1.0 Subject: [Pdbg] [PATCH v4 15/19] libpdbg: Remove special case thread procedures using sbefifo X-BeenThere: pdbg@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "mailing list for https://github.com/open-power/pdbg development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Amitay Isaacs Errors-To: pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Pdbg" Always check if the all thread procedures are provided by pib. If not, use individual thread operations. Signed-off-by: Amitay Isaacs Reviewed-by: Alistair Popple --- libpdbg/chip.c | 60 +++++++++++++++++--------------------------------- 1 file changed, 20 insertions(+), 40 deletions(-) diff --git a/libpdbg/chip.c b/libpdbg/chip.c index 848a831..86e91bd 100644 --- a/libpdbg/chip.c +++ b/libpdbg/chip.c @@ -156,21 +156,16 @@ int thread_sreset(struct pdbg_target *thread_target) int thread_step_all(void) { - struct pdbg_target *pib, *thread; + struct pdbg_target *target, *thread; int rc = 0, count = 0; - pdbg_for_each_class_target("pib", pib) { - struct chipop *chipop; + pdbg_for_each_class_target("pib", target) { + struct pib *pib = target_to_pib(target); - chipop = pib_to_chipop(pib); - if (!chipop) + if (!pib->thread_step_all) break; - /* - * core_id = 0xff (all SMT4 cores) - * thread_id = 0xf (all 4 threads in the SMT4 core) - */ - rc |= chipop->thread_step(chipop, 0xff, 0xf); + rc |= pib->thread_step_all(pib, 1); count++; } @@ -189,21 +184,16 @@ int thread_step_all(void) int thread_start_all(void) { - struct pdbg_target *pib, *thread; + struct pdbg_target *target, *thread; int rc = 0, count = 0; - pdbg_for_each_class_target("pib", pib) { - struct chipop *chipop; + pdbg_for_each_class_target("pib", target) { + struct pib *pib = target_to_pib(target); - chipop = pib_to_chipop(pib); - if (!chipop) + if (!pib->thread_start_all) break; - /* - * core_id = 0xff (all SMT4 cores) - * thread_id = 0xf (all 4 threads in the SMT4 core) - */ - rc |= chipop->thread_start(chipop, 0xff, 0xf); + rc |= pib->thread_start_all(pib); count++; } @@ -222,21 +212,16 @@ int thread_start_all(void) int thread_stop_all(void) { - struct pdbg_target *pib, *thread; + struct pdbg_target *target, *thread; int rc = 0, count = 0; - pdbg_for_each_class_target("pib", pib) { - struct chipop *chipop; + pdbg_for_each_class_target("pib", target) { + struct pib *pib = target_to_pib(target); - chipop = pib_to_chipop(pib); - if (!chipop) + if (!pib->thread_stop_all) break; - /* - * core_id = 0xff (all SMT4 cores) - * thread_id = 0xf (all 4 threads in the SMT4 core) - */ - rc |= chipop->thread_stop(chipop, 0xff, 0xf); + rc |= pib->thread_stop_all(pib); count++; } @@ -255,21 +240,16 @@ int thread_stop_all(void) int thread_sreset_all(void) { - struct pdbg_target *pib, *thread; + struct pdbg_target *target, *thread; int rc = 0, count = 0; - pdbg_for_each_class_target("pib", pib) { - struct chipop *chipop; + pdbg_for_each_class_target("pib", target) { + struct pib *pib = target_to_pib(target); - chipop = pib_to_chipop(pib); - if (!chipop) + if (!pib->thread_sreset_all) break; - /* - * core_id = 0xff (all SMT4 cores) - * thread_id = 0xf (all 4 threads in the SMT4 core) - */ - rc |= chipop->thread_sreset(chipop, 0xff, 0xf); + rc |= pib->thread_sreset_all(pib); count++; } From patchwork Tue Apr 21 04:16:52 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amitay Isaacs X-Patchwork-Id: 1273932 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495r0K43ZJz9sSM for ; Tue, 21 Apr 2020 14:18:25 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=ozlabs.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=bWONboPF; 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 495r0J64XrzDr1x for ; Tue, 21 Apr 2020 14:18:24 +1000 (AEST) X-Original-To: pdbg@lists.ozlabs.org Delivered-To: pdbg@lists.ozlabs.org Received: from ozlabs.org (bilbo.ozlabs.org [IPv6:2401:3900:2:1::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 495qz608RFzDqt0 for ; Tue, 21 Apr 2020 14:17:22 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=ozlabs.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=bWONboPF; dkim-atps=neutral Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 495qz54XYxz9sSW; Tue, 21 Apr 2020 14:17:21 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; t=1587442641; bh=oBWlgTg6r3T576wW8289HfOyWurUY7VJHVlxYMT2/9o=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bWONboPFuvLjlbRX0Tk+ORH8tX1aZ/KOO9KrpFs0yYVeAnQ4edcfgrEg7hUrWcHbB qLqaCRUL6BcqbwnTOWMqTRjjZ81+BzWgqwGucP1L/FC8neY7zw4Fjh7OYMFGc2JXQt SoHxEL/uWwZ7jW+6EqoGXP1DZBnXvCqvry5VmQ+tPvnxQrUbq2Ybb4LdaaT8s8vITj W79tJkdVEkyhk2NcUTji48dG6We0E+WoRUcstvFXvUZsuHPxMfsnNQUyMsMu0brFsh Z03TRE+6A5VgFwkroqey3HfwlPJBoW+iIl38A0tVTXKAbO/6zaDo2gh7Gd55V2Kmvt PKd6PVmVK2+9w== From: Amitay Isaacs To: pdbg@lists.ozlabs.org Date: Tue, 21 Apr 2020 14:16:52 +1000 Message-Id: <20200421041655.82856-17-amitay@ozlabs.org> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421041655.82856-1-amitay@ozlabs.org> References: <20200421041655.82856-1-amitay@ozlabs.org> MIME-Version: 1.0 Subject: [Pdbg] [PATCH v4 16/19] libpdbg: Drop thread procedures from chipop target X-BeenThere: pdbg@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "mailing list for https://github.com/open-power/pdbg development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Amitay Isaacs Errors-To: pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Pdbg" Signed-off-by: Amitay Isaacs Reviewed-by: Alistair Popple --- libpdbg/hwunit.h | 4 ---- libpdbg/sbefifo.c | 46 ---------------------------------------------- 2 files changed, 50 deletions(-) diff --git a/libpdbg/hwunit.h b/libpdbg/hwunit.h index f5a7dff..c30c048 100644 --- a/libpdbg/hwunit.h +++ b/libpdbg/hwunit.h @@ -76,10 +76,6 @@ struct chipop { int (*istep)(struct chipop *, uint32_t major, uint32_t minor); int (*mpipl_enter)(struct chipop *); int (*mpipl_continue)(struct chipop *); - int (*thread_start)(struct chipop *, uint32_t core_id, uint32_t thread_id); - int (*thread_stop)(struct chipop *, uint32_t core_id, uint32_t thread_id); - int (*thread_step)(struct chipop *, uint32_t core_id, uint32_t thread_id); - int (*thread_sreset)(struct chipop *, uint32_t core_id, uint32_t thread_id); }; #define target_to_chipop(x) container_of(x, struct chipop, target) diff --git a/libpdbg/sbefifo.c b/libpdbg/sbefifo.c index 935a891..3b2a786 100644 --- a/libpdbg/sbefifo.c +++ b/libpdbg/sbefifo.c @@ -195,48 +195,6 @@ static int sbefifo_op_mpipl_enter(struct chipop *chipop) return sbefifo_mpipl_enter(sctx); } -static int sbefifo_op_control(struct chipop *chipop, - uint32_t core_id, uint32_t thread_id, - uint32_t oper) -{ - struct sbefifo *sbefifo = target_to_sbefifo(chipop->target.parent); - struct sbefifo_context *sctx = sbefifo->get_sbefifo_context(sbefifo); - uint8_t mode = 0; - - /* Enforce special-wakeup for thread stop and sreset */ - if ((oper & 0xf) == SBEFIFO_INSN_OP_STOP || - (oper & 0xf) == SBEFIFO_INSN_OP_SRESET) - mode = 0x2; - - PR_NOTICE("sbefifo: control c:0x%x, t:0x%x, op:%u mode:%u\n", core_id, thread_id, oper, mode); - - return sbefifo_control_insn(sctx, core_id & 0xff, thread_id & 0xff, oper & 0xff, mode); -} - -static int sbefifo_op_thread_start(struct chipop *chipop, - uint32_t core_id, uint32_t thread_id) -{ - return sbefifo_op_control(chipop, core_id, thread_id, SBEFIFO_INSN_OP_START); -} - -static int sbefifo_op_thread_stop(struct chipop *chipop, - uint32_t core_id, uint32_t thread_id) -{ - return sbefifo_op_control(chipop, core_id, thread_id, SBEFIFO_INSN_OP_STOP); -} - -static int sbefifo_op_thread_step(struct chipop *chipop, - uint32_t core_id, uint32_t thread_id) -{ - return sbefifo_op_control(chipop, core_id, thread_id, SBEFIFO_INSN_OP_STEP); -} - -static int sbefifo_op_thread_sreset(struct chipop *chipop, - uint32_t core_id, uint32_t thread_id) -{ - return sbefifo_op_control(chipop, core_id, thread_id, SBEFIFO_INSN_OP_SRESET); -} - static struct sbefifo *pib_to_sbefifo(struct pdbg_target *pib) { struct pdbg_target *target; @@ -441,10 +399,6 @@ static struct chipop sbefifo_chipop = { .istep = sbefifo_op_istep, .mpipl_enter = sbefifo_op_mpipl_enter, .mpipl_continue = sbefifo_op_mpipl_continue, - .thread_start = sbefifo_op_thread_start, - .thread_stop = sbefifo_op_thread_stop, - .thread_step = sbefifo_op_thread_step, - .thread_sreset = sbefifo_op_thread_sreset, }; DECLARE_HW_UNIT(sbefifo_chipop); From patchwork Tue Apr 21 04:16:53 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amitay Isaacs X-Patchwork-Id: 1273933 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.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495r0Q6ZMKz9sSM for ; Tue, 21 Apr 2020 14:18:30 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=ozlabs.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=KsXGrmSY; 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 495r0Q4j8YzDr22 for ; Tue, 21 Apr 2020 14:18:30 +1000 (AEST) X-Original-To: pdbg@lists.ozlabs.org Delivered-To: pdbg@lists.ozlabs.org Received: from ozlabs.org (bilbo.ozlabs.org [IPv6:2401:3900:2:1::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 495qz62ngWzDqsy for ; Tue, 21 Apr 2020 14:17:22 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=ozlabs.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=KsXGrmSY; dkim-atps=neutral Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 495qz60Sv4z9sSM; Tue, 21 Apr 2020 14:17:22 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; t=1587442642; bh=k/fnBspKBhgY1ilqd4KmQvfiueQga6I5GVUaYdsPGUQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KsXGrmSYoYjuyha5B1vdPUvGu7VOmAJ06GDY4mufM9Zvbyw9lsgWjj5mallxqUoEI AaIm9PeKVLYIHUARffM/Hihm1txVgIjZg/bS1hvKp4ooMb6NsGQVIheGBFp9d2Pj7I 0pxEb5VjIG1VeDUvaCgvNlod+Z2jJiJoyg2WvnlMALoh8aMZ0u79AN3ecTy90xCyGn lIdVPEN+LirnyOTlMWRy0YEByzcXWA4iMib/fLXiK5pO/S2iRSwyBus0L3I4xFAWbh EOHh0eVVw8NxkLPkT6M5HaJaUccBLM4x/G1u9iseeus8BQzVamNBuId7iys1742+lC fkjePBw9ghiEw== From: Amitay Isaacs To: pdbg@lists.ozlabs.org Date: Tue, 21 Apr 2020 14:16:53 +1000 Message-Id: <20200421041655.82856-18-amitay@ozlabs.org> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421041655.82856-1-amitay@ozlabs.org> References: <20200421041655.82856-1-amitay@ozlabs.org> MIME-Version: 1.0 Subject: [Pdbg] [PATCH v4 17/19] dts: Add sbefifo backend device tree X-BeenThere: pdbg@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "mailing list for https://github.com/open-power/pdbg development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Amitay Isaacs Errors-To: pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Pdbg" Signed-off-by: Amitay Isaacs Reviewed-by: Alistair Popple --- Makefile.am | 1 + p9-sbefifo.dts.m4 | 86 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 p9-sbefifo.dts.m4 diff --git a/Makefile.am b/Makefile.am index 10306dc..74ad99f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -80,6 +80,7 @@ endif DT = fake.dts fake2.dts p8-cronus.dts p9-cronus.dts \ p8-fsi.dts p8-i2c.dts p8-kernel.dts \ p9w-fsi.dts p9r-fsi.dts p9z-fsi.dts p9-kernel.dts \ + p9-sbefifo.dts \ p8-host.dts p9-host.dts p8.dts DT_sources = $(DT:.dts=.dtb.S) p9.dtb.S diff --git a/p9-sbefifo.dts.m4 b/p9-sbefifo.dts.m4 new file mode 100644 index 0000000..48b3051 --- /dev/null +++ b/p9-sbefifo.dts.m4 @@ -0,0 +1,86 @@ +/dts-v1/; + +/ { + #address-cells = <0x1>; + #size-cells = <0x0>; + + fsi0: kernelfsi@0 { + #address-cells = <0x2>; + #size-cells = <0x1>; + compatible = "ibm,kernel-fsi"; + reg = <0x0 0x0 0x0>; + index = <0x0>; + status = "mustexist"; + system-path = "/proc0/fsi"; + + sbefifo@2400 { /* Bogus address */ + reg = <0x0 0x2400 0x7>; + index = <0x0>; + compatible = "ibm,kernel-sbefifo"; + device-path = "/dev/sbefifo1"; + + sbefifo-pib { + #address-cells = <0x2>; + #size-cells = <0x1>; + index = <0x0>; + compatible = "ibm,sbefifo-pib"; + system-path = "/proc0/pib"; + }; + + sbefifo-mem { + compatible = "ibm,sbefifo-mem"; + system-path = "/mem0"; + }; + + sbefifo-pba { + compatible = "ibm,sbefifo-mem-pba"; + system-path = "/mempba0"; + }; + + sbefifo-chipop { + compatible = "ibm,sbefifo-chipop"; + index = <0x0>; + }; + }; + + hmfsi@100000 { + #address-cells = <0x2>; + #size-cells = <0x1>; + compatible = "ibm,fsi-hmfsi"; + reg = <0x0 0x100000 0x8000>; + port = <0x1>; + index = <0x1>; + system-path = "/proc1/fsi"; + + sbefifo@2400 { /* Bogus address */ + reg = <0x0 0x2400 0x7>; + index = <0x1>; + compatible = "ibm,kernel-sbefifo"; + device-path = "/dev/sbefifo2"; + + sbefifo-pib { + #address-cells = <0x2>; + #size-cells = <0x1>; + index = <0x1>; + compatible = "ibm,sbefifo-pib"; + system-path = "/proc1/pib"; + }; + + sbefifo-mem { + compatible = "ibm,sbefifo-mem"; + system-path = "/mem1"; + }; + + sbefifo-pba { + compatible = "ibm,sbefifo-mem-pba"; + system-path = "/mempba1"; + }; + + sbefifo-chipop { + compatible = "ibm,sbefifo-chipop"; + index = <0x1>; + }; + }; + }; + }; +}; From patchwork Tue Apr 21 04:16:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amitay Isaacs X-Patchwork-Id: 1273934 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495r0V51jGz9sSM for ; Tue, 21 Apr 2020 14:18:34 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=ozlabs.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=GBHgZ59O; 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 495r0V1tHMzDqt0 for ; Tue, 21 Apr 2020 14:18:34 +1000 (AEST) X-Original-To: pdbg@lists.ozlabs.org Delivered-To: pdbg@lists.ozlabs.org Received: from ozlabs.org (bilbo.ozlabs.org [IPv6:2401:3900:2:1::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 495qz65z5DzDqsy for ; Tue, 21 Apr 2020 14:17:22 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=ozlabs.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=GBHgZ59O; dkim-atps=neutral Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 495qz6395fz9sSW; Tue, 21 Apr 2020 14:17:22 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; t=1587442642; bh=SSGfrhtY13xK2Cjm6UMkxVqncHRuxtKhao6XstRs4mE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GBHgZ59OUWmJeIX3vUpEOjp5EBGJBZnSgFg/I+Vu9EUKdmZF4NjiOCDhC6ADCyT9D /RZF25ucZUp0mWhkOiFVus+fDVTmbVlZ+mZxB1XclihsHmfP3gQvcqFXY6y9dNmp2Y w70zJlPnjZVcytL3eJsbPe2wRw+kvI1z5OMuawZ0IEz+GlmtLPVhShQmsylt4RbbVR xS997cYAsD9FHsYIGX2vTKpu+spJa4B97st94QrCxiul5iZ6fR/u4TLfjP5dwrpLOR A2OVQ26uJrQbuQ2jiuRAuoLJ8ee56H2VKaiAOM7daxJukFzvhFm62QPSkBBGfNi8hy DeG1Ar7Mwpk8A== From: Amitay Isaacs To: pdbg@lists.ozlabs.org Date: Tue, 21 Apr 2020 14:16:54 +1000 Message-Id: <20200421041655.82856-19-amitay@ozlabs.org> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421041655.82856-1-amitay@ozlabs.org> References: <20200421041655.82856-1-amitay@ozlabs.org> MIME-Version: 1.0 Subject: [Pdbg] [PATCH v4 18/19] libpdbg: Enable sbefifo backend X-BeenThere: pdbg@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "mailing list for https://github.com/open-power/pdbg development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Amitay Isaacs Errors-To: pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Pdbg" Signed-off-by: Amitay Isaacs Reviewed-by: Alistair Popple --- libpdbg/dtb.c | 19 +++++++++++++++++++ libpdbg/hwunit.c | 2 ++ 2 files changed, 21 insertions(+) diff --git a/libpdbg/dtb.c b/libpdbg/dtb.c index ef51718..1380ef4 100644 --- a/libpdbg/dtb.c +++ b/libpdbg/dtb.c @@ -43,6 +43,7 @@ #include "p9-host.dt.h" #include "p8-cronus.dt.h" #include "p9-cronus.dt.h" +#include "p9-sbefifo.dt.h" #include "p8.dt.h" #include "p9.dt.h" @@ -402,6 +403,24 @@ struct pdbg_dtb *pdbg_default_dtb(void *system_fdt) } break; + case PDBG_BACKEND_SBEFIFO: + if (!pdbg_backend_option) { + pdbg_log(PDBG_ERROR, "No system type specified\n"); + pdbg_log(PDBG_ERROR, "Use p9\n"); + return NULL; + } + + if (!strcmp(pdbg_backend_option, "p9")) { + if (!dtb->backend.fdt) + dtb->backend.fdt = &_binary_p9_sbefifo_dtb_o_start; + if (!dtb->system.fdt) + dtb->system.fdt = &_binary_p9_dtb_o_start; + } else { + pdbg_log(PDBG_ERROR, "Invalid system type %s\n", pdbg_backend_option); + pdbg_log(PDBG_ERROR, "Use p9\n"); + } + break; + default: pdbg_log(PDBG_WARNING, "Unable to determine a valid default backend, using fake backend for testing purposes\n"); /* Fall through */ diff --git a/libpdbg/hwunit.c b/libpdbg/hwunit.c index 3d6a05d..7b16747 100644 --- a/libpdbg/hwunit.c +++ b/libpdbg/hwunit.c @@ -90,6 +90,8 @@ static enum pdbg_backend get_backend_driver(void) backend = PDBG_BACKEND_HOST; else if (!strcmp(tmp, "cronus")) backend = PDBG_BACKEND_CRONUS; + else if (!strcmp(tmp, "sbefifo")) + backend = PDBG_BACKEND_SBEFIFO; } return backend; From patchwork Tue Apr 21 04:16:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amitay Isaacs X-Patchwork-Id: 1273935 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.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 495r0Y75Ydz9sSM for ; Tue, 21 Apr 2020 14:18:37 +1000 (AEST) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=ozlabs.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=E1ZKmz4j; 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 495r0Y5VxrzDr2N for ; Tue, 21 Apr 2020 14:18:37 +1000 (AEST) X-Original-To: pdbg@lists.ozlabs.org Delivered-To: pdbg@lists.ozlabs.org Received: from ozlabs.org (bilbo.ozlabs.org [203.11.71.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 495qz73DQczDqt0 for ; Tue, 21 Apr 2020 14:17:23 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=ozlabs.org Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=ozlabs.org header.i=@ozlabs.org header.a=rsa-sha256 header.s=201707 header.b=E1ZKmz4j; dkim-atps=neutral Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 495qz66M5Qz9sSK; Tue, 21 Apr 2020 14:17:22 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ozlabs.org; s=201707; t=1587442643; bh=2w+XB9JVB6IzTxGGfA54i88JRlZtm5ZM4EHwi+C7ibk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=E1ZKmz4jgoMZ1snAZXn7aXpHUp/hIpcYrGYkGsoTJZTxr/PAkppPjJbabYkYy/S2G GZLV+sp59nWSKqWmwVCJK9dIxJWsf151QAqWTM/kXeJGBOulykK2zOIMz23sy1wRE1 Mum8mRLd+Y5ggPtTJp2YIN3E1ZAeLNZFuluXHa0zyvHydyHmD+fAIkZWjBFC32Ue/z athDrGbh1S/1nbpJg934ypDWjjB1RoL9wId4qof01OqJEvHbJvkzX/TgQnpIJVB8aS f5aiIcJIsXFTXlcVd4ex2lA4Nl65ukwMnDpFU2G39gAYSrFzq37n2nt373S/cYWq43 sSwedNmWyZ9HQ== From: Amitay Isaacs To: pdbg@lists.ozlabs.org Date: Tue, 21 Apr 2020 14:16:55 +1000 Message-Id: <20200421041655.82856-20-amitay@ozlabs.org> X-Mailer: git-send-email 2.25.3 In-Reply-To: <20200421041655.82856-1-amitay@ozlabs.org> References: <20200421041655.82856-1-amitay@ozlabs.org> MIME-Version: 1.0 Subject: [Pdbg] [PATCH v4 19/19] main: Add sbefifo backend X-BeenThere: pdbg@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "mailing list for https://github.com/open-power/pdbg development" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Amitay Isaacs Errors-To: pdbg-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org Sender: "Pdbg" Signed-off-by: Amitay Isaacs Reviewed-by: Alistair Popple --- src/main.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main.c b/src/main.c index 785dc26..5a5616d 100644 --- a/src/main.c +++ b/src/main.c @@ -149,6 +149,7 @@ static void print_usage(void) printf("\t\tRun command on all possible processors/chips/threads (default)\n"); printf("\t-b, --backend=backend\n"); printf("\t\tcronus:\tA backend based on cronus server\n"); + printf("\t\tsbefifo:\tA backend using sbefifo kernel driver\n"); printf("\t\tfsi:\tAn experimental backend that uses\n"); printf("\t\t\tbit-banging to access the host processor\n"); printf("\t\t\tvia the FSI bus.\n"); @@ -392,6 +393,8 @@ static bool parse_options(int argc, char *argv[]) backend = PDBG_BACKEND_HOST; } else if (strcmp(optarg, "cronus") == 0) { backend = PDBG_BACKEND_CRONUS; + } else if (strcmp(optarg, "sbefifo") == 0) { + backend = PDBG_BACKEND_SBEFIFO; } else { fprintf(stderr, "Invalid backend '%s'\n", optarg); opt_error = true;