Message ID | 1454981583-31872-15-git-send-email-al.stone@linaro.org |
---|---|
State | Rejected |
Headers | show |
On 09/02/16 01:32, Al Stone wrote: > Do some checking of allowed values for ACPI_ENABLE and ACPI_DISABLE > fields, particularly if SMI_CMD is defined. > > Signed-off-by: Al Stone <al.stone@linaro.org> > --- > src/acpi/fadt/fadt.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 55 insertions(+) > > diff --git a/src/acpi/fadt/fadt.c b/src/acpi/fadt/fadt.c > index 3da297e..a2535e8 100644 > --- a/src/acpi/fadt/fadt.c > +++ b/src/acpi/fadt/fadt.c > @@ -716,6 +716,59 @@ static void acpi_table_check_fadt_smi_cmd(fwts_framework *fw) > } > } > > +static void acpi_table_check_fadt_acpi_enable(fwts_framework *fw) > +{ > + if (fadt->acpi_enable == 0) > + if (fadt->smi_cmd == 0) > + fwts_passed(fw, "FADT SMI ACPI enable command is zero, " > + "which is allowed since SMM is not " > + "supported, or machine is in legacy mode."); > + else > + fwts_failed(fw, LOG_LEVEL_MEDIUM, > + "SMMHasNoAcpiEnableCmd", > + "FADT SMI ACPI enable command is zero, " > + "but this is not allowed when SMM " > + "is supported."); > + else > + if (fadt->smi_cmd == 0) > + fwts_failed(fw, LOG_LEVEL_MEDIUM, > + "SMMNeedsAcpiEnableCmd", > + "FADT SMI ACPI enable command is non-zero, " > + "but SMM is not supported."); > + else > + fwts_passed(fw, "FADT SMI ACPI enable command is " > + "non-zero, and SMM is supported."); > + > + return; > +} > + > +static void acpi_table_check_fadt_acpi_disable(fwts_framework *fw) > +{ > + if (fadt->acpi_disable == 0) > + if (fadt->smi_cmd == 0) > + fwts_passed(fw, > + "FADT SMI ACPI disable command is zero, " > + "which is allowed since SMM is not " > + "supported, or machine is in legacy mode."); > + else > + fwts_failed(fw, LOG_LEVEL_MEDIUM, > + "SMMHasNoAcpiDisableCmd", > + "FADT SMI ACPI disable command is zero, " > + "but this is not allowed when SMM " > + "is supported."); > + else > + if (fadt->smi_cmd == 0) > + fwts_failed(fw, LOG_LEVEL_MEDIUM, > + "SMMNeedsAcpiDisableCmd", > + "FADT SMI ACPI disable command is " > + "non-zero, but SMM is not supported."); > + else > + fwts_passed(fw, "FADT SMI ACPI disable command is " > + "non-zero, and SMM is supported."); > + > + return; > +} > + > static void acpi_table_check_fadt_pm_tmr( > fwts_framework *fw, > const fwts_acpi_table_fadt *fadt, > @@ -859,6 +912,8 @@ static int fadt_test1(fwts_framework *fw) > if (!fwts_acpi_is_reduced_hardware(fadt)) { > fwts_log_info(fw, "FADT SCI_INT is %" PRIu8, fadt->sci_int); > acpi_table_check_fadt_smi_cmd(fw); > + acpi_table_check_fadt_acpi_enable(fw); > + acpi_table_check_fadt_acpi_disable(fw); > acpi_table_check_fadt_pm_tmr(fw, fadt, &passed); > acpi_table_check_fadt_gpe(fw, fadt, &passed); > acpi_table_check_fadt_pm_addr(fw, fadt, &passed); > Acked-by: Colin Ian King <colin.king@canonucal.com>
On 2016-02-09 09:32 AM, Al Stone wrote: > Do some checking of allowed values for ACPI_ENABLE and ACPI_DISABLE > fields, particularly if SMI_CMD is defined. > > Signed-off-by: Al Stone <al.stone@linaro.org> > --- > src/acpi/fadt/fadt.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 55 insertions(+) > > diff --git a/src/acpi/fadt/fadt.c b/src/acpi/fadt/fadt.c > index 3da297e..a2535e8 100644 > --- a/src/acpi/fadt/fadt.c > +++ b/src/acpi/fadt/fadt.c > @@ -716,6 +716,59 @@ static void acpi_table_check_fadt_smi_cmd(fwts_framework *fw) > } > } > > +static void acpi_table_check_fadt_acpi_enable(fwts_framework *fw) > +{ > + if (fadt->acpi_enable == 0) > + if (fadt->smi_cmd == 0) > + fwts_passed(fw, "FADT SMI ACPI enable command is zero, " > + "which is allowed since SMM is not " > + "supported, or machine is in legacy mode."); > + else > + fwts_failed(fw, LOG_LEVEL_MEDIUM, > + "SMMHasNoAcpiEnableCmd", > + "FADT SMI ACPI enable command is zero, " > + "but this is not allowed when SMM " > + "is supported."); > + else > + if (fadt->smi_cmd == 0) > + fwts_failed(fw, LOG_LEVEL_MEDIUM, > + "SMMNeedsAcpiEnableCmd", > + "FADT SMI ACPI enable command is non-zero, " > + "but SMM is not supported."); > + else > + fwts_passed(fw, "FADT SMI ACPI enable command is " > + "non-zero, and SMM is supported."); > + > + return; > +} > + > +static void acpi_table_check_fadt_acpi_disable(fwts_framework *fw) > +{ > + if (fadt->acpi_disable == 0) > + if (fadt->smi_cmd == 0) > + fwts_passed(fw, > + "FADT SMI ACPI disable command is zero, " > + "which is allowed since SMM is not " > + "supported, or machine is in legacy mode."); > + else > + fwts_failed(fw, LOG_LEVEL_MEDIUM, > + "SMMHasNoAcpiDisableCmd", > + "FADT SMI ACPI disable command is zero, " > + "but this is not allowed when SMM " > + "is supported."); > + else > + if (fadt->smi_cmd == 0) > + fwts_failed(fw, LOG_LEVEL_MEDIUM, > + "SMMNeedsAcpiDisableCmd", > + "FADT SMI ACPI disable command is " > + "non-zero, but SMM is not supported."); > + else > + fwts_passed(fw, "FADT SMI ACPI disable command is " > + "non-zero, and SMM is supported."); > + > + return; > +} > + > static void acpi_table_check_fadt_pm_tmr( > fwts_framework *fw, > const fwts_acpi_table_fadt *fadt, > @@ -859,6 +912,8 @@ static int fadt_test1(fwts_framework *fw) > if (!fwts_acpi_is_reduced_hardware(fadt)) { > fwts_log_info(fw, "FADT SCI_INT is %" PRIu8, fadt->sci_int); > acpi_table_check_fadt_smi_cmd(fw); > + acpi_table_check_fadt_acpi_enable(fw); > + acpi_table_check_fadt_acpi_disable(fw); > acpi_table_check_fadt_pm_tmr(fw, fadt, &passed); > acpi_table_check_fadt_gpe(fw, fadt, &passed); > acpi_table_check_fadt_pm_addr(fw, fadt, &passed); > Acked-by: Alex Hung <alex.hung@canonical.com>
diff --git a/src/acpi/fadt/fadt.c b/src/acpi/fadt/fadt.c index 3da297e..a2535e8 100644 --- a/src/acpi/fadt/fadt.c +++ b/src/acpi/fadt/fadt.c @@ -716,6 +716,59 @@ static void acpi_table_check_fadt_smi_cmd(fwts_framework *fw) } } +static void acpi_table_check_fadt_acpi_enable(fwts_framework *fw) +{ + if (fadt->acpi_enable == 0) + if (fadt->smi_cmd == 0) + fwts_passed(fw, "FADT SMI ACPI enable command is zero, " + "which is allowed since SMM is not " + "supported, or machine is in legacy mode."); + else + fwts_failed(fw, LOG_LEVEL_MEDIUM, + "SMMHasNoAcpiEnableCmd", + "FADT SMI ACPI enable command is zero, " + "but this is not allowed when SMM " + "is supported."); + else + if (fadt->smi_cmd == 0) + fwts_failed(fw, LOG_LEVEL_MEDIUM, + "SMMNeedsAcpiEnableCmd", + "FADT SMI ACPI enable command is non-zero, " + "but SMM is not supported."); + else + fwts_passed(fw, "FADT SMI ACPI enable command is " + "non-zero, and SMM is supported."); + + return; +} + +static void acpi_table_check_fadt_acpi_disable(fwts_framework *fw) +{ + if (fadt->acpi_disable == 0) + if (fadt->smi_cmd == 0) + fwts_passed(fw, + "FADT SMI ACPI disable command is zero, " + "which is allowed since SMM is not " + "supported, or machine is in legacy mode."); + else + fwts_failed(fw, LOG_LEVEL_MEDIUM, + "SMMHasNoAcpiDisableCmd", + "FADT SMI ACPI disable command is zero, " + "but this is not allowed when SMM " + "is supported."); + else + if (fadt->smi_cmd == 0) + fwts_failed(fw, LOG_LEVEL_MEDIUM, + "SMMNeedsAcpiDisableCmd", + "FADT SMI ACPI disable command is " + "non-zero, but SMM is not supported."); + else + fwts_passed(fw, "FADT SMI ACPI disable command is " + "non-zero, and SMM is supported."); + + return; +} + static void acpi_table_check_fadt_pm_tmr( fwts_framework *fw, const fwts_acpi_table_fadt *fadt, @@ -859,6 +912,8 @@ static int fadt_test1(fwts_framework *fw) if (!fwts_acpi_is_reduced_hardware(fadt)) { fwts_log_info(fw, "FADT SCI_INT is %" PRIu8, fadt->sci_int); acpi_table_check_fadt_smi_cmd(fw); + acpi_table_check_fadt_acpi_enable(fw); + acpi_table_check_fadt_acpi_disable(fw); acpi_table_check_fadt_pm_tmr(fw, fadt, &passed); acpi_table_check_fadt_gpe(fw, fadt, &passed); acpi_table_check_fadt_pm_addr(fw, fadt, &passed);
Do some checking of allowed values for ACPI_ENABLE and ACPI_DISABLE fields, particularly if SMI_CMD is defined. Signed-off-by: Al Stone <al.stone@linaro.org> --- src/acpi/fadt/fadt.c | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+)