[Pdbg] [PATCH 5/8] libpdbg: Register all hw units explicitly

Amitay Isaacs amitay at ozlabs.org
Thu Jun 13 13:24:13 AEST 2019


Signed-off-by: Amitay Isaacs <amitay at ozlabs.org>
---
 libpdbg/adu.c    | 7 +++++++
 libpdbg/bmcfsi.c | 6 ++++++
 libpdbg/cfam.c   | 9 +++++++++
 libpdbg/fake.c   | 9 +++++++++
 libpdbg/host.c   | 6 ++++++
 libpdbg/htm.c    | 8 ++++++++
 libpdbg/i2c.c    | 6 ++++++
 libpdbg/kernel.c | 6 ++++++
 libpdbg/p8chip.c | 7 +++++++
 libpdbg/p9chip.c | 8 ++++++++
 libpdbg/xbus.c   | 6 ++++++
 11 files changed, 78 insertions(+)

diff --git a/libpdbg/adu.c b/libpdbg/adu.c
index 5eeb249..3904265 100644
--- a/libpdbg/adu.c
+++ b/libpdbg/adu.c
@@ -594,3 +594,10 @@ static struct adu p9_adu = {
 	.write = adu_write,
 };
 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);
+}
diff --git a/libpdbg/bmcfsi.c b/libpdbg/bmcfsi.c
index a4fb04c..1b5d2ed 100644
--- a/libpdbg/bmcfsi.c
+++ b/libpdbg/bmcfsi.c
@@ -514,3 +514,9 @@ static struct fsi bmcfsi = {
 	.write = fsi_putcfam,
 };
 DECLARE_HW_UNIT(bmcfsi);
+
+__attribute__((constructor))
+static void register_bmcfsi(void)
+{
+	pdbg_hwunit_register(&bmcfsi_hw_unit);
+}
diff --git a/libpdbg/cfam.c b/libpdbg/cfam.c
index 3f30549..54056aa 100644
--- a/libpdbg/cfam.c
+++ b/libpdbg/cfam.c
@@ -348,3 +348,12 @@ static struct fsi cfam_hmfsi = {
 	.write = cfam_hmfsi_write,
 };
 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);
+}
diff --git a/libpdbg/fake.c b/libpdbg/fake.c
index fb7ab97..81c989f 100644
--- a/libpdbg/fake.c
+++ b/libpdbg/fake.c
@@ -85,3 +85,12 @@ static struct thread fake_thread = {
 	},
 };
 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);
+}
diff --git a/libpdbg/host.c b/libpdbg/host.c
index 60ccc55..7c902af 100644
--- a/libpdbg/host.c
+++ b/libpdbg/host.c
@@ -128,3 +128,9 @@ static struct pib host_pib = {
 	.write = xscom_write,
 };
 DECLARE_HW_UNIT(host_pib);
+
+__attribute__((constructor))
+static void register_host(void)
+{
+	pdbg_hwunit_register(&host_pib_hw_unit);
+}
diff --git a/libpdbg/htm.c b/libpdbg/htm.c
index 39ab883..72fe570 100644
--- a/libpdbg/htm.c
+++ b/libpdbg/htm.c
@@ -1154,3 +1154,11 @@ static struct htm p8_chtm = {
 	.dump = do_htm_dump,
 };
 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);
+}
diff --git a/libpdbg/i2c.c b/libpdbg/i2c.c
index 48b4c95..eea045b 100644
--- a/libpdbg/i2c.c
+++ b/libpdbg/i2c.c
@@ -168,3 +168,9 @@ static struct pib p8_i2c_pib = {
 	.write = i2c_putscom,
 };
 DECLARE_HW_UNIT(p8_i2c_pib);
+
+__attribute__((constructor))
+static void register_i2c(void)
+{
+	pdbg_hwunit_register(&p8_i2c_pib_hw_unit);
+}
diff --git a/libpdbg/kernel.c b/libpdbg/kernel.c
index 956cbdc..b916bc3 100644
--- a/libpdbg/kernel.c
+++ b/libpdbg/kernel.c
@@ -144,3 +144,9 @@ static struct fsi kernel_fsi = {
 	.write = kernel_fsi_putcfam,
 };
 DECLARE_HW_UNIT(kernel_fsi);
+
+__attribute__((constructor))
+static void register_kernel(void)
+{
+	pdbg_hwunit_register(&kernel_fsi_hw_unit);
+}
diff --git a/libpdbg/p8chip.c b/libpdbg/p8chip.c
index 024a0bf..ab3c142 100644
--- a/libpdbg/p8chip.c
+++ b/libpdbg/p8chip.c
@@ -734,3 +734,10 @@ static struct core p8_core = {
 	},
 };
 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);
+}
diff --git a/libpdbg/p9chip.c b/libpdbg/p9chip.c
index f8d0ebf..2933de8 100644
--- a/libpdbg/p9chip.c
+++ b/libpdbg/p9chip.c
@@ -607,3 +607,11 @@ static struct chiplet p9_chiplet = {
 	.getring = p9_chiplet_getring,
 };
 DECLARE_HW_UNIT(p9_chiplet);
+
+__attribute__((constructor))
+static void register_p9chip(void)
+{
+	pdbg_hwunit_register(&p9_thread_hw_unit);
+	pdbg_hwunit_register(&p9_core_hw_unit);
+	pdbg_hwunit_register(&p9_chiplet_hw_unit);
+}
diff --git a/libpdbg/xbus.c b/libpdbg/xbus.c
index d36dab0..7781396 100644
--- a/libpdbg/xbus.c
+++ b/libpdbg/xbus.c
@@ -60,3 +60,9 @@ struct xbus p9_xbus = {
         },
 };
 DECLARE_HW_UNIT(p9_xbus);
+
+__attribute__((constructor))
+static void register_xbus(void)
+{
+	pdbg_hwunit_register(&p9_xbus_hw_unit);
+}
-- 
2.21.0



More information about the Pdbg mailing list