ACK + comment: [PATCH 1/2] lib: acpi: add a marco to fwts_acpi_reserved_bits_check
Colin Ian King
colin.king at canonical.com
Fri Feb 5 09:58:45 UTC 2021
On 27/01/2021 20:17, Alex Hung wrote:
> Reduce two args needed for the original function.
>
> Signed-off-by: Alex Hung <alex.hung at canonical.com>
> ---
> src/acpi/asf/asf.c | 2 +-
> src/acpi/bgrt/bgrt.c | 2 +-
> src/acpi/drtm/drtm.c | 2 +-
> src/acpi/einj/einj.c | 2 +-
> src/acpi/facs/facs.c | 4 +-
> src/acpi/gtdt/gtdt.c | 14 ++---
> src/acpi/hest/hest.c | 16 +++---
> src/acpi/hmat/hmat.c | 4 +-
> src/acpi/iort/iort.c | 14 ++---
> src/acpi/lpit/lpit.c | 2 +-
> src/acpi/madt/madt.c | 2 +-
> src/acpi/mchi/mchi.c | 4 +-
> src/acpi/mpst/mpst.c | 4 +-
> src/acpi/nfit/nfit.c | 10 ++--
> src/acpi/pcct/pcct.c | 8 +--
> src/acpi/pdtt/pdtt.c | 2 +-
> src/acpi/pmtt/pmtt.c | 2 +-
> src/acpi/pptt/pptt.c | 8 +--
> src/acpi/sdev/sdev.c | 4 +-
> src/acpi/spcr/spcr.c | 4 +-
> src/acpi/spmi/spmi.c | 4 +-
> src/acpi/srat/srat.c | 12 ++--
> src/acpi/waet/waet.c | 2 +-
> src/acpi/wdat/wdat.c | 2 +-
> src/acpi/wsmt/wsmt.c | 2 +-
> src/acpi/xenv/xenv.c | 2 +-
> src/lib/include/fwts_acpi_tables.h | 8 ++-
> src/lib/src/fwts_acpi_object_eval.c | 89 ++++++++++++++---------------
> src/lib/src/fwts_acpi_tables.c | 4 +-
> 29 files changed, 115 insertions(+), 120 deletions(-)
>
> diff --git a/src/acpi/asf/asf.c b/src/acpi/asf/asf.c
> index 4fa97a92..61369808 100644
> --- a/src/acpi/asf/asf.c
> +++ b/src/acpi/asf/asf.c
> @@ -96,7 +96,7 @@ static void asf_check_info(
> info->min_sensor_poll_wait_time);
> }
>
> - fwts_acpi_reserved_bits_check(fw, "ASF!", "ASF_INFO Feature Flags", info->flags, sizeof(info->flags), 1, 7, passed);
> + fwts_acpi_reserved_bits_check("ASF!", "ASF_INFO Feature Flags", info->flags, 1, 7, passed);
> fwts_acpi_reserved_zero_check(fw, "ASF!", "ASF_INFO Reserved1", info->reserved1, sizeof(info->reserved1), passed);
> fwts_acpi_reserved_zero_check(fw, "ASF!", "ASF_INFO Reserved2", info->reserved2, sizeof(info->reserved2), passed);
> fwts_acpi_reserved_zero_check(fw, "ASF!", "ASF_INFO Reserved3", info->reserved3, sizeof(info->reserved3), passed);
> diff --git a/src/acpi/bgrt/bgrt.c b/src/acpi/bgrt/bgrt.c
> index 8777bb27..8fbdf9a1 100644
> --- a/src/acpi/bgrt/bgrt.c
> +++ b/src/acpi/bgrt/bgrt.c
> @@ -47,7 +47,7 @@ static int bgrt_test1(fwts_framework *fw)
> fwts_log_info_simp_int(fw, " Image Offset Y: ", bgrt->image_offset_y);
>
> fwts_acpi_fixed_value_check(fw, LOG_LEVEL_MEDIUM, "BGRT", "Version", bgrt->version, 1, &passed);
> - fwts_acpi_reserved_bits_check(fw, "BGRT", "BGRT Status", bgrt->status, sizeof(bgrt->status), 3, 7, &passed);
> + fwts_acpi_reserved_bits_check("BGRT", "BGRT Status", bgrt->status, 3, 7, &passed);
> fwts_acpi_fixed_value_check(fw, LOG_LEVEL_MEDIUM, "BGRT", "Image Type", bgrt->image_type, 0, &passed);
>
> if (passed)
> diff --git a/src/acpi/drtm/drtm.c b/src/acpi/drtm/drtm.c
> index ff90fc58..66b95695 100644
> --- a/src/acpi/drtm/drtm.c
> +++ b/src/acpi/drtm/drtm.c
> @@ -54,7 +54,7 @@ static int drtm_test1(fwts_framework *fw)
> fwts_log_info_simp_int(fw, " Architecture_Dependent: ", drtm->arch_dependent_address);
> fwts_log_info_simp_int(fw, " DRT_Flags: ", drtm->flags);
>
> - fwts_acpi_reserved_bits_check(fw, "DRTM", "DRT_Flags", drtm->flags, sizeof(drtm->flags), 4, 31, &passed);
> + fwts_acpi_reserved_bits_check("DRTM", "DRT_Flags", drtm->flags, 4, 31, &passed);
> fwts_log_nl(fw);
>
> offset = sizeof(fwts_acpi_table_drtm);
> diff --git a/src/acpi/einj/einj.c b/src/acpi/einj/einj.c
> index 72b5cc94..415d0cec 100644
> --- a/src/acpi/einj/einj.c
> +++ b/src/acpi/einj/einj.c
> @@ -47,7 +47,7 @@ static int einj_test1(fwts_framework *fw)
> fwts_log_info_simp_int(fw, " Reserved: ", reserved);
> fwts_log_info_simp_int(fw, " Injection Entry Count: ", einj->count);
>
> - fwts_acpi_reserved_bits_check(fw, "EINJ", "Injection Flags", einj->flags, sizeof(einj->flags), 0, 31, &passed);
> + fwts_acpi_reserved_bits_check("EINJ", "Injection Flags", einj->flags, 0, 31, &passed);
> fwts_acpi_reserved_zero_check(fw, "EINJ", "Reserved", reserved, sizeof(reserved), &passed);
>
> fwts_log_nl(fw);
> diff --git a/src/acpi/facs/facs.c b/src/acpi/facs/facs.c
> index a2ee62ee..ac8d79b2 100644
> --- a/src/acpi/facs/facs.c
> +++ b/src/acpi/facs/facs.c
> @@ -115,8 +115,8 @@ static int facs_test1(fwts_framework *fw)
> }
>
> fwts_acpi_reserved_zero_check(fw, "FACS", "Reserved", reserved, sizeof(reserved), &passed);
> - fwts_acpi_reserved_bits_check(fw, "FACS", "Flags", facs->flags, sizeof(facs->flags), 2, 31, &passed);
> - fwts_acpi_reserved_bits_check(fw, "FACS", "OSPM Flags", facs->ospm_flags, sizeof(facs->ospm_flags), 1, 31, &passed);
> + fwts_acpi_reserved_bits_check("FACS", "Flags", facs->flags, 2, 31, &passed);
> + fwts_acpi_reserved_bits_check("FACS", "OSPM Flags", facs->ospm_flags, 1, 31, &passed);
>
> for (i = 0; i < 24; i++) {
> if (facs->reserved2[i]) {
> diff --git a/src/acpi/gtdt/gtdt.c b/src/acpi/gtdt/gtdt.c
> index 1d472858..f5d78946 100644
> --- a/src/acpi/gtdt/gtdt.c
> +++ b/src/acpi/gtdt/gtdt.c
> @@ -74,7 +74,7 @@ static int gtdt_test1(fwts_framework *fw)
> "If not provided, this field must be 0xFFFFFFFFFFFFFFFF");
> }
>
> - fwts_acpi_reserved_bits_check(fw, "GTDT", "Flags", gtdt->virtual_timer_flags, sizeof(gtdt->virtual_timer_flags), 3, 31, &passed);
> + fwts_acpi_reserved_bits_check("GTDT", "Flags", gtdt->virtual_timer_flags, 3, 31, &passed);
>
> ptr = (uint8_t *)table->data + gtdt->platform_timer_offset;
> n = gtdt->platform_timer_count;
> @@ -188,16 +188,13 @@ static int gtdt_test1(fwts_framework *fw)
> }
>
> snprintf(field, sizeof(field), "block %" PRIu32 " physical timer flags", i);
> - fwts_acpi_reserved_bits_check(fw, "GTDT", field, block_timer->phys_timer_flags,
> - sizeof(block_timer->phys_timer_flags), 2, 31, &passed);
> + fwts_acpi_reserved_bits_check("GTDT", field, block_timer->phys_timer_flags, 2, 31, &passed);
>
> snprintf(field, sizeof(field), "block %" PRIu32 " virtual timer flags", i);
> - fwts_acpi_reserved_bits_check(fw, "GTDT", field, block_timer->virt_timer_flags,
> - sizeof(block_timer->virt_timer_flags), 2, 31, &passed);
> + fwts_acpi_reserved_bits_check("GTDT", field, block_timer->virt_timer_flags, 2, 31, &passed);
>
> snprintf(field, sizeof(field), "block %" PRIu32 " common flags", i);
> - fwts_acpi_reserved_bits_check(fw, "GTDT", field, block_timer->common_flags,
> - sizeof(block_timer->common_flags), 2, 31, &passed);
> + fwts_acpi_reserved_bits_check("GTDT", field, block_timer->common_flags, 2, 31, &passed);
> }
> ptr += block->length;
> break;
> @@ -245,8 +242,7 @@ static int gtdt_test1(fwts_framework *fw)
> }
>
> snprintf(field, sizeof(field), "SBSA generic watchdog timer %" PRIu32 " flags", i);
> - fwts_acpi_reserved_bits_check(fw, "GTDT", field, watchdog->watchdog_timer_flags,
> - sizeof(watchdog->watchdog_timer_flags), 3, 31, &passed);
> + fwts_acpi_reserved_bits_check("GTDT", field, watchdog->watchdog_timer_flags, 3, 31, &passed);
>
> ptr += watchdog->length;
> break;
> diff --git a/src/acpi/hest/hest.c b/src/acpi/hest/hest.c
> index 7fad85aa..842a25c1 100644
> --- a/src/acpi/hest/hest.c
> +++ b/src/acpi/hest/hest.c
> @@ -389,7 +389,7 @@ static void hest_check_pci_express_root_port_aer(
> fwts_log_nl(fw);
>
> fwts_acpi_reserved_zero_check(fw, "HEST", "PCI Express Root Port Reserved1", aer->reserved1, sizeof(aer->reserved1), passed);
> - fwts_acpi_reserved_bits_check(fw, "HEST", "PCI Express Root Port Flags", aer->flags, sizeof(aer->flags), 2, 7, passed);
> + fwts_acpi_reserved_bits_check("HEST", "PCI Express Root Port Flags", aer->flags, 2, 7, passed);
> fwts_acpi_reserved_zero_check(fw, "HEST", "PCI Express Root Port Reserved2", aer->reserved2, sizeof(aer->reserved2), passed);
>
> if (aer->number_of_records_to_preallocate < 1) {
> @@ -457,7 +457,7 @@ static void hest_check_pci_express_device_aer(
> fwts_log_nl(fw);
>
> fwts_acpi_reserved_zero_check(fw, "HEST", "PCI Express Device Reserved1", aer->reserved1, sizeof(aer->reserved1), passed);
> - fwts_acpi_reserved_bits_check(fw, "HEST", "PCI Express Device Flags", aer->flags, sizeof(aer->flags), 2, 7, passed);
> + fwts_acpi_reserved_bits_check("HEST", "PCI Express Device Flags", aer->flags, 2, 7, passed);
> fwts_acpi_reserved_zero_check(fw, "HEST", "PCI Express Device Reserved2", aer->reserved2, sizeof(aer->reserved2), passed);
>
> if (aer->number_of_records_to_preallocate < 1) {
> @@ -529,7 +529,7 @@ static void hest_heck_pci_express_bridge_aer(
> fwts_log_nl(fw);
>
> fwts_acpi_reserved_zero_check(fw, "HEST", "PCI Express Bridge Reserved1", aer->reserved1, sizeof(aer->reserved1), passed);
> - fwts_acpi_reserved_bits_check(fw, "HEST", "PCI Express Bridge Flags", aer->flags, sizeof(aer->flags), 2, 7, passed);
> + fwts_acpi_reserved_bits_check("HEST", "PCI Express Bridge Flags", aer->flags, 2, 7, passed);
> fwts_acpi_reserved_zero_check(fw, "HEST", "PCI Express Bridge Reserved2", aer->reserved2, sizeof(aer->reserved2), passed);
>
> if (aer->number_of_records_to_preallocate < 1) {
> @@ -649,9 +649,8 @@ static void hest_check_generic_error_source(
> source->notification.type);
> }
>
> - fwts_acpi_reserved_bits_check(fw, "HEST", "HEST Configuration Write Enabled",
> - source->notification.configuration_write_enable,
> - sizeof(source->notification.configuration_write_enable), 6, 31, passed);
> + fwts_acpi_reserved_bits_check("HEST", "HEST Configuration Write Enabled",
> + source->notification.configuration_write_enable, 6, 31, passed);
>
> *length -= sizeof(fwts_acpi_table_hest_generic_hardware_error_source);
> *data += sizeof(fwts_acpi_table_hest_generic_hardware_error_source);
> @@ -764,9 +763,8 @@ static void hest_check_generic_error_source_v2(
> source->notification.type);
> }
>
> - fwts_acpi_reserved_bits_check(fw, "HEST", "HEST Configuration Write Enabled",
> - source->notification.configuration_write_enable,
> - sizeof(source->notification.configuration_write_enable), 6, 31, passed);
> + fwts_acpi_reserved_bits_check("HEST", "HEST Configuration Write Enabled",
> + source->notification.configuration_write_enable, 6, 31, passed);
>
> *length -= sizeof(fwts_acpi_table_hest_generic_hardware_error_source_v2);
> *data += sizeof(fwts_acpi_table_hest_generic_hardware_error_source_v2);
> diff --git a/src/acpi/hmat/hmat.c b/src/acpi/hmat/hmat.c
> index 066a484d..71b14762 100644
> --- a/src/acpi/hmat/hmat.c
> +++ b/src/acpi/hmat/hmat.c
> @@ -41,7 +41,7 @@ static void hmat_proximity_domain_test(fwts_framework *fw, const fwts_acpi_table
> fwts_log_info_simp_int(fw, " Reserved: ", entry->reserved4);
>
> fwts_acpi_reserved_zero_check(fw, "HMAT", "Reserved", entry->header.reserved, sizeof(entry->header.reserved), passed);
> - fwts_acpi_reserved_bits_check(fw, "HMAT", "Flags", entry->flags, sizeof(entry->flags), 1, 15, passed);
> + fwts_acpi_reserved_bits_check("HMAT", "Flags", entry->flags, 1, 15, passed);
> fwts_acpi_reserved_zero_check(fw, "HMAT", "Reserved", entry->reserved1, sizeof(entry->reserved1), passed);
> fwts_acpi_reserved_zero_check(fw, "HMAT", "Reserved", entry->reserved2, sizeof(entry->reserved2), passed);
> fwts_acpi_reserved_zero_check(fw, "HMAT", "Reserved", entry->reserved3, sizeof(entry->reserved3), passed);
> @@ -70,7 +70,7 @@ static void hmat_locality_test(fwts_framework *fw, const fwts_acpi_table_hmat_lo
> fwts_log_info_simp_int(fw, " Entry Base Unit: ", entry->entry_base_unit);
>
> fwts_acpi_reserved_zero_check(fw, "HMAT", "Reserved", entry->header.reserved, sizeof(entry->header.reserved), passed);
> - fwts_acpi_reserved_bits_check(fw, "HMAT", "Flags", entry->flags, sizeof(entry->flags), 6, 7, passed);
> + fwts_acpi_reserved_bits_check("HMAT", "Flags", entry->flags, 6, 7, passed);
>
> if (entry->data_type > 5) {
> *passed = false;
> diff --git a/src/acpi/iort/iort.c b/src/acpi/iort/iort.c
> index 2b7e869e..fc6203b1 100644
> --- a/src/acpi/iort/iort.c
> +++ b/src/acpi/iort/iort.c
> @@ -166,7 +166,7 @@ static void iort_id_mappings_check(
> }
>
> snprintf(field, sizeof(field), "ID Mapping %" PRIu32 " flags", i);
> - fwts_acpi_reserved_bits_check(fw, "IORT", field, id_mapping->flags, sizeof(id_mapping->flags), 1, 31, passed);
> + fwts_acpi_reserved_bits_check("IORT", field, id_mapping->flags, 1, 31, passed);
> }
> }
>
> @@ -209,7 +209,7 @@ static void iort_smmu_interrupt_flags_check(
> uint32_t flags,
> bool *passed)
> {
> - fwts_acpi_reserved_bits_check(fw, "IORT", name, flags, sizeof(flags), 1, 31, passed);
> + fwts_acpi_reserved_bits_check("IORT", name, flags, 1, 31, passed);
> }
>
> /*
> @@ -366,16 +366,14 @@ static void iort_memory_access_properties_check(
> }
>
> snprintf(field, sizeof(field), "%s Allocation Hints", name);
> - fwts_acpi_reserved_bits_check(fw, "IORT", field, properties->allocation_hints,
> - sizeof(properties->allocation_hints), 4, 7, passed);
> + fwts_acpi_reserved_bits_check("IORT", field, properties->allocation_hints, 4, 7, passed);
>
> snprintf(field, sizeof(field), "%s Reserved", name);
> fwts_acpi_reserved_zero_check(fw, "IORT", field, properties->reserved,
> sizeof(properties->reserved), passed);
>
> snprintf(field, sizeof(field), "%s Memory Access Flags", name);
> - fwts_acpi_reserved_bits_check(fw, "IORT", field, properties->memory_access_flags,
> - sizeof(properties->memory_access_flags), 2, 7, passed);
> + fwts_acpi_reserved_bits_check("IORT", field, properties->memory_access_flags, 2, 7, passed);
>
> cca = properties->cache_coherent & 1;
> cpm = properties->memory_access_flags & 1;
> @@ -543,7 +541,7 @@ static void iort_check_smmu(
> "a model value 0 to 5.", node->model);
> }
>
> - fwts_acpi_reserved_bits_check(fw, "IORT", "SMMU Reserved Flags", node->flags, sizeof(node->flags), 2, 31, passed);
> + fwts_acpi_reserved_bits_check("IORT", "SMMU Reserved Flags", node->flags, 2, 31, passed);
> fwts_log_nl(fw);
> }
>
> @@ -583,7 +581,7 @@ static void iort_check_smmuv3(
> "a model value of 0.", node->model);
> }
>
> - fwts_acpi_reserved_bits_check(fw, "IORT", "SMMUv3 Reserved Flags", node->flags, sizeof(node->flags), 2, 31, passed);
> + fwts_acpi_reserved_bits_check("IORT", "SMMUv3 Reserved Flags", node->flags, 2, 31, passed);
> fwts_log_nl(fw);
> }
>
> diff --git a/src/acpi/lpit/lpit.c b/src/acpi/lpit/lpit.c
> index 0e313682..097dadb7 100644
> --- a/src/acpi/lpit/lpit.c
> +++ b/src/acpi/lpit/lpit.c
> @@ -81,7 +81,7 @@ static void lpit_check_type_0(
> fwts_log_nl(fw);
>
> fwts_acpi_reserved_zero_check(fw, "LPIT", "Native C-state based LPI structure reserved", lpi->reserved, sizeof(lpi->reserved), passed);
> - fwts_acpi_reserved_bits_check(fw, "LPIT", "LPI structure flags", lpi->flags, sizeof(lpi->flags), 2, 31, passed);
> + fwts_acpi_reserved_bits_check("LPIT", "LPI structure flags", lpi->flags, 2, 31, passed);
>
> /* 2.2.1.2, if FFH, then it is a MSR, check GAS fields */
> if (((lpi->flags & 2) == 0) &&
> diff --git a/src/acpi/madt/madt.c b/src/acpi/madt/madt.c
> index 2a18a62e..295cd012 100644
> --- a/src/acpi/madt/madt.c
> +++ b/src/acpi/madt/madt.c
> @@ -576,7 +576,7 @@ static void check_madt_apic_flags(fwts_framework *fw, uint8_t type, uint32_t fla
> if (madt->header.revision < 5)
> head = 1;
>
> - fwts_acpi_reserved_bits_check(fw, "MADT", "Local APIC Flags", flags, sizeof(flags), head, 31, &passed);
> + fwts_acpi_reserved_bits_check("MADT", "Local APIC Flags", flags, head, 31, &passed);
>
> if (passed)
> fwts_passed(fw, "MADT %s flags field, bits %" PRIu8
> diff --git a/src/acpi/mchi/mchi.c b/src/acpi/mchi/mchi.c
> index fd31c3a4..45041bce 100644
> --- a/src/acpi/mchi/mchi.c
> +++ b/src/acpi/mchi/mchi.c
> @@ -98,7 +98,7 @@ static int mchi_test1(fwts_framework *fw)
> "255 (OEM defined)", mchi->protocol_identifier);
> }
>
> - fwts_acpi_reserved_bits_check(fw, "MCHI", "Interrupt Type", mchi->interrupt_type, sizeof(mchi->interrupt_type), 2, 7, &passed);
> + fwts_acpi_reserved_bits_check("MCHI", "Interrupt Type", mchi->interrupt_type, 2, 7, &passed);
>
> if (((mchi->interrupt_type & 0x01) == 0) &&
> (mchi->gpe != 0)) {
> @@ -111,7 +111,7 @@ static int mchi_test1(fwts_framework *fw)
> mchi->gpe);
> }
>
> - fwts_acpi_reserved_bits_check(fw, "MCHI", "PCI Device Flag", mchi->pci_device_flag, sizeof(mchi->pci_device_flag), 1, 7, &passed);
> + fwts_acpi_reserved_bits_check("MCHI", "PCI Device Flag", mchi->pci_device_flag, 1, 7, &passed);
>
> if (((mchi->interrupt_type & 0x02) == 0) &&
> (mchi->global_system_interrupt != 0)) {
> diff --git a/src/acpi/mpst/mpst.c b/src/acpi/mpst/mpst.c
> index 6914842d..4bd8f14c 100644
> --- a/src/acpi/mpst/mpst.c
> +++ b/src/acpi/mpst/mpst.c
> @@ -75,7 +75,7 @@ static int mpst_test1(fwts_framework *fw)
> fwts_log_info_simp_int(fw, " Number of Power States: ", power_node->num_states);
> fwts_log_info_simp_int(fw, " Number of Physical Components: ", power_node->num_components);
>
> - fwts_acpi_reserved_bits_check(fw, "MPST", "Power Node Flags", power_node->flags, sizeof(power_node->flags), 3, 7, &passed);
> + fwts_acpi_reserved_bits_check("MPST", "Power Node Flags", power_node->flags, 3, 7, &passed);
> fwts_acpi_reserved_zero_check(fw, "MPST", "Reserved", power_node->reserved, sizeof(power_node->reserved), &passed);
>
> node_length = sizeof(fwts_acpi_table_mpst_power_node) +
> @@ -161,7 +161,7 @@ static int mpst_test1(fwts_framework *fw)
> "0x%2.2" PRIx8 " instead", (power_char->structure_id & 0xC0) >> 6);
> }
>
> - fwts_acpi_reserved_bits_check(fw, "MPST", "Power Characteristics Flags", power_char->flags, sizeof(power_char->flags), 3, 7, &passed);
> + fwts_acpi_reserved_bits_check("MPST", "Power Characteristics Flags", power_char->flags, 3, 7, &passed);
> fwts_acpi_reserved_zero_check(fw, "MPST", "Reserved1", power_char->reserved1, sizeof(power_char->reserved1), &passed);
> fwts_acpi_reserved_zero_check(fw, "MPST", "Reserved2", power_char->reserved2, sizeof(power_char->reserved2), &passed);
>
> diff --git a/src/acpi/nfit/nfit.c b/src/acpi/nfit/nfit.c
> index fbebf39f..5c2c75fe 100644
> --- a/src/acpi/nfit/nfit.c
> +++ b/src/acpi/nfit/nfit.c
> @@ -232,7 +232,7 @@ static int nfit_test1(fwts_framework *fw)
> }
> }
>
> - fwts_acpi_reserved_bits_check(fw, "NFIT", "Flags", nfit_struct->flags, sizeof(nfit_struct->flags), 3, 15, &passed);
> + fwts_acpi_reserved_bits_check("NFIT", "Flags", nfit_struct->flags, 3, 15, &passed);
>
> if (nfit_struct->reserved != 0)
> reserved_passed = nfit_struct->reserved;
> @@ -271,7 +271,7 @@ static int nfit_test1(fwts_framework *fw)
> fwts_log_info_simp_int(fw, " NVDIMM State Flags: ", nfit_struct->flags);
> fwts_log_info_simp_int(fw, " Reserved: ", nfit_struct->reserved);
>
> - fwts_acpi_reserved_bits_check(fw, "NFIT", "NVDIMM State Flags", nfit_struct->flags, sizeof(nfit_struct->flags), 7, 15, &passed);
> + fwts_acpi_reserved_bits_check("NFIT", "NVDIMM State Flags", nfit_struct->flags, 7, 15, &passed);
>
> if (nfit_struct->reserved != 0)
> reserved_passed = nfit_struct->reserved;
> @@ -383,7 +383,7 @@ static int nfit_test1(fwts_framework *fw)
> if (nfit_struct->reserved != 0)
> reserved_passed = nfit_struct->reserved;
>
> - fwts_acpi_reserved_bits_check(fw, "NFIT", "Valid", nfit_struct->valid_fields, sizeof(nfit_struct->valid_fields), 1, 7, &passed);
> + fwts_acpi_reserved_bits_check("NFIT", "Valid", nfit_struct->valid_fields, 1, 7, &passed);
>
> if (entry->length >= sizeof(*nfit_struct)) {
> uint64_t reserved1;
> @@ -406,7 +406,7 @@ static int nfit_test1(fwts_framework *fw)
> fwts_log_info_simp_int(fw, " NVDIMM Control Region Flag: ", nfit_struct->flags);
> fwts_log_info_simp_int(fw, " Reserved: ", reserved1);
>
> - fwts_acpi_reserved_bits_check(fw, "NFIT", "NVDIMM Control Region Flags", nfit_struct->flags, sizeof(nfit_struct->flags), 1, 15, &passed);
> + fwts_acpi_reserved_bits_check("NFIT", "NVDIMM Control Region Flags", nfit_struct->flags, 1, 15, &passed);
> fwts_log_info_simp_int(fw, " NVDIMM Control Region Structure Index: ", nfit_struct->region_index);
> }
>
> @@ -492,7 +492,7 @@ static int nfit_test1(fwts_framework *fw)
> fwts_log_info_simp_int(fw, " Reserved2: ", nfit_struct->reserved2);
>
> fwts_acpi_reserved_zero_check(fw, "NFIT", "Reserved1", reserved1, sizeof(reserved1), &passed);
> - fwts_acpi_reserved_bits_check(fw, "NFIT", "Capabilities", nfit_struct->cap, sizeof(nfit_struct->cap), 3, 31, &passed);
> + fwts_acpi_reserved_bits_check("NFIT", "Capabilities", nfit_struct->cap, 3, 31, &passed);
>
> if ((nfit_struct->cap & 0x1) && !(nfit_struct->cap & 0x2)) {
> passed = false;
> diff --git a/src/acpi/pcct/pcct.c b/src/acpi/pcct/pcct.c
> index 3fe3ad06..acc3fc2f 100644
> --- a/src/acpi/pcct/pcct.c
> +++ b/src/acpi/pcct/pcct.c
> @@ -132,7 +132,7 @@ static void hw_reduced_comm_test_type1(fwts_framework *fw, fwts_acpi_table_pcct_
> fwts_log_info_simp_int(fw, " Max Periodic Access Rate: ", entry->max_periodic_access_rate);
> fwts_log_info_simp_int(fw, " Min Request Turnaround Time: ", entry->min_request_turnaround_time);
>
> - fwts_acpi_reserved_bits_check(fw, "PCCT", "Platform Interrupt Flags", entry->platform_interrupt_flags, sizeof(uint8_t), 2, 7, passed);
> + fwts_acpi_reserved_bits_check("PCCT", "Platform Interrupt Flags", entry->platform_interrupt_flags, 2, 7, passed);
> }
>
> static void hw_reduced_comm_test_type2(fwts_framework *fw, fwts_acpi_table_pcct_subspace_type_2 *entry, bool *passed)
> @@ -154,7 +154,7 @@ static void hw_reduced_comm_test_type2(fwts_framework *fw, fwts_acpi_table_pcct_
> fwts_log_info_simp_int(fw, " Platform Ack Preserve: ", entry->platform_ack_preserve);
> fwts_log_info_simp_int(fw, " Platform Ack Write: ", entry->platform_ack_write);
>
> - fwts_acpi_reserved_bits_check(fw, "PCCT", "Platform Interrupt Flags", entry->platform_interrupt_flags, sizeof(uint8_t), 2, 7, passed);
> + fwts_acpi_reserved_bits_check("PCCT", "Platform Interrupt Flags", entry->platform_interrupt_flags, 2, 7, passed);
> }
>
> static void extended_pcc_test(fwts_framework *fw, fwts_acpi_table_pcct_subspace_type_3_4 *entry, bool *passed)
> @@ -187,7 +187,7 @@ static void extended_pcc_test(fwts_framework *fw, fwts_acpi_table_pcct_subspace_
> gas_messages(fw, entry->header.type, &entry->error_status_register, passed);
> fwts_log_info_simp_int(fw, " Error Status Mask: ", entry->error_status_mask);
>
> - fwts_acpi_reserved_bits_check(fw, "PCCT", "Platform Interrupt Flags", entry->platform_interrupt_flags, sizeof(uint8_t), 2, 7, passed);
> + fwts_acpi_reserved_bits_check("PCCT", "Platform Interrupt Flags", entry->platform_interrupt_flags, 2, 7, passed);
> }
>
> static void hw_registers_based_comm_test(fwts_framework *fw, fwts_acpi_table_pcct_subspace_type_5 *entry, bool *passed)
> @@ -221,7 +221,7 @@ static int pcct_test1(fwts_framework *fw)
> fwts_log_info_simp_int(fw, " Reserved: ", pcct->reserved);
> fwts_log_nl(fw);
>
> - fwts_acpi_reserved_bits_check(fw, "PCCT", "Flags", pcct->flags, sizeof(pcct->flags), 1, 31, &passed);
> + fwts_acpi_reserved_bits_check("PCCT", "Flags", pcct->flags, 1, 31, &passed);
> fwts_acpi_reserved_zero_check(fw, "PCCT", "Reserved", pcct->reserved, sizeof(pcct->reserved), &passed);
>
> offset = sizeof(fwts_acpi_table_pcct);
> diff --git a/src/acpi/pdtt/pdtt.c b/src/acpi/pdtt/pdtt.c
> index 1feb0af0..5a0a0699 100644
> --- a/src/acpi/pdtt/pdtt.c
> +++ b/src/acpi/pdtt/pdtt.c
> @@ -62,7 +62,7 @@ static int pdtt_test1(fwts_framework *fw)
> for (i = 0; i < pdtt->trigger_count; i++) {
> fwts_log_info_simp_int(fw, " Sub channel ID: ", entry->sub_channel_id);
> fwts_log_info_simp_int(fw, " Flags: ", entry->flags);
> - fwts_acpi_reserved_bits_check(fw, "PDTT", "Flags", entry->flags, sizeof(entry->flags), 3, 7, &passed);
> + fwts_acpi_reserved_bits_check("PDTT", "Flags", entry->flags, 3, 7, &passed);
>
> if ((offset += sizeof(fwts_acpi_table_pdtt_channel)) > table->length) {
> passed = false;
> diff --git a/src/acpi/pmtt/pmtt.c b/src/acpi/pmtt/pmtt.c
> index 0096873f..c4dbf878 100644
> --- a/src/acpi/pmtt/pmtt.c
> +++ b/src/acpi/pmtt/pmtt.c
> @@ -36,7 +36,7 @@ static void pmtt_subtable_header_test(fwts_framework *fw, fwts_acpi_table_pmtt_h
> fwts_log_info_simp_int(fw, " Reserved: ", entry->reserved2);
>
> fwts_acpi_reserved_zero_check(fw, "PMTT", "Reserved1", entry->reserved1, sizeof(entry->reserved1), passed);
> - fwts_acpi_reserved_bits_check(fw, "PMTT", "Flags", entry->flags, sizeof(entry->flags), 4, 15, passed);
> + fwts_acpi_reserved_bits_check("PMTT", "Flags", entry->flags, 4, 15, passed);
>
> if ((entry->flags & 0x0C) == 0x0C) {
> *passed = false;
> diff --git a/src/acpi/pptt/pptt.c b/src/acpi/pptt/pptt.c
> index 7b5adb27..52e892be 100644
> --- a/src/acpi/pptt/pptt.c
> +++ b/src/acpi/pptt/pptt.c
> @@ -54,9 +54,9 @@ static void pptt_processor_test(fwts_framework *fw, const fwts_acpi_table_pptt_p
> fwts_acpi_reserved_zero_check(fw, "PPTT", "Reserved", entry->reserved, sizeof(entry->reserved), passed);
>
> if (rev == 1)
> - fwts_acpi_reserved_bits_check(fw, "PPTT", "Flags", entry->flags, sizeof(entry->flags), 2, 31, passed);
> + fwts_acpi_reserved_bits_check("PPTT", "Flags", entry->flags, 2, 31, passed);
> else if (rev == 2)
> - fwts_acpi_reserved_bits_check(fw, "PPTT", "Flags", entry->flags, sizeof(entry->flags), 5, 31, passed);
> + fwts_acpi_reserved_bits_check("PPTT", "Flags", entry->flags, 5, 31, passed);
>
> }
>
> @@ -76,8 +76,8 @@ static void pptt_cache_test(fwts_framework *fw, const fwts_acpi_table_pptt_cache
> fwts_log_info_simp_int(fw, " Line size: ", entry->line_size);
>
> fwts_acpi_reserved_zero_check(fw, "PPTT", "Reserved", entry->reserved, sizeof(entry->reserved), passed);
> - fwts_acpi_reserved_bits_check(fw, "PPTT", "Flags", entry->flags, sizeof(entry->flags), 7, 31, passed);
> - fwts_acpi_reserved_bits_check(fw, "PPTT", "Attributes", entry->attributes, sizeof(entry->attributes), 5, 7, passed);
> + fwts_acpi_reserved_bits_check("PPTT", "Flags", entry->flags, 7, 31, passed);
> + fwts_acpi_reserved_bits_check("PPTT", "Attributes", entry->attributes, 5, 7, passed);
> }
>
> static void pptt_id_test(fwts_framework *fw, const fwts_acpi_table_pptt_id *entry, bool *passed)
> diff --git a/src/acpi/sdev/sdev.c b/src/acpi/sdev/sdev.c
> index 1f8e14ea..8e1e142b 100644
> --- a/src/acpi/sdev/sdev.c
> +++ b/src/acpi/sdev/sdev.c
> @@ -40,7 +40,7 @@ static void sdev_acpi_namespace_device_test(fwts_framework *fw, const fwts_acpi_
> fwts_log_info_simp_int(fw, " Vendor Specific Data Offset: ", entry->vendor_offset);
> fwts_log_info_simp_int(fw, " Vendor Specific Data Length: ", entry->vendor_length);
>
> - fwts_acpi_reserved_bits_check(fw, "SDEV", "Flags", entry->header.flags, sizeof(entry->header.flags), 1, 15, passed);
> + fwts_acpi_reserved_bits_check("SDEV", "Flags", entry->header.flags, 1, 15, passed);
> }
>
> static void sdev_pcie_endpoint_device_test(fwts_framework *fw, const fwts_acpi_table_sdev_pcie *entry, bool *passed)
> @@ -56,7 +56,7 @@ static void sdev_pcie_endpoint_device_test(fwts_framework *fw, const fwts_acpi_t
> fwts_log_info_simp_int(fw, " Vendor Specific Data Offset: ", entry->vendor_offset);
> fwts_log_info_simp_int(fw, " Vendor Specific Data Length: ", entry->vendor_length);
>
> - fwts_acpi_reserved_bits_check(fw, "SDEV", "Flags", entry->header.flags, sizeof(entry->header.flags), 1, 15, passed);
> + fwts_acpi_reserved_bits_check("SDEV", "Flags", entry->header.flags, 1, 15, passed);
> }
>
> static int sdev_test1(fwts_framework *fw)
> diff --git a/src/acpi/spcr/spcr.c b/src/acpi/spcr/spcr.c
> index 8ec10b28..db882d01 100644
> --- a/src/acpi/spcr/spcr.c
> +++ b/src/acpi/spcr/spcr.c
> @@ -204,7 +204,7 @@ static int spcr_test1(fwts_framework *fw)
>
> fwts_acpi_fixed_value_check(fw, LOG_LEVEL_HIGH, "SPCR", "Parity", spcr->parity, 0, &passed);
> fwts_acpi_fixed_value_check(fw, LOG_LEVEL_HIGH, "SPCR", "Stop", spcr->stop_bits, 1, &passed);
> - fwts_acpi_reserved_bits_check(fw, "SPCR", "Flow control", spcr->flow_control, sizeof(spcr->flow_control), 3, 7, &passed);
> + fwts_acpi_reserved_bits_check("SPCR", "Flow control", spcr->flow_control, 3, 7, &passed);
>
> reserved = false;
> switch (spcr->terminal_type) {
> @@ -271,7 +271,7 @@ static int spcr_test1(fwts_framework *fw)
> }
> }
>
> - fwts_acpi_reserved_bits_check(fw, "SPCR", "PCI Flags", spcr->pci_flags, sizeof(spcr->pci_flags), 1, 31, &passed);
> + fwts_acpi_reserved_bits_check("SPCR", "PCI Flags", spcr->pci_flags, 1, 31, &passed);
> fwts_acpi_reserved_zero_check(fw, "SPCR", "Reserved3", spcr->reserved3, sizeof(spcr->reserved3), &passed);
>
> if (passed)
> diff --git a/src/acpi/spmi/spmi.c b/src/acpi/spmi/spmi.c
> index d1cba2c1..227903e4 100644
> --- a/src/acpi/spmi/spmi.c
> +++ b/src/acpi/spmi/spmi.c
> @@ -97,7 +97,7 @@ static int spmi_test1(fwts_framework *fw)
> }
>
> fwts_acpi_fixed_value_check(fw, LOG_LEVEL_MEDIUM, "SPMI", "Reserved1", spmi->reserved1, 1, &passed);
> - fwts_acpi_reserved_bits_check(fw, "SPMI", "Interrupt type", spmi->interrupt_type, sizeof(spmi->interrupt_type), 2, 7, &passed);
> + fwts_acpi_reserved_bits_check("SPMI", "Interrupt type", spmi->interrupt_type, 2, 7, &passed);
>
> /* Check for zero GPE on specific condition of interrupt type */
> if (((spmi->interrupt_type & 1) == 0) &&
> @@ -111,7 +111,7 @@ static int spmi_test1(fwts_framework *fw)
> }
>
> fwts_acpi_reserved_zero_check(fw, "SPMI", "Reserved2", spmi->reserved2, sizeof(spmi->reserved2), &passed);
> - fwts_acpi_reserved_bits_check(fw, "SPMI", "PCI device flag", spmi->pci_device_flag, sizeof(spmi->pci_device_flag), 1, 7, &passed);
> + fwts_acpi_reserved_bits_check("SPMI", "PCI device flag", spmi->pci_device_flag, 1, 7, &passed);
>
> if (((spmi->interrupt_type & 2) == 0) &&
> (spmi->global_system_interrupt != 0)) {
> diff --git a/src/acpi/srat/srat.c b/src/acpi/srat/srat.c
> index 65513e37..b157e1d9 100644
> --- a/src/acpi/srat/srat.c
> +++ b/src/acpi/srat/srat.c
> @@ -67,7 +67,7 @@ static void srat_check_local_apic_sapic_affinity(
> fwts_log_info_simp_int(fw, " Clock Domain ", affinity->clock_domain);
> fwts_log_nl(fw);
>
> - fwts_acpi_reserved_bits_check(fw, "SRAT", "Local APIC/SPAIC Affinity Flags", affinity->flags, sizeof(affinity->flags), 1, 31, passed);
> + fwts_acpi_reserved_bits_check("SRAT", "Local APIC/SPAIC Affinity Flags", affinity->flags, 1, 31, passed);
>
> /*
> * Not clear of bits 0..7 of Proximity Domain are reserved or not
> @@ -122,7 +122,7 @@ static void srat_check_memory_affinity(
> fwts_log_info_simp_int(fw, " Reserved: ", affinity->reserved3);
> fwts_log_nl(fw);
>
> - fwts_acpi_reserved_bits_check(fw, "SRAT", "Memory Affinity Flags", affinity->flags, sizeof(affinity->flags), 3, 31, passed);
> + fwts_acpi_reserved_bits_check("SRAT", "Memory Affinity Flags", affinity->flags, 3, 31, passed);
>
> done:
> *length -= sizeof(fwts_acpi_table_memory_affinity);
> @@ -175,7 +175,7 @@ static void srat_check_local_x2apic_affinity(
> *passed = false;
> }
>
> - fwts_acpi_reserved_bits_check(fw, "SRAT", "Local x2APIC Affinity Flags", affinity->flags, sizeof(affinity->flags), 1, 31, passed);
> + fwts_acpi_reserved_bits_check("SRAT", "Local x2APIC Affinity Flags", affinity->flags, 1, 31, passed);
>
> /*
> * Clock domain probably needs deeper sanity checking, for now
> @@ -221,7 +221,7 @@ static void srat_check_gicc_affinity(
> fwts_log_info_simp_int(fw, " Clock Domain ", affinity->clock_domain);
> fwts_log_nl(fw);
>
> - fwts_acpi_reserved_bits_check(fw, "SRAT", "GICC Affinity Flags", affinity->flags, sizeof(affinity->flags), 1, 31, passed);
> + fwts_acpi_reserved_bits_check("SRAT", "GICC Affinity Flags", affinity->flags, 1, 31, passed);
>
> /*
> * Clock domain probably needs deeper sanity checking, for now
> @@ -320,7 +320,7 @@ static void srat_check_initiator_affinity(
> fwts_log_nl(fw);
>
> fwts_acpi_reserved_zero_check(fw, "SRAT", "Initiator Affinity Reserved", affinity->reserved1, sizeof(affinity->reserved1), passed);
> - fwts_acpi_reserved_bits_check(fw, "SRAT", "Initiator Affinity Device Handle Type", affinity->device_handle_type, sizeof(affinity->device_handle_type), 1, 7, passed);
> + fwts_acpi_reserved_bits_check("SRAT", "Initiator Affinity Device Handle Type", affinity->device_handle_type, 1, 7, passed);
> if (affinity->device_handle_type == 0)
> h_reserved = affinity->device_handle[12];
> else if (affinity->device_handle_type == 1) {
> @@ -329,7 +329,7 @@ static void srat_check_initiator_affinity(
> h_reserved += affinity->device_handle[i];
> }
> fwts_acpi_reserved_zero_check(fw, "SRAT", "Initiator Affinity Device Handle Reserve", h_reserved, sizeof(uint32_t), passed);
> - fwts_acpi_reserved_bits_check(fw, "SRAT", "Initiator Affinity Flags", affinity->flags, sizeof(affinity->flags), 2, 31, passed);
> + fwts_acpi_reserved_bits_check("SRAT", "Initiator Affinity Flags", affinity->flags, 2, 31, passed);
> fwts_acpi_reserved_zero_check(fw, "SRAT", "Initiator Affinity Reserved", affinity->reserved2, sizeof(affinity->reserved2), passed);
>
> done:
> diff --git a/src/acpi/waet/waet.c b/src/acpi/waet/waet.c
> index 8da30cb1..b324d9fd 100644
> --- a/src/acpi/waet/waet.c
> +++ b/src/acpi/waet/waet.c
> @@ -53,7 +53,7 @@ static int waet_test1(fwts_framework *fw)
> fwts_log_info_verbatim(fw, " Bit [1] PM Timer Good: %1" PRIu32, (waet->flags >> 1) & 1);
> fwts_log_nl(fw);
>
> - fwts_acpi_reserved_bits_check(fw, "WAET", "Emulated Device Flags", waet->flags, sizeof(waet->flags), 2, 31, &passed);
> + fwts_acpi_reserved_bits_check("WAET", "Emulated Device Flags", waet->flags, 2, 31, &passed);
>
> done:
> if (passed)
> diff --git a/src/acpi/wdat/wdat.c b/src/acpi/wdat/wdat.c
> index 0a270128..01ea5be6 100644
> --- a/src/acpi/wdat/wdat.c
> +++ b/src/acpi/wdat/wdat.c
> @@ -102,7 +102,7 @@ static int wdat_test1(fwts_framework *fw)
> * this does sanity check that somebody has not set these
> * bits accidentally. This is a LOW issue.
> */
> - fwts_acpi_reserved_bits_check(fw, "WDAT", "Watchdog Flags", wdat->watchdog_flags, sizeof(wdat->watchdog_flags), 1, 6, &passed);
> + fwts_acpi_reserved_bits_check("WDAT", "Watchdog Flags", wdat->watchdog_flags, 1, 6, &passed);
>
> total_length = sizeof(fwts_acpi_table_wdat) +
> (wdat->number_of_entries * sizeof(fwts_acpi_table_wdat_instr_entries));
> diff --git a/src/acpi/wsmt/wsmt.c b/src/acpi/wsmt/wsmt.c
> index 573c13d1..2b728e89 100644
> --- a/src/acpi/wsmt/wsmt.c
> +++ b/src/acpi/wsmt/wsmt.c
> @@ -41,7 +41,7 @@ static int wsmt_test1(fwts_framework *fw)
> fwts_log_info_verbatim(fw, "WSMT Windows SMM Security Mitigations Table:");
> fwts_log_info_simp_int(fw, " Protection Flags: ", wsmt->protection_flags);
>
> - fwts_acpi_reserved_bits_check(fw, "WSMT", "Protection Flags", wsmt->protection_flags, sizeof(wsmt->protection_flags), 3, 31, &passed);
> + fwts_acpi_reserved_bits_check("WSMT", "Protection Flags", wsmt->protection_flags, 3, 31, &passed);
>
> if ((wsmt->protection_flags & 0x2) && !(wsmt->protection_flags & 0x1)) {
> passed = false;
> diff --git a/src/acpi/xenv/xenv.c b/src/acpi/xenv/xenv.c
> index fc558f36..dcd3f760 100644
> --- a/src/acpi/xenv/xenv.c
> +++ b/src/acpi/xenv/xenv.c
> @@ -51,7 +51,7 @@ static int xenv_test1(fwts_framework *fw)
> fwts_log_info_simp_int(fw, " Evtchn Intr: ", xenv->evtchn_intr);
> fwts_log_info_simp_int(fw, " Evtchn Intr Flags: ", xenv->evtchn_intr_flags);
>
> - fwts_acpi_reserved_bits_check(fw, "XENV", "Evtchn Intr Flags", xenv->evtchn_intr_flags, sizeof(xenv->evtchn_intr_flags), 2, 7, &passed);
> + fwts_acpi_reserved_bits_check("XENV", "Evtchn Intr Flags", xenv->evtchn_intr_flags, 2, 7, &passed);
>
> if (passed)
> fwts_passed(fw, "No issues found in XENV table.");
> diff --git a/src/lib/include/fwts_acpi_tables.h b/src/lib/include/fwts_acpi_tables.h
> index fcfb9198..46fa53bc 100644
> --- a/src/lib/include/fwts_acpi_tables.h
> +++ b/src/lib/include/fwts_acpi_tables.h
> @@ -26,7 +26,11 @@
>
> #define ACPI_MAX_TABLES (128)
>
> -#define fwts_acpi_revision_check(table, actual, must_be, passed) fwts_acpi_fixed_value_check(fw, LOG_LEVEL_HIGH, table, "Revision", actual, must_be, passed)
> +#define fwts_acpi_revision_check(table, actual, must_be, passed) \
> + fwts_acpi_fixed_value_check(fw, LOG_LEVEL_HIGH, table, "Revision", actual, must_be, passed)
> +
> +#define fwts_acpi_reserved_bits_check(table, field, value, min, max, passed) \
> + fwts_acpi_reserved_bits_check_(fw, table, field, value, sizeof(value), min, max, passed)
>
> typedef enum {
> FWTS_ACPI_TABLE_FROM_FIRMWARE, /* directly from firmware */
> @@ -65,7 +69,7 @@ fwts_bool fwts_acpi_is_reduced_hardware(fwts_framework *fw);
>
> void fwts_acpi_reserved_zero_check(fwts_framework *fw, const char *table, const char *field, uint64_t value, uint8_t size, bool *passed);
> void fwts_acpi_reserved_zero_array_check(fwts_framework *fw, const char *table, const char *field, uint8_t* data, uint8_t length, bool *passed);
> -void fwts_acpi_reserved_bits_check(fwts_framework *fw, const char *table, const char *field, uint64_t value, uint8_t size, uint8_t min, uint8_t max, bool *passed);
> +void fwts_acpi_reserved_bits_check_(fwts_framework *fw, const char *table, const char *field, uint64_t value, uint8_t size, uint8_t min, uint8_t max, bool *passed);
> void fwts_acpi_reserved_type_check(fwts_framework *fw, const char *table, uint8_t value, uint8_t min, uint8_t reserved, bool *passed);
> bool fwts_acpi_table_length_check(fwts_framework *fw, const char *table, uint32_t length, uint32_t size);
> bool fwts_acpi_structure_length_check(fwts_framework *fw, const char *table, uint8_t subtable_type, uint32_t subtable_length, uint32_t size);
> diff --git a/src/lib/src/fwts_acpi_object_eval.c b/src/lib/src/fwts_acpi_object_eval.c
> index 17e42ca0..cffa7d0a 100644
> --- a/src/lib/src/fwts_acpi_object_eval.c
> +++ b/src/lib/src/fwts_acpi_object_eval.c
> @@ -1954,7 +1954,7 @@ void fwts_method_test_CRS_large_resource_items(
> fwts_method_test_CRS_large_size(fw, name, objname, data, length, 17, 65535, passed);
> if (!*passed) /* Too short, abort */
> break;
> - fwts_acpi_reserved_bits_check(fw, "_CRS", "Flags[low]", data[4], sizeof(data[4]), 1, 7, passed);
> + fwts_acpi_reserved_bits_check("_CRS", "Flags[low]", data[4], 1, 7, passed);
> fwts_acpi_reserved_zero_check(fw, "_CRS", "Flags[high]", data[5], sizeof(data[5]), passed);
> fwts_acpi_reserved_zero_check(fw, "_CRS", "Resource Source Index", data[11], sizeof(data[11]), passed);
> break;
> @@ -1967,7 +1967,7 @@ void fwts_method_test_CRS_large_resource_items(
> if (!*passed) /* Too short, abort */
> break;
>
> - fwts_acpi_reserved_bits_check(fw, "_CRS", "Flags[low]", data[4], sizeof(data[4]), 2, 7, passed);
> + fwts_acpi_reserved_bits_check("_CRS", "Flags[low]", data[4], 2, 7, passed);
> fwts_acpi_reserved_zero_check(fw, "_CRS", "Flags[high]", data[5], sizeof(data[5]), passed);
>
> if (data[6] > 0xd && data[6] < 0x80) {
> @@ -1990,7 +1990,7 @@ void fwts_method_test_CRS_large_resource_items(
> if (!*passed) /* Too short, abort */
> break;
>
> - fwts_acpi_reserved_bits_check(fw, "_CRS", "Flags[low]", data[4], sizeof(data[4]), 1, 7, passed);
> + fwts_acpi_reserved_bits_check("_CRS", "Flags[low]", data[4], 1, 7, passed);
> fwts_acpi_reserved_zero_check(fw, "_CRS", "Flags[high]", data[5], sizeof(data[5]), passed);
>
> break;
> @@ -1999,7 +1999,7 @@ void fwts_method_test_CRS_large_resource_items(
> if (!*passed) /* Too short, abort */
> break;
>
> - fwts_acpi_reserved_bits_check(fw, "_CRS", "Flags[low]", data[4], sizeof(data[4]), 2, 7, passed);
> + fwts_acpi_reserved_bits_check("_CRS", "Flags[low]", data[4], 2, 7, passed);
> fwts_acpi_reserved_zero_check(fw, "_CRS", "Flags[high]", data[5], sizeof(data[5]), passed);
> fwts_acpi_reserved_zero_check(fw, "_CRS", "Resource Source Index", data[8], sizeof(data[8]), passed);
> break;
> @@ -2008,7 +2008,7 @@ void fwts_method_test_CRS_large_resource_items(
> if (!*passed) /* Too short, abort */
> break;
>
> - fwts_acpi_reserved_bits_check(fw, "_CRS", "Flags[low]", data[4], sizeof(data[4]), 2, 7, passed);
> + fwts_acpi_reserved_bits_check("_CRS", "Flags[low]", data[4], 2, 7, passed);
> fwts_acpi_reserved_zero_check(fw, "_CRS", "Flags[high]", data[5], sizeof(data[5]), passed);
>
> if (data[6] > 0xd && data[6] < 0x80) {
> @@ -2436,11 +2436,11 @@ void fwts_method_test_BMD_return(
> if (fwts_method_package_elements_all_type(fw, name, obj, ACPI_TYPE_INTEGER) != FWTS_OK)
> return;
>
> - fwts_acpi_reserved_bits_check(fw, "_BMD", "Status Flags",
> - obj->Package.Elements[0].Integer.Value, sizeof(uint32_t), 7, 31, &failed);
> + fwts_acpi_reserved_bits_check("_BMD", "Status Flags",
> + obj->Package.Elements[0].Integer.Value, 7, 31, &failed);
>
> - fwts_acpi_reserved_bits_check(fw, "_BMD", "Capability Flags",
> - obj->Package.Elements[1].Integer.Value, sizeof(uint32_t), 6, 31, &failed);
> + fwts_acpi_reserved_bits_check("_BMD", "Capability Flags",
> + obj->Package.Elements[1].Integer.Value, 6, 31, &failed);
>
> if (!failed)
> fwts_method_passed_sane(fw, name, "package");
> @@ -2501,8 +2501,8 @@ void fwts_method_test_NBS_return(
> ret = (nbs_return_t *) obj->Buffer.Pointer;
> check_nvdimm_status(fw, name, ret->status, &passed);
> check_nvdimm_extended_status(fw, name, ret->extended_status, 0, &passed);
> - fwts_acpi_reserved_bits_check(fw, "_NBS", "Validation Flags",
> - ret->validation_flags, sizeof(uint16_t), 1, 15, &passed);
> + fwts_acpi_reserved_bits_check("_NBS", "Validation Flags",
> + ret->validation_flags, 1, 15, &passed);
>
> if (passed)
> fwts_method_passed_sane(fw, name, "buffer");
> @@ -2529,19 +2529,19 @@ void fwts_method_test_NCH_return(
> ret = (nch_return_t *) obj->Buffer.Pointer;
> check_nvdimm_status(fw, name, ret->status, &passed);
> check_nvdimm_extended_status(fw, name, ret->extended_status, 0, &passed);
> - fwts_acpi_reserved_bits_check(fw, "_NCH", "Validation Flags",
> - ret->extended_status, sizeof(uint16_t), 2, 15, &passed);
> + fwts_acpi_reserved_bits_check("_NCH", "Validation Flags",
> + ret->extended_status, 2, 15, &passed);
>
> /* Health Status Flags [2..7], [11.15], [19..31] are reserved */
> - fwts_acpi_reserved_bits_check(fw, "_NCH", "Health Status Flags",
> - ret->health_status_flags, sizeof(uint32_t), 2, 7, &passed);
> - fwts_acpi_reserved_bits_check(fw, "_NCH", "Health Status Flags",
> - ret->health_status_flags, sizeof(uint32_t), 11, 15, &passed);
> - fwts_acpi_reserved_bits_check(fw, "_NCH", "Health Status Flags",
> - ret->health_status_flags, sizeof(uint32_t), 19, 31, &passed);
> + fwts_acpi_reserved_bits_check("_NCH", "Health Status Flags",
> + ret->health_status_flags, 2, 7, &passed);
> + fwts_acpi_reserved_bits_check("_NCH", "Health Status Flags",
> + ret->health_status_flags, 11, 15, &passed);
> + fwts_acpi_reserved_bits_check("_NCH", "Health Status Flags",
> + ret->health_status_flags, 19, 31, &passed);
>
> - fwts_acpi_reserved_bits_check(fw, "_NCH", "Health Status Attributes",
> - ret->health_status_attributes, sizeof(uint32_t), 1, 31, &passed);
> + fwts_acpi_reserved_bits_check("_NCH", "Health Status Attributes",
> + ret->health_status_attributes, 1, 31, &passed);
>
> if (passed)
> fwts_method_passed_sane(fw, name, "buffer");
> @@ -2570,15 +2570,15 @@ void fwts_method_test_NIC_return(
> check_nvdimm_extended_status(fw, name, ret->extended_status, 0, &passed);
>
> /* Health Error Injection Capabilities [2..7], [11.15], [19..31] are reserved */
> - fwts_acpi_reserved_bits_check(fw, "_NIC", "Health Error Injection Capabilities",
> - ret->health_error_injection, sizeof(uint32_t), 2, 7, &passed);
> - fwts_acpi_reserved_bits_check(fw, "_NIC", "Health Error Injection Capabilities",
> - ret->health_error_injection, sizeof(uint32_t), 11, 15, &passed);
> - fwts_acpi_reserved_bits_check(fw, "_NIC", "Health Error Injection Capabilities",
> - ret->health_error_injection, sizeof(uint32_t), 19, 31, &passed);
> + fwts_acpi_reserved_bits_check("_NIC", "Health Error Injection Capabilities",
> + ret->health_error_injection, 2, 7, &passed);
> + fwts_acpi_reserved_bits_check("_NIC", "Health Error Injection Capabilities",
> + ret->health_error_injection, 11, 15, &passed);
> + fwts_acpi_reserved_bits_check("_NIC", "Health Error Injection Capabilities",
> + ret->health_error_injection, 19, 31, &passed);
>
> - fwts_acpi_reserved_bits_check(fw, "_NIC", "Health Status Attributes Capabilities",
> - ret->health_status_attributes, sizeof(uint32_t), 1, 31, &passed);
> + fwts_acpi_reserved_bits_check("_NIC", "Health Status Attributes Capabilities",
> + ret->health_status_attributes, 1, 31, &passed);
>
> if (passed)
> fwts_method_passed_sane(fw, name, "buffer");
> @@ -2631,19 +2631,19 @@ void fwts_method_test_NIG_return(
> ret = (nig_return_t *) obj->Buffer.Pointer;
> check_nvdimm_status(fw, name, ret->status, &passed);
> check_nvdimm_extended_status(fw, name, ret->extended_status, 0, &passed);
> - fwts_acpi_reserved_bits_check(fw, "_NIG", "Validation Flags",
> - ret->validation_flags, sizeof(uint16_t), 2, 15, &passed);
> + fwts_acpi_reserved_bits_check("_NIG", "Validation Flags",
> + ret->validation_flags, 2, 15, &passed);
>
> /* Injected Health Status Errors [2..7], [11.15], [19..31] are reserved */
> - fwts_acpi_reserved_bits_check(fw, "_NIG", "Injected Health Status Errors",
> - ret->health_status_errors, sizeof(uint32_t), 2, 7, &passed);
> - fwts_acpi_reserved_bits_check(fw, "_NIG", "Injected Health Status Errors",
> - ret->health_status_errors, sizeof(uint32_t), 11, 15, &passed);
> - fwts_acpi_reserved_bits_check(fw, "_NIG", "Injected Health Status Errors",
> - ret->health_status_errors, sizeof(uint32_t), 19, 31, &passed);
> + fwts_acpi_reserved_bits_check("_NIG", "Injected Health Status Errors",
> + ret->health_status_errors, 2, 7, &passed);
> + fwts_acpi_reserved_bits_check("_NIG", "Injected Health Status Errors",
> + ret->health_status_errors, 11, 15, &passed);
> + fwts_acpi_reserved_bits_check("_NIG", "Injected Health Status Errors",
> + ret->health_status_errors, 19, 31, &passed);
>
> - fwts_acpi_reserved_bits_check(fw, "_NIG", "Health Status Attributes of Injected Errors",
> - ret->health_status_attributes, sizeof(uint32_t), 1, 31, &passed);
> + fwts_acpi_reserved_bits_check("_NIG", "Health Status Attributes of Injected Errors",
> + ret->health_status_attributes, 1, 31, &passed);
>
> if (passed)
> fwts_method_passed_sane(fw, name, "buffer");
> @@ -2670,8 +2670,7 @@ void fwts_method_test_STA_return(
> "but not present, which is impossible.", name);
> passed = false;
> }
> - fwts_acpi_reserved_bits_check(fw, "_STA", "Reserved Bits",
> - obj->Integer.Value, sizeof(uint32_t), 5, 31, &passed);
> + fwts_acpi_reserved_bits_check("_STA", "Reserved Bits", obj->Integer.Value, 5, 31, &passed);
>
> if (passed)
> fwts_method_passed_sane_uint64(fw, name, obj->Integer.Value);
> @@ -3034,8 +3033,8 @@ void fwts_method_test_BST_return(
>
> /* Sanity check each field */
> /* Battery State */
> - fwts_acpi_reserved_bits_check(fw, "_BST", "Battery State",
> - obj->Package.Elements[0].Integer.Value, sizeof(uint32_t), 3, 31, &failed);
> + fwts_acpi_reserved_bits_check("_BST", "Battery State",
> + obj->Package.Elements[0].Integer.Value, 3, 31, &failed);
> /* Ensure bits 0 (discharging) and 1 (charging) are not both set, see 10.2.2.6 */
> if (((obj->Package.Elements[0].Integer.Value) & 3) == 3) {
> fwts_failed(fw, LOG_LEVEL_CRITICAL,
> @@ -3087,8 +3086,8 @@ void fwts_method_test_BPC_return(
> if (fwts_method_test_revision(fw, name, obj->Package.Elements[0].Integer.Value, 1) != FWTS_OK)
> passed = false;
>
> - fwts_acpi_reserved_bits_check(fw, "_BPC", "Power Threshold Support Capability",
> - obj->Package.Elements[1].Integer.Value, sizeof(uint32_t), 2, 31, &passed);
> + fwts_acpi_reserved_bits_check("_BPC", "Power Threshold Support Capability",
> + obj->Package.Elements[1].Integer.Value, 2, 31, &passed);
>
> if (!passed)
> fwts_advice(fw,
> diff --git a/src/lib/src/fwts_acpi_tables.c b/src/lib/src/fwts_acpi_tables.c
> index ae3b732f..11789bba 100644
> --- a/src/lib/src/fwts_acpi_tables.c
> +++ b/src/lib/src/fwts_acpi_tables.c
> @@ -1536,10 +1536,10 @@ void fwts_acpi_fixed_value_check(
> }
>
> /*
> - * fwts_acpi_reserved_bits_check()
> + * fwts_acpi_reserved_bits_check_()
> * verify whether the reserved bits are zero
> */
> -void fwts_acpi_reserved_bits_check(
> +void fwts_acpi_reserved_bits_check_(
> fwts_framework *fw,
> const char *table,
> const char *field,
>
Can the subject be fixed before applying, rename "marco" to "macro"
Acked-by: Colin Ian King <colin.king at canonical.com>
More information about the fwts-devel
mailing list