Attn: Probe pib target to detect enabled procs

Probing the proc fsi target is not reliable for detecting enabled procs.
Probing the proc pib target seems to align correctly with enabled procs.

Signed-off-by: Ben Tyner <ben.tyner@ibm.com>
Change-Id: I5b9221c521b70f8045baad3b89f5e8b1635c40ba
diff --git a/attn/attn_handler.cpp b/attn/attn_handler.cpp
index 42bc99e..3e51f57 100644
--- a/attn/attn_handler.cpp
+++ b/attn/attn_handler.cpp
@@ -73,13 +73,31 @@
         {
             proc = pdbg_target_index(target); // get processor number
 
-            // The processor FSI target is required for CFAM read
+            // Use PIB target to determine if a processor is enabled
             char path[16];
-            sprintf(path, "/proc%d/fsi", proc);
+            sprintf(path, "/proc%d/pib", proc);
             pdbg_target* attnTarget = pdbg_target_from_path(nullptr, path);
 
+            // sanity check
+            if (nullptr == attnTarget)
+            {
+                trace<level::INFO>("pib path or target not found");
+                continue;
+            }
+
             if (PDBG_TARGET_ENABLED == pdbg_target_probe(attnTarget))
             {
+                // The processor FSI target is required for CFAM read
+                sprintf(path, "/proc%d/fsi", proc);
+                attnTarget = pdbg_target_from_path(nullptr, path);
+
+                // sanity check
+                if (nullptr == attnTarget)
+                {
+                    trace<level::INFO>("fsi path or target not found");
+                    continue;
+                }
+
                 // trace fsi path
                 ss.str(std::string()); // clear stream
                 ss << "target - " << path;