From patchwork Thu Dec 17 20:13:52 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Hung X-Patchwork-Id: 1417922 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=fwts-devel-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4CxjrJ44Kdz9s1l for ; Fri, 18 Dec 2020 07:14:07 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1kpzf0-0002MZ-Jw; Thu, 17 Dec 2020 20:14:02 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1kpzev-0002M7-Iu for fwts-devel@lists.ubuntu.com; Thu, 17 Dec 2020 20:13:57 +0000 Received: from 2.general.alexhung.us.vpn ([10.172.65.255] helo=canonical.com) by youngberry.canonical.com with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1kpzet-0004Eq-W6; Thu, 17 Dec 2020 20:13:57 +0000 From: Alex Hung To: fwts-devel@lists.ubuntu.com Subject: [PATCH] acpi: lib: refactor table _init to a macro function Date: Thu, 17 Dec 2020 13:13:52 -0700 Message-Id: <20201217201352.368982-1-alex.hung@canonical.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-BeenThere: fwts-devel@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Firmware Test Suite Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: fwts-devel-bounces@lists.ubuntu.com Sender: "fwts-devel" Signed-off-by: Alex Hung --- src/acpi/aspt/aspt.c | 18 ++---------------- src/acpi/bert/bert.c | 17 ++--------------- src/acpi/bgrt/bgrt.c | 16 ++-------------- src/acpi/cpep/cpep.c | 16 ++-------------- src/acpi/csrt/csrt.c | 16 ++-------------- src/acpi/dbgp/dbgp.c | 18 ++---------------- src/acpi/dppt/dppt.c | 17 ++--------------- src/acpi/drtm/drtm.c | 16 ++-------------- src/acpi/ecdt/ecdt.c | 18 ++---------------- src/acpi/einj/einj.c | 16 ++-------------- src/acpi/erst/erst.c | 16 ++-------------- src/acpi/facs/facs.c | 16 ++-------------- src/acpi/fpdt/fpdt.c | 18 ++---------------- src/acpi/hest/hest.c | 18 ++---------------- src/acpi/hmat/hmat.c | 17 ++--------------- src/acpi/iort/iort.c | 18 ++---------------- src/acpi/lpit/lpit.c | 18 ++---------------- src/acpi/mcfg/mcfg.c | 19 ++----------------- src/acpi/mchi/mchi.c | 18 ++---------------- src/acpi/mpst/mpst.c | 17 ++--------------- src/acpi/msct/msct.c | 16 ++-------------- src/acpi/msdm/msdm.c | 18 ++---------------- src/acpi/nfit/nfit.c | 16 ++-------------- src/acpi/pcct/pcct.c | 17 ++--------------- src/acpi/pdtt/pdtt.c | 17 ++--------------- src/acpi/pmtt/pmtt.c | 17 ++--------------- src/acpi/pptt/pptt.c | 17 ++--------------- src/acpi/rasf/rasf.c | 17 ++--------------- src/acpi/rsdt/rsdt.c | 16 ++-------------- src/acpi/sbst/sbst.c | 16 ++-------------- src/acpi/sdei/sdei.c | 17 ++--------------- src/acpi/sdev/sdev.c | 17 ++--------------- src/acpi/slic/slic.c | 18 ++---------------- src/acpi/slit/slit.c | 18 ++---------------- src/acpi/spmi/spmi.c | 18 ++---------------- src/acpi/srat/srat.c | 18 ++---------------- src/acpi/stao/stao.c | 18 ++---------------- src/acpi/tcpa/tcpa.c | 17 ++--------------- src/acpi/tpm2/tpm2.c | 17 ++--------------- src/acpi/uefi/uefi.c | 16 ++-------------- src/acpi/waet/waet.c | 17 ++--------------- src/acpi/wdat/wdat.c | 18 ++---------------- src/acpi/wpbt/wpbt.c | 16 ++-------------- src/acpi/wsmt/wsmt.c | 16 ++-------------- src/acpi/xenv/xenv.c | 17 ++--------------- src/lib/include/fwts_acpi_tables.h | 14 ++++++++++++++ 46 files changed, 104 insertions(+), 678 deletions(-) diff --git a/src/acpi/aspt/aspt.c b/src/acpi/aspt/aspt.c index ca3fd268..21c0b6e6 100644 --- a/src/acpi/aspt/aspt.c +++ b/src/acpi/aspt/aspt.c @@ -27,21 +27,7 @@ #include static fwts_acpi_table_info *table; - -static int aspt_init(fwts_framework *fw) -{ - - if (fwts_acpi_find_table(fw, "ASPT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI ASPT table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(ASPT, table) /* * ASPT Table @@ -101,7 +87,7 @@ static fwts_framework_minor_test aspt_tests[] = { static fwts_framework_ops aspt_ops = { .description = "ASPT Table test.", - .init = aspt_init, + .init = ASPT_init, .minor_tests = aspt_tests }; diff --git a/src/acpi/bert/bert.c b/src/acpi/bert/bert.c index 5895f742..ddb384dd 100644 --- a/src/acpi/bert/bert.c +++ b/src/acpi/bert/bert.c @@ -27,20 +27,7 @@ #include static fwts_acpi_table_info *table; - -static int bert_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "BERT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI BERT table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(BERT, table) /* * For BERT refer to 18.3.1 Boot Error Record Table @@ -192,7 +179,7 @@ static fwts_framework_minor_test bert_tests[] = { static fwts_framework_ops bert_ops = { .description = "BERT Boot Error Record Table test.", - .init = bert_init, + .init = BERT_init, .minor_tests = bert_tests }; diff --git a/src/acpi/bgrt/bgrt.c b/src/acpi/bgrt/bgrt.c index d988a85f..ca7c0f80 100644 --- a/src/acpi/bgrt/bgrt.c +++ b/src/acpi/bgrt/bgrt.c @@ -28,19 +28,7 @@ #include static fwts_acpi_table_info *table; - -static int bgrt_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "BGRT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI BGRT table does not exist, skipping test"); - return FWTS_SKIP; - } - return FWTS_OK; -} +acpi_table_init(BGRT, table) /* * BGRT Boot Graphics Resource Table @@ -91,7 +79,7 @@ static fwts_framework_minor_test bgrt_tests[] = { static fwts_framework_ops bgrt_ops = { .description = "BGRT Boot Graphics Resource Table test.", - .init = bgrt_init, + .init = BGRT_init, .minor_tests = bgrt_tests }; diff --git a/src/acpi/cpep/cpep.c b/src/acpi/cpep/cpep.c index ebd2beb3..e22004f5 100644 --- a/src/acpi/cpep/cpep.c +++ b/src/acpi/cpep/cpep.c @@ -28,19 +28,7 @@ #include static fwts_acpi_table_info *table; - -static int cpep_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "CPEP", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI CPEP table does not exist, skipping test"); - return FWTS_SKIP; - } - return FWTS_OK; -} +acpi_table_init(CPEP, table) /* * CPEP Corrected Platform Error Polling Table @@ -121,7 +109,7 @@ static fwts_framework_minor_test cpep_tests[] = { static fwts_framework_ops cpep_ops = { .description = "CPEP Corrected Platform Error Polling Table test.", - .init = cpep_init, + .init = CPEP_init, .minor_tests = cpep_tests }; diff --git a/src/acpi/csrt/csrt.c b/src/acpi/csrt/csrt.c index 5d69feed..c1193aaa 100644 --- a/src/acpi/csrt/csrt.c +++ b/src/acpi/csrt/csrt.c @@ -27,19 +27,7 @@ #include static fwts_acpi_table_info *table; - -static int csrt_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "CSRT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI CSRT table does not exist, skipping test"); - return FWTS_SKIP; - } - return FWTS_OK; -} +acpi_table_init(CSRT, table) /* * CSRT Core System Resource Table @@ -239,7 +227,7 @@ static fwts_framework_minor_test csrt_tests[] = { static fwts_framework_ops csrt_ops = { .description = "CSRT Core System Resource Table test.", - .init = csrt_init, + .init = CSRT_init, .minor_tests = csrt_tests }; diff --git a/src/acpi/dbgp/dbgp.c b/src/acpi/dbgp/dbgp.c index fffa4762..68e7bc46 100644 --- a/src/acpi/dbgp/dbgp.c +++ b/src/acpi/dbgp/dbgp.c @@ -27,21 +27,7 @@ #include static fwts_acpi_table_info *table; - -static int dbgp_init(fwts_framework *fw) -{ - - if (fwts_acpi_find_table(fw, "DBGP", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI DBGP table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(DBGP, table) /* * DBGP Table @@ -127,7 +113,7 @@ static fwts_framework_minor_test dbgp_tests[] = { static fwts_framework_ops dbgp_ops = { .description = "DBGP (Debug Port) Table test.", - .init = dbgp_init, + .init = DBGP_init, .minor_tests = dbgp_tests }; diff --git a/src/acpi/dppt/dppt.c b/src/acpi/dppt/dppt.c index 7ed53512..2423b23e 100644 --- a/src/acpi/dppt/dppt.c +++ b/src/acpi/dppt/dppt.c @@ -27,20 +27,7 @@ #include static fwts_acpi_table_info *table; - -static int dppt_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "DPPT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables"); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI DPPT table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(DPPT, table) static int dppt_test1(fwts_framework *fw) { @@ -64,7 +51,7 @@ static fwts_framework_minor_test dppt_tests[] = { static fwts_framework_ops dppt_ops = { .description = "DPPT DMA Protection Policy Table test", - .init = dppt_init, + .init = DPPT_init, .minor_tests = dppt_tests }; diff --git a/src/acpi/drtm/drtm.c b/src/acpi/drtm/drtm.c index c587c364..6f9ad663 100644 --- a/src/acpi/drtm/drtm.c +++ b/src/acpi/drtm/drtm.c @@ -28,19 +28,7 @@ #include static fwts_acpi_table_info *table; - -static int drtm_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "DRTM", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI DRTM table does not exist, skipping test"); - return FWTS_SKIP; - } - return FWTS_OK; -} +acpi_table_init(DRTM, table) /* * DRTM D-RTM Resources Table @@ -153,7 +141,7 @@ static fwts_framework_minor_test drtm_tests[] = { static fwts_framework_ops drtm_ops = { .description = "DRTM D-RTM Resources Table test.", - .init = drtm_init, + .init = DRTM_init, .minor_tests = drtm_tests }; diff --git a/src/acpi/ecdt/ecdt.c b/src/acpi/ecdt/ecdt.c index 4e001b5f..cd68ec9c 100644 --- a/src/acpi/ecdt/ecdt.c +++ b/src/acpi/ecdt/ecdt.c @@ -29,21 +29,7 @@ #include "fwts_acpi_object_eval.h" static fwts_acpi_table_info *table; - -static int ecdt_init(fwts_framework *fw) -{ - - if (fwts_acpi_find_table(fw, "ECDT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI ECDT table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(ECDT, table) /* * See ACPI 6.0, Section 5.2.15 @@ -213,7 +199,7 @@ static fwts_framework_minor_test ecdt_tests[] = { static fwts_framework_ops ecdt_ops = { .description = "ECDT Embedded Controller Boot Resources Table test.", - .init = ecdt_init, + .init = ECDT_init, .minor_tests = ecdt_tests }; diff --git a/src/acpi/einj/einj.c b/src/acpi/einj/einj.c index 02dd4e15..7cae6f9b 100644 --- a/src/acpi/einj/einj.c +++ b/src/acpi/einj/einj.c @@ -26,19 +26,7 @@ #include static fwts_acpi_table_info *table; - -static int einj_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "EINJ", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI EINJ table does not exist, skipping test"); - return FWTS_SKIP; - } - return FWTS_OK; -} +acpi_table_init(EINJ, table) /* * EINJ Error Injection Table @@ -143,7 +131,7 @@ static fwts_framework_minor_test einj_tests[] = { static fwts_framework_ops einj_ops = { .description = "EINJ Error Injection Table test.", - .init = einj_init, + .init = EINJ_init, .minor_tests = einj_tests }; diff --git a/src/acpi/erst/erst.c b/src/acpi/erst/erst.c index eb379e27..d24b39da 100644 --- a/src/acpi/erst/erst.c +++ b/src/acpi/erst/erst.c @@ -27,19 +27,7 @@ #include static fwts_acpi_table_info *table; - -static int erst_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "ERST", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI ERST table does not exist, skipping test"); - return FWTS_SKIP; - } - return FWTS_OK; -} +acpi_table_init(ERST, table) /* * ERST Extended System Description Table @@ -180,7 +168,7 @@ static fwts_framework_minor_test erst_tests[] = { static fwts_framework_ops erst_ops = { .description = "ERST Error Record Serialization Table test.", - .init = erst_init, + .init = ERST_init, .minor_tests = erst_tests }; diff --git a/src/acpi/facs/facs.c b/src/acpi/facs/facs.c index 7dcffc3f..6025908d 100644 --- a/src/acpi/facs/facs.c +++ b/src/acpi/facs/facs.c @@ -28,19 +28,7 @@ #include static fwts_acpi_table_info *table; - -static int facs_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "FACS", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI FACS table does not exist, skipping test"); - return FWTS_SKIP; - } - return FWTS_OK; -} +acpi_table_init(FACS, table) /* * FACS Firmware ACPI Control Structure test @@ -157,7 +145,7 @@ static fwts_framework_minor_test facs_tests[] = { static fwts_framework_ops facs_ops = { .description = "FACS Firmware ACPI Control Structure test.", - .init = facs_init, + .init = FACS_init, .minor_tests = facs_tests }; diff --git a/src/acpi/fpdt/fpdt.c b/src/acpi/fpdt/fpdt.c index a96341b2..c41e8574 100644 --- a/src/acpi/fpdt/fpdt.c +++ b/src/acpi/fpdt/fpdt.c @@ -28,21 +28,7 @@ #include static fwts_acpi_table_info *table; - -static int fpdt_init(fwts_framework *fw) -{ - - if (fwts_acpi_find_table(fw, "FPDT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI FPDT table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(FPDT, table) static void fpdt_rec_header_dump( fwts_framework *fw, @@ -219,7 +205,7 @@ static fwts_framework_minor_test fpdt_tests[] = { static fwts_framework_ops fpdt_ops = { .description = "FPDT Firmware Performance Data Table test.", - .init = fpdt_init, + .init = FPDT_init, .minor_tests = fpdt_tests }; diff --git a/src/acpi/hest/hest.c b/src/acpi/hest/hest.c index 96314136..6a89e901 100644 --- a/src/acpi/hest/hest.c +++ b/src/acpi/hest/hest.c @@ -27,21 +27,7 @@ #include static fwts_acpi_table_info *table; - -static int hest_init(fwts_framework *fw) -{ - - if (fwts_acpi_find_table(fw, "HEST", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI HEST table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(HEST, table) /* * ACPI Section 18.3.2.1 IA-32 Architecture Machine Check Exception @@ -900,7 +886,7 @@ static fwts_framework_minor_test hest_tests[] = { static fwts_framework_ops hest_ops = { .description = "HEST Hardware Error Source Table test.", - .init = hest_init, + .init = HEST_init, .minor_tests = hest_tests }; diff --git a/src/acpi/hmat/hmat.c b/src/acpi/hmat/hmat.c index dbfc3f6e..28145720 100644 --- a/src/acpi/hmat/hmat.c +++ b/src/acpi/hmat/hmat.c @@ -24,20 +24,7 @@ #include static fwts_acpi_table_info *table; - -static int hmat_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "HMAT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot load ACPI table"); - return FWTS_ERROR; - } - if (table == NULL) { - fwts_log_error(fw, "ACPI HMAT table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(HMAT, table) static void hmat_proximity_domain_test(fwts_framework *fw, const fwts_acpi_table_hmat_proximity_domain *entry, bool *passed) { @@ -231,7 +218,7 @@ static fwts_framework_minor_test hmat_tests[] = { static fwts_framework_ops hmat_ops = { .description = "HMAT Heterogeneous Memory Attribute Table test.", - .init = hmat_init, + .init = HMAT_init, .minor_tests = hmat_tests }; diff --git a/src/acpi/iort/iort.c b/src/acpi/iort/iort.c index 03eba04d..921cfb60 100644 --- a/src/acpi/iort/iort.c +++ b/src/acpi/iort/iort.c @@ -27,21 +27,7 @@ #include static fwts_acpi_table_info *table; - -static int iort_init(fwts_framework *fw) -{ - - if (fwts_acpi_find_table(fw, "IORT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI IORT table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(IORT, table) /* * iort_node_dump() @@ -734,7 +720,7 @@ static fwts_framework_minor_test iort_tests[] = { static fwts_framework_ops iort_ops = { .description = "IORT IO Remapping Table test.", - .init = iort_init, + .init = IORT_init, .minor_tests = iort_tests }; diff --git a/src/acpi/lpit/lpit.c b/src/acpi/lpit/lpit.c index 5b146f78..f09f158a 100644 --- a/src/acpi/lpit/lpit.c +++ b/src/acpi/lpit/lpit.c @@ -27,21 +27,7 @@ #include static fwts_acpi_table_info *table; - -static int lpit_init(fwts_framework *fw) -{ - - if (fwts_acpi_find_table(fw, "LPIT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI LPIT table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(LPIT, table) static void lpit_check_type_0( fwts_framework *fw, @@ -231,7 +217,7 @@ static fwts_framework_minor_test lpit_tests[] = { static fwts_framework_ops lpit_ops = { .description = "LPIT Low Power Idle Table test.", - .init = lpit_init, + .init = LPIT_init, .minor_tests = lpit_tests }; diff --git a/src/acpi/mcfg/mcfg.c b/src/acpi/mcfg/mcfg.c index 33a14e43..7f92a2a3 100644 --- a/src/acpi/mcfg/mcfg.c +++ b/src/acpi/mcfg/mcfg.c @@ -29,6 +29,7 @@ static fwts_list *memory_map_list; static fwts_acpi_table_info *mcfg_table; +acpi_table_init(MCFG, mcfg_table) static int compare_config_space( fwts_framework *fw, @@ -99,22 +100,6 @@ static int compare_config_space( return FWTS_OK; } -static int mcfg_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "MCFG", 0, &mcfg_table) != FWTS_OK) { - fwts_log_error(fw, "Cannot load ACPI table"); - return FWTS_ERROR; - } - if (mcfg_table == NULL) { - fwts_log_error(fw, - "ACPI table MCFG not found. This table is " - "required to check for PCI Express*"); - return FWTS_ERROR; - } - - return FWTS_OK; -} - static int mcfg_deinit(fwts_framework *fw) { FWTS_UNUSED(fw); @@ -262,7 +247,7 @@ static fwts_framework_minor_test mcfg_tests[] = { static fwts_framework_ops mcfg_ops = { .description = "MCFG PCI Express* memory mapped config space test.", - .init = mcfg_init, + .init = MCFG_init, .deinit = mcfg_deinit, .minor_tests = mcfg_tests }; diff --git a/src/acpi/mchi/mchi.c b/src/acpi/mchi/mchi.c index 0f1fe085..84021924 100644 --- a/src/acpi/mchi/mchi.c +++ b/src/acpi/mchi/mchi.c @@ -29,21 +29,7 @@ #define DUMP_MCHI_TABLE (1) /* table is small and not used much, so dump it */ static fwts_acpi_table_info *table; - -static int mchi_init(fwts_framework *fw) -{ - - if (fwts_acpi_find_table(fw, "MCHI", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI MCHI table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(MCHI, table) /* * MCHI Management Controller Host Interface Table @@ -225,7 +211,7 @@ static fwts_framework_minor_test mchi_tests[] = { static fwts_framework_ops mchi_ops = { .description = "MCHI Management Controller Host Interface Table test.", - .init = mchi_init, + .init = MCHI_init, .minor_tests = mchi_tests }; diff --git a/src/acpi/mpst/mpst.c b/src/acpi/mpst/mpst.c index 4bfe3179..c34936be 100644 --- a/src/acpi/mpst/mpst.c +++ b/src/acpi/mpst/mpst.c @@ -24,20 +24,7 @@ #include static fwts_acpi_table_info *table; - -static int mpst_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "MPST", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot load ACPI table"); - return FWTS_ERROR; - } - if (table == NULL) { - fwts_log_error(fw, "ACPI MPST table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(MPST, table) static int mpst_test1(fwts_framework *fw) { @@ -197,7 +184,7 @@ static fwts_framework_minor_test mpst_tests[] = { static fwts_framework_ops mpst_ops = { .description = "MPST Memory Power State Table test.", - .init = mpst_init, + .init = MPST_init, .minor_tests = mpst_tests }; diff --git a/src/acpi/msct/msct.c b/src/acpi/msct/msct.c index b0d50c4e..9069bf99 100644 --- a/src/acpi/msct/msct.c +++ b/src/acpi/msct/msct.c @@ -26,19 +26,7 @@ #include static fwts_acpi_table_info *table; - -static int msct_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "MSCT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI MSCT table does not exist, skipping test"); - return FWTS_SKIP; - } - return FWTS_OK; -} +acpi_table_init(MSCT, table) /* * MSCT Maximum System Characteristics Table @@ -127,7 +115,7 @@ static fwts_framework_minor_test msct_tests[] = { static fwts_framework_ops msct_ops = { .description = "MSCT Maximum System Characteristics Table test.", - .init = msct_init, + .init = MSCT_init, .minor_tests = msct_tests }; diff --git a/src/acpi/msdm/msdm.c b/src/acpi/msdm/msdm.c index 96f7b77a..d8368b3c 100644 --- a/src/acpi/msdm/msdm.c +++ b/src/acpi/msdm/msdm.c @@ -28,21 +28,7 @@ #include static fwts_acpi_table_info *table; - -static int msdm_init(fwts_framework *fw) -{ - - if (fwts_acpi_find_table(fw, "MSDM", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI MSDM table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(MSDM, table) /* * Microsoft Data Management (MSDM) Table @@ -149,7 +135,7 @@ static fwts_framework_minor_test msdm_tests[] = { static fwts_framework_ops msdm_ops = { .description = "MSDM Microsoft Data Management Table test.", - .init = msdm_init, + .init = MSDM_init, .minor_tests = msdm_tests }; diff --git a/src/acpi/nfit/nfit.c b/src/acpi/nfit/nfit.c index 809313ab..dd0f0661 100644 --- a/src/acpi/nfit/nfit.c +++ b/src/acpi/nfit/nfit.c @@ -56,6 +56,7 @@ static const uint8_t guid_virtual_device[4][16] = { }; static fwts_acpi_table_info *nfit_table; +acpi_table_init(NFIT, nfit_table) static bool check_length(fwts_framework *fw, const int actual, int min, const char *name) { @@ -111,19 +112,6 @@ static bool scan_nfit_smbios(fwts_framework *fw, int len, uint8_t *table) return true; } -static int nfit_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "NFIT", 0, &nfit_table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (nfit_table == NULL || (nfit_table && nfit_table->length == 0)) { - fwts_log_error(fw, "ACPI NFIT table does not exist, skipping test"); - return FWTS_SKIP; - } - return FWTS_OK; -} - /* * NFIT NVDIMM Firmware Interface Table */ @@ -543,7 +531,7 @@ static fwts_framework_minor_test nfit_tests[] = { static fwts_framework_ops nfit_ops = { .description = "NFIT NVDIMM Firmware Interface Table test.", - .init = nfit_init, + .init = NFIT_init, .minor_tests = nfit_tests }; diff --git a/src/acpi/pcct/pcct.c b/src/acpi/pcct/pcct.c index 544a28e5..06fc0448 100644 --- a/src/acpi/pcct/pcct.c +++ b/src/acpi/pcct/pcct.c @@ -24,20 +24,7 @@ #include static fwts_acpi_table_info *table; - -static int pcct_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "PCCT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot load ACPI table"); - return FWTS_ERROR; - } - if (table == NULL) { - fwts_log_error(fw, "ACPI PCCT table does not exist, skipping test"); - return FWTS_ERROR; - } - - return FWTS_OK; -} +acpi_table_init(PCCT, table) static bool subspace_length_equal(fwts_framework *fw, uint8_t type, uint8_t type_size, uint8_t length) { @@ -315,7 +302,7 @@ static fwts_framework_minor_test pcct_tests[] = { static fwts_framework_ops pcct_ops = { .description = "PCCT Platform Communications Channel test.", - .init = pcct_init, + .init = PCCT_init, .minor_tests = pcct_tests }; diff --git a/src/acpi/pdtt/pdtt.c b/src/acpi/pdtt/pdtt.c index da60612f..4958d1e6 100644 --- a/src/acpi/pdtt/pdtt.c +++ b/src/acpi/pdtt/pdtt.c @@ -24,20 +24,7 @@ #include static fwts_acpi_table_info *table; - -static int pdtt_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "PDTT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot load ACPI table"); - return FWTS_ERROR; - } - if (table == NULL) { - fwts_log_error(fw, "ACPI PDTT table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(PDTT, table) static int pdtt_test1(fwts_framework *fw) { @@ -103,7 +90,7 @@ static fwts_framework_minor_test pdtt_tests[] = { static fwts_framework_ops pdtt_ops = { .description = "PDTT Platform Debug Trigger Table test.", - .init = pdtt_init, + .init = PDTT_init, .minor_tests = pdtt_tests }; diff --git a/src/acpi/pmtt/pmtt.c b/src/acpi/pmtt/pmtt.c index 78c5156d..69e8d276 100644 --- a/src/acpi/pmtt/pmtt.c +++ b/src/acpi/pmtt/pmtt.c @@ -24,20 +24,7 @@ #include static fwts_acpi_table_info *table; - -static int pmtt_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "PMTT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot load ACPI table"); - return FWTS_ERROR; - } - if (table == NULL) { - fwts_log_error(fw, "ACPI PMTT table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(PMTT, table) static void pmtt_subtable_header_test(fwts_framework *fw, fwts_acpi_table_pmtt_header *entry, bool *passed) { @@ -222,7 +209,7 @@ static fwts_framework_minor_test pmtt_tests[] = { static fwts_framework_ops pmtt_ops = { .description = "PMTT Memory Topology Table test.", - .init = pmtt_init, + .init = PMTT_init, .minor_tests = pmtt_tests }; diff --git a/src/acpi/pptt/pptt.c b/src/acpi/pptt/pptt.c index bf361dc0..385e84ac 100644 --- a/src/acpi/pptt/pptt.c +++ b/src/acpi/pptt/pptt.c @@ -24,20 +24,7 @@ #include static fwts_acpi_table_info *table; - -static int pptt_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "PPTT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot load ACPI table"); - return FWTS_ERROR; - } - if (table == NULL) { - fwts_log_error(fw, "ACPI PPTT table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(PPTT, table) static void pptt_processor_test(fwts_framework *fw, const fwts_acpi_table_pptt_processor *entry, uint8_t rev, bool *passed) { @@ -191,7 +178,7 @@ static fwts_framework_minor_test pptt_tests[] = { static fwts_framework_ops pptt_ops = { .description = "PPTT Processor Properties Topology Table test.", - .init = pptt_init, + .init = PPTT_init, .minor_tests = pptt_tests }; diff --git a/src/acpi/rasf/rasf.c b/src/acpi/rasf/rasf.c index 99192cbc..b16dc765 100644 --- a/src/acpi/rasf/rasf.c +++ b/src/acpi/rasf/rasf.c @@ -27,20 +27,7 @@ #include static fwts_acpi_table_info *table; - -static int rasf_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "RASF", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables"); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI RASF table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(RASF, table) static int rasf_test1(fwts_framework *fw) { @@ -73,7 +60,7 @@ static fwts_framework_minor_test rasf_tests[] = { static fwts_framework_ops rasf_ops = { .description = "RASF RAS Feature Table test", - .init = rasf_init, + .init = RASF_init, .minor_tests = rasf_tests }; diff --git a/src/acpi/rsdt/rsdt.c b/src/acpi/rsdt/rsdt.c index 21162e59..37d52161 100644 --- a/src/acpi/rsdt/rsdt.c +++ b/src/acpi/rsdt/rsdt.c @@ -27,19 +27,7 @@ #include static fwts_acpi_table_info *table; - -static int rsdt_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "RSDT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI RSDT table does not exist, skipping test"); - return FWTS_SKIP; - } - return FWTS_OK; -} +acpi_table_init(RSDT, table) /* * RSDT Extended System Description Table @@ -78,7 +66,7 @@ static fwts_framework_minor_test rsdt_tests[] = { static fwts_framework_ops rsdt_ops = { .description = "RSDT Root System Description Table test.", - .init = rsdt_init, + .init = RSDT_init, .minor_tests = rsdt_tests }; diff --git a/src/acpi/sbst/sbst.c b/src/acpi/sbst/sbst.c index 189bc77b..8bfa630f 100644 --- a/src/acpi/sbst/sbst.c +++ b/src/acpi/sbst/sbst.c @@ -27,19 +27,7 @@ #include static fwts_acpi_table_info *table; - -static int sbst_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "SBST", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI SBST table does not exist, skipping test"); - return FWTS_SKIP; - } - return FWTS_OK; -} +acpi_table_init(SBST, table) /* * SBST Extended System Description Table @@ -88,7 +76,7 @@ static fwts_framework_minor_test sbst_tests[] = { static fwts_framework_ops sbst_ops = { .description = "SBST Smart Battery Specification Table test.", - .init = sbst_init, + .init = SBST_init, .minor_tests = sbst_tests }; diff --git a/src/acpi/sdei/sdei.c b/src/acpi/sdei/sdei.c index 6713d635..8c6841f7 100644 --- a/src/acpi/sdei/sdei.c +++ b/src/acpi/sdei/sdei.c @@ -27,20 +27,7 @@ #include static fwts_acpi_table_info *table; - -static int sdei_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "SDEI", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables"); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI SDEI table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(SDEI, table) static int sdei_test1(fwts_framework *fw) { @@ -77,7 +64,7 @@ static fwts_framework_minor_test sdei_tests[] = { static fwts_framework_ops sdei_ops = { .description = "SDEI Software Delegated Exception Interface Table test", - .init = sdei_init, + .init = SDEI_init, .minor_tests = sdei_tests }; diff --git a/src/acpi/sdev/sdev.c b/src/acpi/sdev/sdev.c index bcb652ca..f0061792 100644 --- a/src/acpi/sdev/sdev.c +++ b/src/acpi/sdev/sdev.c @@ -27,20 +27,7 @@ #include static fwts_acpi_table_info *table; - -static int sdev_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "SDEV", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables"); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI SDEV table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(SDEV, table) static void sdev_acpi_namespace_device_test(fwts_framework *fw, const fwts_acpi_table_sdev_acpi *entry, bool *passed) { @@ -137,7 +124,7 @@ static fwts_framework_minor_test sdev_tests[] = { static fwts_framework_ops sdev_ops = { .description = "SDEV Secure Devices Table test", - .init = sdev_init, + .init = SDEV_init, .minor_tests = sdev_tests }; diff --git a/src/acpi/slic/slic.c b/src/acpi/slic/slic.c index bc408616..dafd6784 100644 --- a/src/acpi/slic/slic.c +++ b/src/acpi/slic/slic.c @@ -29,21 +29,7 @@ #define DUMP_SLIC (0) /* Disable this, just used it for debugging */ static fwts_acpi_table_info *table; - -static int slic_init(fwts_framework *fw) -{ - - if (fwts_acpi_find_table(fw, "SLIC", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI SLIC table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(SLIC, table) /* * Software Licensing Description Table @@ -170,7 +156,7 @@ static fwts_framework_minor_test slic_tests[] = { static fwts_framework_ops slic_ops = { .description = "SLIC Software Licensing Description Table test.", - .init = slic_init, + .init = SLIC_init, .minor_tests = slic_tests }; diff --git a/src/acpi/slit/slit.c b/src/acpi/slit/slit.c index 3b380142..401c824d 100644 --- a/src/acpi/slit/slit.c +++ b/src/acpi/slit/slit.c @@ -29,21 +29,7 @@ #define INDEX(i, j) (((i) * slit->num_of_system_localities) + (j)) static fwts_acpi_table_info *table; - -static int slit_init(fwts_framework *fw) -{ - - if (fwts_acpi_find_table(fw, "SLIT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI SLIT table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(SLIT, table) /* * For SLIT System Locality Distance Information refer to @@ -178,7 +164,7 @@ static fwts_framework_minor_test slit_tests[] = { static fwts_framework_ops slit_ops = { .description = "SLIT System Locality Distance Information test.", - .init = slit_init, + .init = SLIT_init, .minor_tests = slit_tests }; diff --git a/src/acpi/spmi/spmi.c b/src/acpi/spmi/spmi.c index 2dce7e06..4ca8e639 100644 --- a/src/acpi/spmi/spmi.c +++ b/src/acpi/spmi/spmi.c @@ -27,21 +27,7 @@ #include static fwts_acpi_table_info *table; - -static int spmi_init(fwts_framework *fw) -{ - - if (fwts_acpi_find_table(fw, "SPMI", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI SPMI table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(SPMI, table) /* * SPMI Service Processor Management Interface Description Table @@ -218,7 +204,7 @@ static fwts_framework_minor_test spmi_tests[] = { static fwts_framework_ops spmi_ops = { .description = "SPMI Service Processor Management Interface Description Table test.", - .init = spmi_init, + .init = SPMI_init, .minor_tests = spmi_tests }; diff --git a/src/acpi/srat/srat.c b/src/acpi/srat/srat.c index 135f7be2..14024861 100644 --- a/src/acpi/srat/srat.c +++ b/src/acpi/srat/srat.c @@ -27,21 +27,7 @@ #include static fwts_acpi_table_info *table; - -static int srat_init(fwts_framework *fw) -{ - - if (fwts_acpi_find_table(fw, "SRAT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI SRAT table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(SRAT, table) static void srat_check_local_apic_sapic_affinity( fwts_framework *fw, @@ -417,7 +403,7 @@ static fwts_framework_minor_test srat_tests[] = { static fwts_framework_ops srat_ops = { .description = "SRAT System Resource Affinity Table test.", - .init = srat_init, + .init = SRAT_init, .minor_tests = srat_tests }; diff --git a/src/acpi/stao/stao.c b/src/acpi/stao/stao.c index 72dbefce..12b72665 100644 --- a/src/acpi/stao/stao.c +++ b/src/acpi/stao/stao.c @@ -29,21 +29,7 @@ #include "fwts_acpi_object_eval.h" static fwts_acpi_table_info *table; - -static int stao_init(fwts_framework *fw) -{ - - if (fwts_acpi_find_table(fw, "STAO", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI STAO table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(STAO, table) /* * Extract a STAO ACPI String from the raw buffer @@ -154,7 +140,7 @@ static fwts_framework_minor_test stao_tests[] = { static fwts_framework_ops stao_ops = { .description = "STAO Status Override Table test.", - .init = stao_init, + .init = STAO_init, .minor_tests = stao_tests }; diff --git a/src/acpi/tcpa/tcpa.c b/src/acpi/tcpa/tcpa.c index f8d07b7e..2c631988 100644 --- a/src/acpi/tcpa/tcpa.c +++ b/src/acpi/tcpa/tcpa.c @@ -24,20 +24,7 @@ #include static fwts_acpi_table_info *table; - -static int tcpa_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "TCPA", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot load ACPI table"); - return FWTS_ERROR; - } - if (table == NULL) { - fwts_log_error(fw, "ACPI TCPA table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(TCPA, table) static int tcpa_client_test(fwts_framework *fw, fwts_acpi_table_tcpa *tcpa) { @@ -202,7 +189,7 @@ static fwts_framework_minor_test tcpa_tests[] = { static fwts_framework_ops tcpa_ops = { .description = "TCPA Trusted Computing Platform Alliance Capabilities Table test.", - .init = tcpa_init, + .init = TCPA_init, .minor_tests = tcpa_tests }; diff --git a/src/acpi/tpm2/tpm2.c b/src/acpi/tpm2/tpm2.c index 56b35a1c..79a42754 100644 --- a/src/acpi/tpm2/tpm2.c +++ b/src/acpi/tpm2/tpm2.c @@ -24,20 +24,7 @@ #include static fwts_acpi_table_info *table; - -static int tpm2_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "TPM2", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot load ACPI table"); - return FWTS_ERROR; - } - if (table == NULL) { - fwts_log_error(fw, "ACPI TPM2 table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(TPM2, table) /* * TPM2 table @@ -106,7 +93,7 @@ static fwts_framework_minor_test tpm2_tests[] = { static fwts_framework_ops tpm2_ops = { .description = "TPM2 Trusted Platform Module 2 test.", - .init = tpm2_init, + .init = TPM2_init, .minor_tests = tpm2_tests }; diff --git a/src/acpi/uefi/uefi.c b/src/acpi/uefi/uefi.c index d196d62e..f7e7a23f 100644 --- a/src/acpi/uefi/uefi.c +++ b/src/acpi/uefi/uefi.c @@ -28,19 +28,7 @@ #include static fwts_acpi_table_info *table; - -static int uefi_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "UEFI", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI UEFI table does not exist, skipping test"); - return FWTS_SKIP; - } - return FWTS_OK; -} +acpi_table_init(UEFI, table) /* * UEFI ACPI DATA Table @@ -123,7 +111,7 @@ static fwts_framework_minor_test uefi_tests[] = { static fwts_framework_ops uefi_ops = { .description = "UEFI Data Table test.", - .init = uefi_init, + .init = UEFI_init, .minor_tests = uefi_tests }; diff --git a/src/acpi/waet/waet.c b/src/acpi/waet/waet.c index 985138c5..91fcd73b 100644 --- a/src/acpi/waet/waet.c +++ b/src/acpi/waet/waet.c @@ -30,20 +30,7 @@ #include "fwts_acpi_object_eval.h" static fwts_acpi_table_info *table; - -static int waet_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "WAET", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI WAET table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(WAET, table) /* * WAET Windows ACPI Emulated Devices Table @@ -82,7 +69,7 @@ static fwts_framework_minor_test waet_tests[] = { static fwts_framework_ops waet_ops = { .description = "WAET Windows ACPI Emulated Devices Table test.", - .init = waet_init, + .init = WAET_init, .minor_tests = waet_tests }; diff --git a/src/acpi/wdat/wdat.c b/src/acpi/wdat/wdat.c index 8149faa7..399e5142 100644 --- a/src/acpi/wdat/wdat.c +++ b/src/acpi/wdat/wdat.c @@ -31,21 +31,7 @@ #define ACPI_DUMP (0) /* WDAT entries are long, so don't dump, too verbose */ static fwts_acpi_table_info *table; - -static int wdat_init(fwts_framework *fw) -{ - - if (fwts_acpi_find_table(fw, "WDAT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI WDAT table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(WDAT, table) /* * ACPI WDAT (Watchdog Action Table) @@ -213,7 +199,7 @@ static fwts_framework_minor_test wdat_tests[] = { static fwts_framework_ops wdat_ops = { .description = "WDAT Microsoft Hardware Watchdog Action Table test.", - .init = wdat_init, + .init = WDAT_init, .minor_tests = wdat_tests }; diff --git a/src/acpi/wpbt/wpbt.c b/src/acpi/wpbt/wpbt.c index 00f45196..9817e57c 100644 --- a/src/acpi/wpbt/wpbt.c +++ b/src/acpi/wpbt/wpbt.c @@ -28,19 +28,7 @@ #include static fwts_acpi_table_info *table; - -static int wpbt_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "WPBT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI WPBT table does not exist, skipping test"); - return FWTS_SKIP; - } - return FWTS_OK; -} +acpi_table_init(WPBT, table) /* * WPBT Windows Platform Binary Table @@ -99,7 +87,7 @@ static fwts_framework_minor_test wpbt_tests[] = { static fwts_framework_ops wpbt_ops = { .description = "WPBT Windows Platform Binary Table test.", - .init = wpbt_init, + .init = WPBT_init, .minor_tests = wpbt_tests }; diff --git a/src/acpi/wsmt/wsmt.c b/src/acpi/wsmt/wsmt.c index b584af6b..2728ff50 100644 --- a/src/acpi/wsmt/wsmt.c +++ b/src/acpi/wsmt/wsmt.c @@ -28,19 +28,7 @@ #include static fwts_acpi_table_info *table; - -static int wsmt_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "WSMT", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot read ACPI tables."); - return FWTS_ERROR; - } - if (table == NULL || (table && table->length == 0)) { - fwts_log_error(fw, "ACPI WSMT table does not exist, skipping test"); - return FWTS_SKIP; - } - return FWTS_OK; -} +acpi_table_init(WSMT, table) /* * WSMT Windows Platform Binary Table @@ -78,7 +66,7 @@ static fwts_framework_minor_test wsmt_tests[] = { static fwts_framework_ops wsmt_ops = { .description = "WSMT Windows SMM Security Mitigations Table test.", - .init = wsmt_init, + .init = WSMT_init, .minor_tests = wsmt_tests }; diff --git a/src/acpi/xenv/xenv.c b/src/acpi/xenv/xenv.c index 6ac19ffd..b03e23f0 100644 --- a/src/acpi/xenv/xenv.c +++ b/src/acpi/xenv/xenv.c @@ -24,20 +24,7 @@ #include static fwts_acpi_table_info *table; - -static int xenv_init(fwts_framework *fw) -{ - if (fwts_acpi_find_table(fw, "XENV", 0, &table) != FWTS_OK) { - fwts_log_error(fw, "Cannot load ACPI table"); - return FWTS_ERROR; - } - if (table == NULL) { - fwts_log_error(fw, "ACPI XENV table does not exist, skipping test"); - return FWTS_SKIP; - } - - return FWTS_OK; -} +acpi_table_init(XENV, table) /* * Sanity check XENV table, see: @@ -86,7 +73,7 @@ static fwts_framework_minor_test xenv_tests[] = { static fwts_framework_ops xenv_check_ops = { .description = "XENV Xen Environment Table tests.", - .init = xenv_init, + .init = XENV_init, .minor_tests = xenv_tests }; diff --git a/src/lib/include/fwts_acpi_tables.h b/src/lib/include/fwts_acpi_tables.h index 7125ba2c..a000cf4b 100644 --- a/src/lib/include/fwts_acpi_tables.h +++ b/src/lib/include/fwts_acpi_tables.h @@ -43,6 +43,20 @@ typedef struct { fwts_acpi_table_provenance provenance; } fwts_acpi_table_info; +#define acpi_table_init(name, table) \ +static int name ## _init (fwts_framework *fw) \ +{ \ + if (fwts_acpi_find_table(fw, # name, 0, &table) != FWTS_OK) { \ + fwts_log_error(fw, "Cannot read ACPI tables."); \ + return FWTS_ERROR; \ + } \ + if (table == NULL || (table && table->length == 0)) { \ + fwts_log_error(fw, "ACPI %s table does not exist, skipping test", # name); \ + return FWTS_SKIP; \ + } \ + return FWTS_OK; \ +} + int fwts_acpi_load_tables(fwts_framework *fw); int fwts_acpi_free_tables(void);