[{"id":1773374,"web_url":"http://patchwork.ozlabs.org/comment/1773374/","msgid":"<a47ee3d6-6f85-f756-35e7-f62e7173336e@canonical.com>","list_archive_url":null,"date":"2017-09-22T08:49:51","subject":"ACK: [PATCH 1/3] lib: fwts_acpi_tables: add a new function to check\n\treserved bits","submitter":{"id":14061,"url":"http://patchwork.ozlabs.org/api/people/14061/","name":"Ivan Hu","email":"ivan.hu@canonical.com"},"content":"On 09/08/2017 05:07 PM, Alex Hung wrote:\n> Signed-off-by: Alex Hung <alex.hung@canonical.com>\n> ---\n>   src/lib/include/fwts_acpi_tables.h |  1 +\n>   src/lib/src/fwts_acpi_tables.c     | 52 ++++++++++++++++++++++++++++++++++++++\n>   2 files changed, 53 insertions(+)\n> \n> diff --git a/src/lib/include/fwts_acpi_tables.h b/src/lib/include/fwts_acpi_tables.h\n> index d478d99..011a4c3 100644\n> --- a/src/lib/include/fwts_acpi_tables.h\n> +++ b/src/lib/include/fwts_acpi_tables.h\n> @@ -54,6 +54,7 @@ bool fwts_acpi_obj_find(fwts_framework *fw, const char *obj_name);\n>   fwts_bool fwts_acpi_is_reduced_hardware(const fwts_acpi_table_fadt *fadt);\n>   \n>   void fwts_acpi_reserved_zero_check(fwts_framework *fw, const char *table, const char *field, uint64_t value, uint8_t size, bool *passed);\n> +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);\n>   \n>   #endif\n>   \n> diff --git a/src/lib/src/fwts_acpi_tables.c b/src/lib/src/fwts_acpi_tables.c\n> index 4ac70f8..15d07f4 100644\n> --- a/src/lib/src/fwts_acpi_tables.c\n> +++ b/src/lib/src/fwts_acpi_tables.c\n> @@ -1426,4 +1426,56 @@ void fwts_acpi_reserved_zero_check(\n>   \t}\n>   }\n>   \n> +/*\n> + *  fwts_acpi_reserved_bits_check()\n> + *  verify whether the reserved bits are zero\n> + */\n> +void fwts_acpi_reserved_bits_check(\n> +\tfwts_framework *fw,\n> +\tconst char *table,\n> +\tconst char *field,\n> +\tuint64_t value,\n> +\tuint8_t size,\n> +\tuint8_t min,\n> +\tuint8_t max,\n> +\tbool *passed)\n> +{\n> +\tuint64_t mask = 0;\n> +\tuint8_t i;\n> +\n> +\tfor (i = min; i <= max; i++) {\n> +\t\tmask |= (1ULL << i);\n> +\t}\n> +\n> +\tif (value & mask) {\n> +\t\tchar label[24];\n> +\t\tstrncpy(label, table, 4);\t/* ACPI table name is 4 char long */\n> +\t\tstrncpy(label + 4, \"ReservedBitsNonZero\", sizeof(label) - 4);\n> +\n> +\t\tswitch (size) {\n> +\t\tcase sizeof(uint8_t):\n> +\t\t\tfwts_failed(fw, LOG_LEVEL_HIGH, label,\n> +\t\t\t\t\"%4.4s %s Bits [%\" PRIu8 \"..%\" PRIu8 \"] must be zero, got \"\n> +\t\t\t\t\"0x%2.2\" PRIx8 \" instead\", table, field, max, min, (uint8_t)value);\n> +\t\t\tbreak;\n> +\t\tcase sizeof(uint16_t):\n> +\t\t\tfwts_failed(fw, LOG_LEVEL_HIGH, label,\n> +\t\t\t\t\"%4.4s %s Bits [%\" PRIu8 \"..%\" PRIu8 \"] must be zero, got \"\n> +\t\t\t\t\"0x%4.4\" PRIx16 \" instead\", table, field, max, min, (uint16_t)value);\n> +\t\t\tbreak;\n> +\t\tcase sizeof(uint32_t):\n> +\t\t\tfwts_failed(fw, LOG_LEVEL_HIGH, label,\n> +\t\t\t\t\"%4.4s %s Bits [%\" PRIu8 \"..%\" PRIu8 \"] must be zero, got \"\n> +\t\t\t\t\"0x%8.8\" PRIx32 \" instead\", table, field, max, min, (uint32_t)value);\n> +\t\t\tbreak;\n> +\t\tcase sizeof(uint64_t):\n> +\t\t\tfwts_failed(fw, LOG_LEVEL_HIGH, label,\n> +\t\t\t\t\"%4.4s %s Bits [%\" PRIu8 \"..%\" PRIu8 \"] must be zero, got \"\n> +\t\t\t\t\"0x%16.16\" PRIx64 \" instead\", table, field, max, min, value);\n> +\t\t\tbreak;\n> +\t\t}\n> +\t\t*passed = false;\n> +\t}\n> +}\n> +\n>   #endif\n> \n\nAcked-by: Ivan Hu <ivan.hu@canonical.com>","headers":{"Return-Path":"<fwts-devel-bounces@lists.ubuntu.com>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.ubuntu.com\n\t(client-ip=91.189.94.19; helo=huckleberry.canonical.com;\n\tenvelope-from=fwts-devel-bounces@lists.ubuntu.com;\n\treceiver=<UNKNOWN>)","Received":["from huckleberry.canonical.com (huckleberry.canonical.com\n\t[91.189.94.19])\n\tby ozlabs.org (Postfix) with ESMTP id 3xz6cS4zjCz9t16;\n\tFri, 22 Sep 2017 18:50:00 +1000 (AEST)","from localhost ([127.0.0.1] helo=huckleberry.canonical.com)\n\tby huckleberry.canonical.com with esmtp (Exim 4.86_2)\n\t(envelope-from <fwts-devel-bounces@lists.ubuntu.com>)\n\tid 1dvJeo-0005yg-TZ; Fri, 22 Sep 2017 08:49:58 +0000","from youngberry.canonical.com ([91.189.89.112])\n\tby huckleberry.canonical.com with esmtps\n\t(TLS1.0:DHE_RSA_AES_128_CBC_SHA1:128)\n\t(Exim 4.86_2) (envelope-from <ivan.hu@canonical.com>)\n\tid 1dvJem-0005y1-Uc\n\tfor fwts-devel@lists.ubuntu.com; Fri, 22 Sep 2017 08:49:56 +0000","from [175.181.226.10] (helo=[192.168.31.95])\n\tby youngberry.canonical.com with esmtpsa\n\t(TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16)\n\t(Exim 4.76) (envelope-from <ivan.hu@canonical.com>)\n\tid 1dvJem-0000By-E1\n\tfor fwts-devel@lists.ubuntu.com; Fri, 22 Sep 2017 08:49:56 +0000"],"Subject":"ACK: [PATCH 1/3] lib: fwts_acpi_tables: add a new function to check\n\treserved bits","To":"fwts-devel@lists.ubuntu.com","References":"<1504861633-20512-1-git-send-email-alex.hung@canonical.com>","From":"ivanhu <ivan.hu@canonical.com>","Message-ID":"<a47ee3d6-6f85-f756-35e7-f62e7173336e@canonical.com>","Date":"Fri, 22 Sep 2017 16:49:51 +0800","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<1504861633-20512-1-git-send-email-alex.hung@canonical.com>","Content-Language":"en-GB","X-BeenThere":"fwts-devel@lists.ubuntu.com","X-Mailman-Version":"2.1.20","Precedence":"list","List-Id":"Firmware Test Suite Development <fwts-devel.lists.ubuntu.com>","List-Unsubscribe":"<https://lists.ubuntu.com/mailman/options/fwts-devel>,\n\t<mailto:fwts-devel-request@lists.ubuntu.com?subject=unsubscribe>","List-Archive":"<https://lists.ubuntu.com/archives/fwts-devel>","List-Post":"<mailto:fwts-devel@lists.ubuntu.com>","List-Help":"<mailto:fwts-devel-request@lists.ubuntu.com?subject=help>","List-Subscribe":"<https://lists.ubuntu.com/mailman/listinfo/fwts-devel>,\n\t<mailto:fwts-devel-request@lists.ubuntu.com?subject=subscribe>","Content-Transfer-Encoding":"base64","Content-Type":"text/plain; charset=\"utf-8\"; Format=\"flowed\"","Errors-To":"fwts-devel-bounces@lists.ubuntu.com","Sender":"\"fwts-devel\" <fwts-devel-bounces@lists.ubuntu.com>"}},{"id":1774678,"web_url":"http://patchwork.ozlabs.org/comment/1774678/","msgid":"<fb991555-b8c2-93df-fb77-717769ca1fb9@canonical.com>","list_archive_url":null,"date":"2017-09-25T12:00:38","subject":"ACK: [PATCH 1/3] lib: fwts_acpi_tables: add a new function to check\n\treserved bits","submitter":{"id":2900,"url":"http://patchwork.ozlabs.org/api/people/2900/","name":"Colin Ian King","email":"colin.king@canonical.com"},"content":"On 08/09/17 10:07, Alex Hung wrote:\n> Signed-off-by: Alex Hung <alex.hung@canonical.com>\n> ---\n>  src/lib/include/fwts_acpi_tables.h |  1 +\n>  src/lib/src/fwts_acpi_tables.c     | 52 ++++++++++++++++++++++++++++++++++++++\n>  2 files changed, 53 insertions(+)\n> \n> diff --git a/src/lib/include/fwts_acpi_tables.h b/src/lib/include/fwts_acpi_tables.h\n> index d478d99..011a4c3 100644\n> --- a/src/lib/include/fwts_acpi_tables.h\n> +++ b/src/lib/include/fwts_acpi_tables.h\n> @@ -54,6 +54,7 @@ bool fwts_acpi_obj_find(fwts_framework *fw, const char *obj_name);\n>  fwts_bool fwts_acpi_is_reduced_hardware(const fwts_acpi_table_fadt *fadt);\n>  \n>  void fwts_acpi_reserved_zero_check(fwts_framework *fw, const char *table, const char *field, uint64_t value, uint8_t size, bool *passed);\n> +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);\n>  \n>  #endif\n>  \n> diff --git a/src/lib/src/fwts_acpi_tables.c b/src/lib/src/fwts_acpi_tables.c\n> index 4ac70f8..15d07f4 100644\n> --- a/src/lib/src/fwts_acpi_tables.c\n> +++ b/src/lib/src/fwts_acpi_tables.c\n> @@ -1426,4 +1426,56 @@ void fwts_acpi_reserved_zero_check(\n>  \t}\n>  }\n>  \n> +/*\n> + *  fwts_acpi_reserved_bits_check()\n> + *  verify whether the reserved bits are zero\n> + */\n> +void fwts_acpi_reserved_bits_check(\n> +\tfwts_framework *fw,\n> +\tconst char *table,\n> +\tconst char *field,\n> +\tuint64_t value,\n> +\tuint8_t size,\n> +\tuint8_t min,\n> +\tuint8_t max,\n> +\tbool *passed)\n> +{\n> +\tuint64_t mask = 0;\n> +\tuint8_t i;\n> +\n> +\tfor (i = min; i <= max; i++) {\n> +\t\tmask |= (1ULL << i);\n> +\t}\n> +\n> +\tif (value & mask) {\n> +\t\tchar label[24];\n> +\t\tstrncpy(label, table, 4);\t/* ACPI table name is 4 char long */\n> +\t\tstrncpy(label + 4, \"ReservedBitsNonZero\", sizeof(label) - 4);\n> +\n> +\t\tswitch (size) {\n> +\t\tcase sizeof(uint8_t):\n> +\t\t\tfwts_failed(fw, LOG_LEVEL_HIGH, label,\n> +\t\t\t\t\"%4.4s %s Bits [%\" PRIu8 \"..%\" PRIu8 \"] must be zero, got \"\n> +\t\t\t\t\"0x%2.2\" PRIx8 \" instead\", table, field, max, min, (uint8_t)value);\n> +\t\t\tbreak;\n> +\t\tcase sizeof(uint16_t):\n> +\t\t\tfwts_failed(fw, LOG_LEVEL_HIGH, label,\n> +\t\t\t\t\"%4.4s %s Bits [%\" PRIu8 \"..%\" PRIu8 \"] must be zero, got \"\n> +\t\t\t\t\"0x%4.4\" PRIx16 \" instead\", table, field, max, min, (uint16_t)value);\n> +\t\t\tbreak;\n> +\t\tcase sizeof(uint32_t):\n> +\t\t\tfwts_failed(fw, LOG_LEVEL_HIGH, label,\n> +\t\t\t\t\"%4.4s %s Bits [%\" PRIu8 \"..%\" PRIu8 \"] must be zero, got \"\n> +\t\t\t\t\"0x%8.8\" PRIx32 \" instead\", table, field, max, min, (uint32_t)value);\n> +\t\t\tbreak;\n> +\t\tcase sizeof(uint64_t):\n> +\t\t\tfwts_failed(fw, LOG_LEVEL_HIGH, label,\n> +\t\t\t\t\"%4.4s %s Bits [%\" PRIu8 \"..%\" PRIu8 \"] must be zero, got \"\n> +\t\t\t\t\"0x%16.16\" PRIx64 \" instead\", table, field, max, min, value);\n> +\t\t\tbreak;\n> +\t\t}\n> +\t\t*passed = false;\n> +\t}\n> +}\n> +\n>  #endif\n> \n\nAcked-by: Colin Ian King <colin.king@canonical.com>","headers":{"Return-Path":"<fwts-devel-bounces@lists.ubuntu.com>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":"ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.ubuntu.com\n\t(client-ip=91.189.94.19; helo=huckleberry.canonical.com;\n\tenvelope-from=fwts-devel-bounces@lists.ubuntu.com;\n\treceiver=<UNKNOWN>)","Received":["from huckleberry.canonical.com (huckleberry.canonical.com\n\t[91.189.94.19])\n\tby ozlabs.org (Postfix) with ESMTP id 3y12jB2BqMz9sRq;\n\tMon, 25 Sep 2017 22:00:45 +1000 (AEST)","from localhost ([127.0.0.1] helo=huckleberry.canonical.com)\n\tby huckleberry.canonical.com with esmtp (Exim 4.86_2)\n\t(envelope-from <fwts-devel-bounces@lists.ubuntu.com>)\n\tid 1dwS42-0002SO-Eq; Mon, 25 Sep 2017 12:00:42 +0000","from youngberry.canonical.com ([91.189.89.112])\n\tby huckleberry.canonical.com with esmtps\n\t(TLS1.0:DHE_RSA_AES_128_CBC_SHA1:128)\n\t(Exim 4.86_2) (envelope-from <colin.king@canonical.com>)\n\tid 1dwS40-0002R9-B3\n\tfor fwts-devel@lists.ubuntu.com; Mon, 25 Sep 2017 12:00:40 +0000","from 207.110.29.138.ptr.us.xo.net ([207.110.29.138]\n\thelo=[172.20.15.111]) by youngberry.canonical.com with esmtpsa\n\t(TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16)\n\t(Exim 4.76) (envelope-from <colin.king@canonical.com>)\n\tid 1dwS40-00021B-0v; Mon, 25 Sep 2017 12:00:40 +0000"],"Subject":"ACK: [PATCH 1/3] lib: fwts_acpi_tables: add a new function to check\n\treserved bits","To":"Alex Hung <alex.hung@canonical.com>, fwts-devel@lists.ubuntu.com","References":"<1504861633-20512-1-git-send-email-alex.hung@canonical.com>","From":"Colin Ian King <colin.king@canonical.com>","Message-ID":"<fb991555-b8c2-93df-fb77-717769ca1fb9@canonical.com>","Date":"Mon, 25 Sep 2017 13:00:38 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101\n\tThunderbird/45.8.0","MIME-Version":"1.0","In-Reply-To":"<1504861633-20512-1-git-send-email-alex.hung@canonical.com>","X-BeenThere":"fwts-devel@lists.ubuntu.com","X-Mailman-Version":"2.1.20","Precedence":"list","List-Id":"Firmware Test Suite Development <fwts-devel.lists.ubuntu.com>","List-Unsubscribe":"<https://lists.ubuntu.com/mailman/options/fwts-devel>,\n\t<mailto:fwts-devel-request@lists.ubuntu.com?subject=unsubscribe>","List-Archive":"<https://lists.ubuntu.com/archives/fwts-devel>","List-Post":"<mailto:fwts-devel@lists.ubuntu.com>","List-Help":"<mailto:fwts-devel-request@lists.ubuntu.com?subject=help>","List-Subscribe":"<https://lists.ubuntu.com/mailman/listinfo/fwts-devel>,\n\t<mailto:fwts-devel-request@lists.ubuntu.com?subject=subscribe>","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"base64","Errors-To":"fwts-devel-bounces@lists.ubuntu.com","Sender":"\"fwts-devel\" <fwts-devel-bounces@lists.ubuntu.com>"}}]