[Pdbg] [PATCH 7/8] libpdbg: Check if scom controllers are exposed

Rashmica Gupta rashmica.g at gmail.com
Fri Jun 22 14:51:15 AEST 2018


If CONFIG_SCOM_DEBUGFS is not set in the running kernel then
the scom controllers are not exposed and so using getscom
won't work. Add check for /sys/kernel/debug/powerpc/scom to
give a more useful error message.

Signed-off-by: Rashmica Gupta <rashmica.g at gmail.com>
---
 libpdbg/host.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/libpdbg/host.c b/libpdbg/host.c
index 483e048..eb627be 100644
--- a/libpdbg/host.c
+++ b/libpdbg/host.c
@@ -95,7 +95,15 @@ static int host_pib_probe(struct pdbg_target *target)
 	if (chip_id == -1)
 		goto out;
 
-	if (asprintf(&access_fn, "%s/%08x/access", XSCOM_BASE_PATH, chip_id) < 0)
+	/* This check should probably be done earlier */
+	if (access(XSCOM_BASE_PATH, F_OK) == -1)
+	{
+		PR_ERROR("Can not access %s. ", XSCOM_BASE_PATH);
+		PR_ERROR("Is CONFIG_SCOM_DEBUGFS set? ");
+		PR_ERROR("You may need to re-run the command as root.\n");
+	}
+
+	if (asprintf(&access_fn, "%s/%08d/access", XSCOM_BASE_PATH, chip_id) < 0)
 		goto out;
 
 	*fd = open(access_fn, O_RDWR);
-- 
2.14.4



More information about the Pdbg mailing list