diff mbox

[18/21] FADT: add compliance test for the CST_CNT field

Message ID 1454981583-31872-19-git-send-email-al.stone@linaro.org
State Rejected
Headers show

Commit Message

Al Stone Feb. 9, 2016, 1:33 a.m. UTC
Add in a new compliance test to check the C-State control (CST_CNT) field
for the proper values.

Signed-off-by: Al Stone <al.stone@linaro.org>
---
 src/acpi/fadt/fadt.c | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

Comments

Colin Ian King Feb. 9, 2016, 12:28 p.m. UTC | #1
On 09/02/16 01:33, Al Stone wrote:
> Add in a new compliance test to check the C-State control (CST_CNT) field
> for the proper values.
> 
> Signed-off-by: Al Stone <al.stone@linaro.org>
> ---
>  src/acpi/fadt/fadt.c | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
> 
> diff --git a/src/acpi/fadt/fadt.c b/src/acpi/fadt/fadt.c
> index b349954..f932dea 100644
> --- a/src/acpi/fadt/fadt.c
> +++ b/src/acpi/fadt/fadt.c
> @@ -1296,6 +1296,28 @@ static void acpi_table_check_fadt_gpe1_blk_len(fwts_framework *fw)
>  	}
>  }
>  
> +static void acpi_table_check_fadt_cst_cnt(fwts_framework *fw)
> +{
> +	if (fadt->cst_cnt == 0) {
> +		if (fadt->smi_cmd == 0)
> +			fwts_passed(fw,
> +				    "FADT SMI CST_CNT command is zero, "
> +				    "which is allowed since SMM is not "
> +				    "supported.");
> +	} else {
> +		if (fadt->smi_cmd == 0)
> +			fwts_failed(fw, LOG_LEVEL_MEDIUM,
> +				    "SMMHasExtraCSTCntCmd",
> +				    "FADT SMI CST_CNT command is "
> +				    "non-zero, but SMM is not supported.");
> +		else
> +			fwts_passed(fw, "FADT SMI CST_CNT command is "
> +				    "non-zero, and SMM is supported.");
> +	}
> +
> +	return;
> +}
> +
>  static int fadt_test1(fwts_framework *fw)
>  {
>  	bool passed = true;
> @@ -1333,6 +1355,7 @@ static int fadt_test1(fwts_framework *fw)
>  		acpi_table_check_fadt_gpe0_blk_len(fw);
>  		acpi_table_check_fadt_gpe1_blk_len(fw);
>  		fwts_log_info(fw, "FADT GPE1_BASE is %" PRIu8, fadt->gpe1_base);
> +		acpi_table_check_fadt_cst_cnt(fw);
>  
>  		fwts_log_info(fw, "FADT FLUSH_SIZE is %" PRIu16,
>  			      fadt->flush_size);
> 
Acked-by: Colin Ian King <colin.king@canonical.com>
Alex Hung Feb. 17, 2016, 6:23 a.m. UTC | #2
On 2016-02-09 09:33 AM, Al Stone wrote:
> Add in a new compliance test to check the C-State control (CST_CNT) field
> for the proper values.
>
> Signed-off-by: Al Stone <al.stone@linaro.org>
> ---
>   src/acpi/fadt/fadt.c | 23 +++++++++++++++++++++++
>   1 file changed, 23 insertions(+)
>
> diff --git a/src/acpi/fadt/fadt.c b/src/acpi/fadt/fadt.c
> index b349954..f932dea 100644
> --- a/src/acpi/fadt/fadt.c
> +++ b/src/acpi/fadt/fadt.c
> @@ -1296,6 +1296,28 @@ static void acpi_table_check_fadt_gpe1_blk_len(fwts_framework *fw)
>   	}
>   }
>
> +static void acpi_table_check_fadt_cst_cnt(fwts_framework *fw)
> +{
> +	if (fadt->cst_cnt == 0) {
> +		if (fadt->smi_cmd == 0)
> +			fwts_passed(fw,
> +				    "FADT SMI CST_CNT command is zero, "
> +				    "which is allowed since SMM is not "
> +				    "supported.");
> +	} else {
> +		if (fadt->smi_cmd == 0)
> +			fwts_failed(fw, LOG_LEVEL_MEDIUM,
> +				    "SMMHasExtraCSTCntCmd",
> +				    "FADT SMI CST_CNT command is "
> +				    "non-zero, but SMM is not supported.");
> +		else
> +			fwts_passed(fw, "FADT SMI CST_CNT command is "
> +				    "non-zero, and SMM is supported.");
> +	}
> +
> +	return;
> +}
> +
>   static int fadt_test1(fwts_framework *fw)
>   {
>   	bool passed = true;
> @@ -1333,6 +1355,7 @@ static int fadt_test1(fwts_framework *fw)
>   		acpi_table_check_fadt_gpe0_blk_len(fw);
>   		acpi_table_check_fadt_gpe1_blk_len(fw);
>   		fwts_log_info(fw, "FADT GPE1_BASE is %" PRIu8, fadt->gpe1_base);
> +		acpi_table_check_fadt_cst_cnt(fw);
>
>   		fwts_log_info(fw, "FADT FLUSH_SIZE is %" PRIu16,
>   			      fadt->flush_size);
>

Acked-by: Alex Hung <alex.hung@canonical.com>
diff mbox

Patch

diff --git a/src/acpi/fadt/fadt.c b/src/acpi/fadt/fadt.c
index b349954..f932dea 100644
--- a/src/acpi/fadt/fadt.c
+++ b/src/acpi/fadt/fadt.c
@@ -1296,6 +1296,28 @@  static void acpi_table_check_fadt_gpe1_blk_len(fwts_framework *fw)
 	}
 }
 
+static void acpi_table_check_fadt_cst_cnt(fwts_framework *fw)
+{
+	if (fadt->cst_cnt == 0) {
+		if (fadt->smi_cmd == 0)
+			fwts_passed(fw,
+				    "FADT SMI CST_CNT command is zero, "
+				    "which is allowed since SMM is not "
+				    "supported.");
+	} else {
+		if (fadt->smi_cmd == 0)
+			fwts_failed(fw, LOG_LEVEL_MEDIUM,
+				    "SMMHasExtraCSTCntCmd",
+				    "FADT SMI CST_CNT command is "
+				    "non-zero, but SMM is not supported.");
+		else
+			fwts_passed(fw, "FADT SMI CST_CNT command is "
+				    "non-zero, and SMM is supported.");
+	}
+
+	return;
+}
+
 static int fadt_test1(fwts_framework *fw)
 {
 	bool passed = true;
@@ -1333,6 +1355,7 @@  static int fadt_test1(fwts_framework *fw)
 		acpi_table_check_fadt_gpe0_blk_len(fw);
 		acpi_table_check_fadt_gpe1_blk_len(fw);
 		fwts_log_info(fw, "FADT GPE1_BASE is %" PRIu8, fadt->gpe1_base);
+		acpi_table_check_fadt_cst_cnt(fw);
 
 		fwts_log_info(fw, "FADT FLUSH_SIZE is %" PRIu16,
 			      fadt->flush_size);