* [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality @ 2013-12-26 12:19 Marcel Apfelbaum 2013-12-26 12:19 ` [Qemu-devel] [PATCH v2 1/2] acpi unit-test: added script to rebuild the expected aml files Marcel Apfelbaum ` (2 more replies) 0 siblings, 3 replies; 16+ messages in thread From: Marcel Apfelbaum @ 2013-12-26 12:19 UTC (permalink / raw) To: qemu-devel; +Cc: mst Acpi unit-test will fail every time the acpi tables change. The series adds a script that rebuilds the expected aml files, so the test will pass. It also validates the modifications. The acpi unit test will rebuild the aml tables if TEST_ACPI_REBUILD_AML environment variable is set. v1 -> v2: Addressed Michael S. Tsirkin's comments: - added TEST_ prefix to the environment variable - some rephrases Marcel Apfelbaum (2): acpi unit-test: added script to rebuild the expected aml files acpi unit-test: hook to rebuild expected aml files tests/acpi-test-data/rebuild-expected-aml.sh | 36 ++++++++++++++++++++++++++++ tests/acpi-test.c | 30 +++++++++++++++++++---- 2 files changed, 61 insertions(+), 5 deletions(-) create mode 100755 tests/acpi-test-data/rebuild-expected-aml.sh -- 1.8.3.1 ^ permalink raw reply [flat|nested] 16+ messages in thread
* [Qemu-devel] [PATCH v2 1/2] acpi unit-test: added script to rebuild the expected aml files 2013-12-26 12:19 [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality Marcel Apfelbaum @ 2013-12-26 12:19 ` Marcel Apfelbaum 2013-12-26 13:54 ` Michael S. Tsirkin 2013-12-26 12:19 ` [Qemu-devel] [PATCH v2 2/2] acpi unit-test: hook to rebuild " Marcel Apfelbaum 2013-12-26 12:46 ` [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality Michael S. Tsirkin 2 siblings, 1 reply; 16+ messages in thread From: Marcel Apfelbaum @ 2013-12-26 12:19 UTC (permalink / raw) To: qemu-devel; +Cc: mst Acpi unit-test will fail every time the acpi tables change. This script rebuild the expected aml files, so the test will pass. It also validates the modifications. Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com> --- v1 -> v2: Addressed Michael S. Tsirkin's comments: - added TEST_ prefix to the environment variable - some rephrases tests/acpi-test-data/rebuild-expected-aml.sh | 36 ++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 tests/acpi-test-data/rebuild-expected-aml.sh diff --git a/tests/acpi-test-data/rebuild-expected-aml.sh b/tests/acpi-test-data/rebuild-expected-aml.sh new file mode 100755 index 0000000..6753469 --- /dev/null +++ b/tests/acpi-test-data/rebuild-expected-aml.sh @@ -0,0 +1,36 @@ +#! /bin/bash + +# +# Rebuild expected AML files for acpi unit-test +# +# Copyright (c) 2013 Red Hat Inc. +# +# Authors: +# Marcel Apfelbaum <marcel.a@redhat.com> +# +# This work is licensed under the terms of the GNU GPLv2. +# See the COPYING.LIB file in the top-level directory. + +qemu= + +if [ -e x86_64-softmmu/qemu-system-x86_64 ]; then + qemu="x86_64-softmmu/qemu-system-x86_64" +elif [ -e i386-softmmu/qemu-system-i386 ]; then + qemu="i386-softmmu/qemu-system-i386" +else + echo "Run 'make' to build the qemu exectutable!" + echo "Run this script from the build directory." + exit 1; +fi + +if [ ! -e "tests/acpi-test" ]; then + echo "Test: acpi-test is required! Run make check before this script." + echo "Run this script from the build directory." + exit 1; +fi + +TEST_ACPI_REBUILD_AML=y QTEST_QEMU_BINARY=$qemu tests/acpi-test + +echo "The files were rebuilt and can be added to git." +echo "However, if new files were created, please copy them manually" \ + "to tests/acpi-test-data/pc/ or tests/acpi-test-data/q35/ ." -- 1.8.3.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH v2 1/2] acpi unit-test: added script to rebuild the expected aml files 2013-12-26 12:19 ` [Qemu-devel] [PATCH v2 1/2] acpi unit-test: added script to rebuild the expected aml files Marcel Apfelbaum @ 2013-12-26 13:54 ` Michael S. Tsirkin 0 siblings, 0 replies; 16+ messages in thread From: Michael S. Tsirkin @ 2013-12-26 13:54 UTC (permalink / raw) To: Marcel Apfelbaum; +Cc: qemu-devel On Thu, Dec 26, 2013 at 02:19:49PM +0200, Marcel Apfelbaum wrote: > Acpi unit-test will fail every time the acpi tables change. > This script rebuild the expected aml files, so the test > will pass. It also validates the modifications. > > Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com> > --- > v1 -> v2: > Addressed Michael S. Tsirkin's comments: > - added TEST_ prefix to the environment variable > - some rephrases > > tests/acpi-test-data/rebuild-expected-aml.sh | 36 ++++++++++++++++++++++++++++ > 1 file changed, 36 insertions(+) > create mode 100755 tests/acpi-test-data/rebuild-expected-aml.sh > > diff --git a/tests/acpi-test-data/rebuild-expected-aml.sh b/tests/acpi-test-data/rebuild-expected-aml.sh > new file mode 100755 > index 0000000..6753469 > --- /dev/null > +++ b/tests/acpi-test-data/rebuild-expected-aml.sh > @@ -0,0 +1,36 @@ > +#! /bin/bash > + > +# > +# Rebuild expected AML files for acpi unit-test trailing space here > +# > +# Copyright (c) 2013 Red Hat Inc. > +# > +# Authors: > +# Marcel Apfelbaum <marcel.a@redhat.com> > +# > +# This work is licensed under the terms of the GNU GPLv2. > +# See the COPYING.LIB file in the top-level directory. > + > +qemu= > + > +if [ -e x86_64-softmmu/qemu-system-x86_64 ]; then > + qemu="x86_64-softmmu/qemu-system-x86_64" > +elif [ -e i386-softmmu/qemu-system-i386 ]; then > + qemu="i386-softmmu/qemu-system-i386" > +else > + echo "Run 'make' to build the qemu exectutable!" > + echo "Run this script from the build directory." > + exit 1; > +fi > + > +if [ ! -e "tests/acpi-test" ]; then > + echo "Test: acpi-test is required! Run make check before this script." > + echo "Run this script from the build directory." > + exit 1; > +fi > + > +TEST_ACPI_REBUILD_AML=y QTEST_QEMU_BINARY=$qemu tests/acpi-test > + > +echo "The files were rebuilt and can be added to git." > +echo "However, if new files were created, please copy them manually" \ > + "to tests/acpi-test-data/pc/ or tests/acpi-test-data/q35/ ." > -- > 1.8.3.1 ^ permalink raw reply [flat|nested] 16+ messages in thread
* [Qemu-devel] [PATCH v2 2/2] acpi unit-test: hook to rebuild expected aml files 2013-12-26 12:19 [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality Marcel Apfelbaum 2013-12-26 12:19 ` [Qemu-devel] [PATCH v2 1/2] acpi unit-test: added script to rebuild the expected aml files Marcel Apfelbaum @ 2013-12-26 12:19 ` Marcel Apfelbaum 2013-12-26 12:46 ` [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality Michael S. Tsirkin 2 siblings, 0 replies; 16+ messages in thread From: Marcel Apfelbaum @ 2013-12-26 12:19 UTC (permalink / raw) To: qemu-devel; +Cc: mst When running the test with TEST_ACPI_REBUILD_AML=y environment variable, the test will rebuild and validate the expected aml files. Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com> --- v1 -> v2: Addressed Michael S. Tsirkin's comments: - added TEST_ prefix to the environment variable tests/acpi-test.c | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/tests/acpi-test.c b/tests/acpi-test.c index 954d9b9..2f9f9a8 100644 --- a/tests/acpi-test.c +++ b/tests/acpi-test.c @@ -13,6 +13,7 @@ #include <string.h> #include <stdio.h> #include <glib.h> +#include <glib/gstdio.h> #include "qemu-common.h" #include "libqtest.h" #include "qemu/compiler.h" @@ -21,6 +22,8 @@ #define MACHINE_PC "pc" #define MACHINE_Q35 "q35" +#define ACPI_REBUILD_EXPECTED_AML "TEST_ACPI_REBUILD_AML" + /* DSDT and SSDTs format */ typedef struct { AcpiTableHeader header; @@ -363,10 +366,11 @@ static void test_acpi_ssdt_tables(test_data *data) } } -static void dump_aml_files(test_data *data) +static void dump_aml_files(test_data *data, bool rebuild) { AcpiSdtTable *sdt; GError *error = NULL; + gchar *aml_file = NULL; gint fd; int i; @@ -374,12 +378,24 @@ static void dump_aml_files(test_data *data) sdt = &g_array_index(data->ssdt_tables, AcpiSdtTable, i); g_assert(sdt->aml); - fd = g_file_open_tmp("aml-XXXXXX", &sdt->aml_file, &error); - g_assert_no_error(error); + if (rebuild) { + aml_file = g_strdup_printf("%s/%s/%.4s", data_dir, data->machine, + (gchar *)&sdt->header.signature); + fd = g_open(aml_file, O_WRONLY|O_TRUNC|O_CREAT, + S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH); + } else { + fd = g_file_open_tmp("aml-XXXXXX", &sdt->aml_file, &error); + g_assert_no_error(error); + } + g_assert(fd >= 0); write(fd, sdt, sizeof(AcpiTableHeader)); write(fd, sdt->aml, sdt->aml_len); close(fd); + + if (aml_file) { + g_free(aml_file); + } } } @@ -487,7 +503,7 @@ static void test_acpi_asl(test_data *data) memset(&exp_data, 0, sizeof(exp_data)); exp_data.ssdt_tables = load_expected_aml(data); - dump_aml_files(data); + dump_aml_files(data, false); for (i = 0; i < data->ssdt_tables->len; ++i) { GString *asl, *exp_asl; @@ -553,7 +569,11 @@ static void test_acpi_one(const char *params, test_data *data) test_acpi_ssdt_tables(data); if (iasl) { - test_acpi_asl(data); + if (getenv(ACPI_REBUILD_EXPECTED_AML)) { + dump_aml_files(data, true); + } else { + test_acpi_asl(data); + } } qtest_quit(global_qtest); -- 1.8.3.1 ^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality 2013-12-26 12:19 [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality Marcel Apfelbaum 2013-12-26 12:19 ` [Qemu-devel] [PATCH v2 1/2] acpi unit-test: added script to rebuild the expected aml files Marcel Apfelbaum 2013-12-26 12:19 ` [Qemu-devel] [PATCH v2 2/2] acpi unit-test: hook to rebuild " Marcel Apfelbaum @ 2013-12-26 12:46 ` Michael S. Tsirkin 2013-12-26 13:24 ` Marcel Apfelbaum 2 siblings, 1 reply; 16+ messages in thread From: Michael S. Tsirkin @ 2013-12-26 12:46 UTC (permalink / raw) To: Marcel Apfelbaum; +Cc: qemu-devel On Thu, Dec 26, 2013 at 02:19:48PM +0200, Marcel Apfelbaum wrote: > Acpi unit-test will fail every time the acpi tables change. > > The series adds a script that rebuilds the expected aml files, so the test > will pass. It also validates the modifications. > > The acpi unit test will rebuild the aml tables if TEST_ACPI_REBUILD_AML > environment variable is set. OK I had to fix some trailing whitespace, otherwise looks good. I applied it all, pls check the pci branch. > v1 -> v2: > Addressed Michael S. Tsirkin's comments: > - added TEST_ prefix to the environment variable > - some rephrases > > Marcel Apfelbaum (2): > acpi unit-test: added script to rebuild the expected aml files > acpi unit-test: hook to rebuild expected aml files > > tests/acpi-test-data/rebuild-expected-aml.sh | 36 ++++++++++++++++++++++++++++ > tests/acpi-test.c | 30 +++++++++++++++++++---- > 2 files changed, 61 insertions(+), 5 deletions(-) > create mode 100755 tests/acpi-test-data/rebuild-expected-aml.sh > > -- > 1.8.3.1 ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality 2013-12-26 12:46 ` [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality Michael S. Tsirkin @ 2013-12-26 13:24 ` Marcel Apfelbaum 2013-12-26 13:53 ` Michael S. Tsirkin 0 siblings, 1 reply; 16+ messages in thread From: Marcel Apfelbaum @ 2013-12-26 13:24 UTC (permalink / raw) To: Michael S. Tsirkin; +Cc: qemu-devel On Thu, 2013-12-26 at 14:46 +0200, Michael S. Tsirkin wrote: > On Thu, Dec 26, 2013 at 02:19:48PM +0200, Marcel Apfelbaum wrote: > > Acpi unit-test will fail every time the acpi tables change. > > > > The series adds a script that rebuilds the expected aml files, so the test > > will pass. It also validates the modifications. > > > > The acpi unit test will rebuild the aml tables if TEST_ACPI_REBUILD_AML > > environment variable is set. > > OK I had to fix some trailing whitespace, otherwise > looks good. > I applied it all, pls check the pci branch. Thanks! I pulled the pci branch, but I did not see the patches yet. I used git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git, pci branch. Thanks, Marcel > > v1 -> v2: > > Addressed Michael S. Tsirkin's comments: > > - added TEST_ prefix to the environment variable > > - some rephrases > > > > Marcel Apfelbaum (2): > > acpi unit-test: added script to rebuild the expected aml files > > acpi unit-test: hook to rebuild expected aml files > > > > tests/acpi-test-data/rebuild-expected-aml.sh | 36 ++++++++++++++++++++++++++++ > > tests/acpi-test.c | 30 +++++++++++++++++++---- > > 2 files changed, 61 insertions(+), 5 deletions(-) > > create mode 100755 tests/acpi-test-data/rebuild-expected-aml.sh > > > > -- > > 1.8.3.1 > ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality 2013-12-26 13:24 ` Marcel Apfelbaum @ 2013-12-26 13:53 ` Michael S. Tsirkin 2013-12-26 14:09 ` Marcel Apfelbaum 0 siblings, 1 reply; 16+ messages in thread From: Michael S. Tsirkin @ 2013-12-26 13:53 UTC (permalink / raw) To: Marcel Apfelbaum; +Cc: qemu-devel On Thu, Dec 26, 2013 at 03:24:28PM +0200, Marcel Apfelbaum wrote: > On Thu, 2013-12-26 at 14:46 +0200, Michael S. Tsirkin wrote: > > On Thu, Dec 26, 2013 at 02:19:48PM +0200, Marcel Apfelbaum wrote: > > > Acpi unit-test will fail every time the acpi tables change. > > > > > > The series adds a script that rebuilds the expected aml files, so the test > > > will pass. It also validates the modifications. > > > > > > The acpi unit test will rebuild the aml tables if TEST_ACPI_REBUILD_AML > > > environment variable is set. > > > > OK I had to fix some trailing whitespace, otherwise > > looks good. > > I applied it all, pls check the pci branch. > Thanks! > I pulled the pci branch, but I did not see the patches yet. > I used git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git, > pci branch. > > Thanks, > Marcel Actually had to revert. Build fails with recent gcc: ests/acpi-test.c: In function ‘dump_aml_files’: tests/acpi-test.c:392:14: error: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Werror=unused-result] write(fd, sdt, sizeof(AcpiTableHeader)); ^ tests/acpi-test.c:393:14: error: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Werror=unused-result] write(fd, sdt->aml, sdt->aml_len); ^ cc1: all warnings being treated as errors make: *** [tests/acpi-test.o] Error 1 and it's true: you need to wrap write in a loop as it can write less than requested number of bytes. See qemu_write_full - can it be used it tests? > > > v1 -> v2: > > > Addressed Michael S. Tsirkin's comments: > > > - added TEST_ prefix to the environment variable > > > - some rephrases > > > > > > Marcel Apfelbaum (2): > > > acpi unit-test: added script to rebuild the expected aml files > > > acpi unit-test: hook to rebuild expected aml files > > > > > > tests/acpi-test-data/rebuild-expected-aml.sh | 36 ++++++++++++++++++++++++++++ > > > tests/acpi-test.c | 30 +++++++++++++++++++---- > > > 2 files changed, 61 insertions(+), 5 deletions(-) > > > create mode 100755 tests/acpi-test-data/rebuild-expected-aml.sh > > > > > > -- > > > 1.8.3.1 > > > > ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality 2013-12-26 13:53 ` Michael S. Tsirkin @ 2013-12-26 14:09 ` Marcel Apfelbaum 2013-12-26 15:41 ` Michael S. Tsirkin 0 siblings, 1 reply; 16+ messages in thread From: Marcel Apfelbaum @ 2013-12-26 14:09 UTC (permalink / raw) To: Michael S. Tsirkin; +Cc: qemu-devel On Thu, 2013-12-26 at 15:53 +0200, Michael S. Tsirkin wrote: > On Thu, Dec 26, 2013 at 03:24:28PM +0200, Marcel Apfelbaum wrote: > > On Thu, 2013-12-26 at 14:46 +0200, Michael S. Tsirkin wrote: > > > On Thu, Dec 26, 2013 at 02:19:48PM +0200, Marcel Apfelbaum wrote: > > > > Acpi unit-test will fail every time the acpi tables change. > > > > > > > > The series adds a script that rebuilds the expected aml files, so the test > > > > will pass. It also validates the modifications. > > > > > > > > The acpi unit test will rebuild the aml tables if TEST_ACPI_REBUILD_AML > > > > environment variable is set. > > > > > > OK I had to fix some trailing whitespace, otherwise > > > looks good. > > > I applied it all, pls check the pci branch. > > Thanks! > > I pulled the pci branch, but I did not see the patches yet. > > I used git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git, > > pci branch. > > > > Thanks, > > Marcel > > > Actually had to revert. Build fails with recent gcc: Strange, I update the gcc to the Fedora's latest 4.8.2 and it still doesn't happen. Anyway, I use qemu_write_full as advised and resent. Thanks, Marcel > > ests/acpi-test.c: In function ‘dump_aml_files’: > tests/acpi-test.c:392:14: error: ignoring return value of ‘write’, > declared with attribute warn_unused_result [-Werror=unused-result] > write(fd, sdt, sizeof(AcpiTableHeader)); > ^ > tests/acpi-test.c:393:14: error: ignoring return value of ‘write’, > declared with attribute warn_unused_result [-Werror=unused-result] > write(fd, sdt->aml, sdt->aml_len); > ^ > cc1: all warnings being treated as errors > make: *** [tests/acpi-test.o] Error 1 > > and it's true: you need to wrap write in a loop as it can > write less than requested number of bytes. > See qemu_write_full - can it be used it tests? > > > > > v1 -> v2: > > > > Addressed Michael S. Tsirkin's comments: > > > > - added TEST_ prefix to the environment variable > > > > - some rephrases > > > > > > > > Marcel Apfelbaum (2): > > > > acpi unit-test: added script to rebuild the expected aml files > > > > acpi unit-test: hook to rebuild expected aml files > > > > > > > > tests/acpi-test-data/rebuild-expected-aml.sh | 36 ++++++++++++++++++++++++++++ > > > > tests/acpi-test.c | 30 +++++++++++++++++++---- > > > > 2 files changed, 61 insertions(+), 5 deletions(-) > > > > create mode 100755 tests/acpi-test-data/rebuild-expected-aml.sh > > > > > > > > -- > > > > 1.8.3.1 > > > > > > > ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality 2013-12-26 14:09 ` Marcel Apfelbaum @ 2013-12-26 15:41 ` Michael S. Tsirkin 2013-12-26 15:58 ` Marcel Apfelbaum 0 siblings, 1 reply; 16+ messages in thread From: Michael S. Tsirkin @ 2013-12-26 15:41 UTC (permalink / raw) To: Marcel Apfelbaum; +Cc: qemu-devel On Thu, Dec 26, 2013 at 04:09:58PM +0200, Marcel Apfelbaum wrote: > On Thu, 2013-12-26 at 15:53 +0200, Michael S. Tsirkin wrote: > > On Thu, Dec 26, 2013 at 03:24:28PM +0200, Marcel Apfelbaum wrote: > > > On Thu, 2013-12-26 at 14:46 +0200, Michael S. Tsirkin wrote: > > > > On Thu, Dec 26, 2013 at 02:19:48PM +0200, Marcel Apfelbaum wrote: > > > > > Acpi unit-test will fail every time the acpi tables change. > > > > > > > > > > The series adds a script that rebuilds the expected aml files, so the test > > > > > will pass. It also validates the modifications. > > > > > > > > > > The acpi unit test will rebuild the aml tables if TEST_ACPI_REBUILD_AML > > > > > environment variable is set. > > > > > > > > OK I had to fix some trailing whitespace, otherwise > > > > looks good. > > > > I applied it all, pls check the pci branch. > > > Thanks! > > > I pulled the pci branch, but I did not see the patches yet. > > > I used git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git, > > > pci branch. > > > > > > Thanks, > > > Marcel > > > > > > Actually had to revert. Build fails with recent gcc: > Strange, I update the gcc to the Fedora's latest 4.8.2 and > it still doesn't happen. > Anyway, I use qemu_write_full as advised and resent. > > Thanks, > Marcel OK I applied this for now but I see an issue: iasl crashes below. I think this happens when we run it on a file it does not understand. It's an iasl bug but would be nice to work around it in some way (and it would be nice to report to robert moore) *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x0881bc98 *** ======= Backtrace: ========= /lib/libc.so.6[0x46205d12] /usr/bin/iasl[0x80a5a66] /usr/bin/iasl[0x80a2717] /usr/bin/iasl[0x80a284b] /usr/bin/iasl[0x805bf32] /usr/bin/iasl[0x8072352] /usr/bin/iasl[0x80726c1] /usr/bin/iasl[0x80725f5] /usr/bin/iasl[0x80491a9] /lib/libc.so.6(__libc_start_main+0xf3)[0x461a9963] /usr/bin/iasl[0x80491fd] ======= Memory map: ======== 08047000-0810d000 r-xp 00000000 08:06 48242 /usr/bin/iasl 0810d000-0810e000 r--p 000c5000 08:06 48242 /usr/bin/iasl 0810e000-0810f000 rw-p 000c6000 08:06 48242 /usr/bin/iasl 0810f000-08113000 rw-p 00000000 00:00 0 087f7000-08839000 rw-p 00000000 00:00 0 [heap] 4616d000-4618c000 r-xp 00000000 08:06 4415 /usr/lib/ld-2.17.so 4618c000-4618d000 r--p 0001e000 08:06 4415 /usr/lib/ld-2.17.so 4618d000-4618e000 rw-p 0001f000 08:06 4415 /usr/lib/ld-2.17.so 46190000-46348000 r-xp 00000000 08:06 4643 /usr/lib/libc-2.17.so 46348000-46349000 ---p 001b8000 08:06 4643 /usr/lib/libc-2.17.so 46349000-4634b000 r--p 001b8000 08:06 4643 /usr/lib/libc-2.17.so 4634b000-4634c000 rw-p 001ba000 08:06 4643 /usr/lib/libc-2.17.so 4634c000-4634f000 rw-p 00000000 00:00 0 463d2000-463ed000 r-xp 00000000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 463ed000-463ee000 r--p 0001a000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 463ee000-463ef000 rw-p 0001b000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 b7741000-b7742000 rw-p 00000000 00:00 0 b776c000-b776f000 rw-p 00000000 00:00 0 b776f000-b7770000 r-xp 00000000 00:00 0 [vdso] bfc6f000-bfc91000 rw-p 00000000 00:00 0 [stack] *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x09286cd8 *** ======= Backtrace: ========= /lib/libc.so.6[0x46205d12] /usr/bin/iasl[0x80a5a66] /usr/bin/iasl[0x80a2717] /usr/bin/iasl[0x80a284b] /usr/bin/iasl[0x805bf32] /usr/bin/iasl[0x8072352] /usr/bin/iasl[0x80726c1] /usr/bin/iasl[0x80725f5] /usr/bin/iasl[0x80491a9] /lib/libc.so.6(__libc_start_main+0xf3)[0x461a9963] /usr/bin/iasl[0x80491fd] ======= Memory map: ======== 08047000-0810d000 r-xp 00000000 08:06 48242 /usr/bin/iasl 0810d000-0810e000 r--p 000c5000 08:06 48242 /usr/bin/iasl 0810e000-0810f000 rw-p 000c6000 08:06 48242 /usr/bin/iasl 0810f000-08113000 rw-p 00000000 00:00 0 09262000-092a4000 rw-p 00000000 00:00 0 [heap] 4616d000-4618c000 r-xp 00000000 08:06 4415 /usr/lib/ld-2.17.so 4618c000-4618d000 r--p 0001e000 08:06 4415 /usr/lib/ld-2.17.so 4618d000-4618e000 rw-p 0001f000 08:06 4415 /usr/lib/ld-2.17.so 46190000-46348000 r-xp 00000000 08:06 4643 /usr/lib/libc-2.17.so 46348000-46349000 ---p 001b8000 08:06 4643 /usr/lib/libc-2.17.so 46349000-4634b000 r--p 001b8000 08:06 4643 /usr/lib/libc-2.17.so 4634b000-4634c000 rw-p 001ba000 08:06 4643 /usr/lib/libc-2.17.so 4634c000-4634f000 rw-p 00000000 00:00 0 463d2000-463ed000 r-xp 00000000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 463ed000-463ee000 r--p 0001a000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 463ee000-463ef000 rw-p 0001b000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 b774b000-b774c000 rw-p 00000000 00:00 0 b7776000-b7779000 rw-p 00000000 00:00 0 b7779000-b777a000 r-xp 00000000 00:00 0 [vdso] bfd37000-bfd59000 rw-p 00000000 00:00 0 [stack] *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x09587c58 *** ======= Backtrace: ========= /lib/libc.so.6[0x46205d12] /usr/bin/iasl[0x80a5a66] /usr/bin/iasl[0x80a2717] /usr/bin/iasl[0x80a284b] /usr/bin/iasl[0x805bf32] /usr/bin/iasl[0x8072352] /usr/bin/iasl[0x80726c1] /usr/bin/iasl[0x80725f5] /usr/bin/iasl[0x80491a9] /lib/libc.so.6(__libc_start_main+0xf3)[0x461a9963] /usr/bin/iasl[0x80491fd] ======= Memory map: ======== 08047000-0810d000 r-xp 00000000 08:06 48242 /usr/bin/iasl 0810d000-0810e000 r--p 000c5000 08:06 48242 /usr/bin/iasl 0810e000-0810f000 rw-p 000c6000 08:06 48242 /usr/bin/iasl 0810f000-08113000 rw-p 00000000 00:00 0 09563000-095a5000 rw-p 00000000 00:00 0 [heap] 4616d000-4618c000 r-xp 00000000 08:06 4415 /usr/lib/ld-2.17.so 4618c000-4618d000 r--p 0001e000 08:06 4415 /usr/lib/ld-2.17.so 4618d000-4618e000 rw-p 0001f000 08:06 4415 /usr/lib/ld-2.17.so 46190000-46348000 r-xp 00000000 08:06 4643 /usr/lib/libc-2.17.so 46348000-46349000 ---p 001b8000 08:06 4643 /usr/lib/libc-2.17.so 46349000-4634b000 r--p 001b8000 08:06 4643 /usr/lib/libc-2.17.so 4634b000-4634c000 rw-p 001ba000 08:06 4643 /usr/lib/libc-2.17.so 4634c000-4634f000 rw-p 00000000 00:00 0 463d2000-463ed000 r-xp 00000000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 463ed000-463ee000 r--p 0001a000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 463ee000-463ef000 rw-p 0001b000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 b77af000-b77b0000 rw-p 00000000 00:00 0 b77da000-b77dd000 rw-p 00000000 00:00 0 b77dd000-b77de000 r-xp 00000000 00:00 0 [vdso] bfe96000-bfeb8000 rw-p 00000000 00:00 0 [stack] *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x096c7c98 *** ======= Backtrace: ========= /lib/libc.so.6[0x46205d12] /usr/bin/iasl[0x80a5a66] /usr/bin/iasl[0x80a2717] /usr/bin/iasl[0x80a284b] /usr/bin/iasl[0x805bf32] /usr/bin/iasl[0x8072352] /usr/bin/iasl[0x80726c1] /usr/bin/iasl[0x80725f5] /usr/bin/iasl[0x80491a9] /lib/libc.so.6(__libc_start_main+0xf3)[0x461a9963] /usr/bin/iasl[0x80491fd] ======= Memory map: ======== 08047000-0810d000 r-xp 00000000 08:06 48242 /usr/bin/iasl 0810d000-0810e000 r--p 000c5000 08:06 48242 /usr/bin/iasl 0810e000-0810f000 rw-p 000c6000 08:06 48242 /usr/bin/iasl 0810f000-08113000 rw-p 00000000 00:00 0 096a3000-096e5000 rw-p 00000000 00:00 0 [heap] 4616d000-4618c000 r-xp 00000000 08:06 4415 /usr/lib/ld-2.17.so 4618c000-4618d000 r--p 0001e000 08:06 4415 /usr/lib/ld-2.17.so 4618d000-4618e000 rw-p 0001f000 08:06 4415 /usr/lib/ld-2.17.so 46190000-46348000 r-xp 00000000 08:06 4643 /usr/lib/libc-2.17.so 46348000-46349000 ---p 001b8000 08:06 4643 /usr/lib/libc-2.17.so 46349000-4634b000 r--p 001b8000 08:06 4643 /usr/lib/libc-2.17.so 4634b000-4634c000 rw-p 001ba000 08:06 4643 /usr/lib/libc-2.17.so 4634c000-4634f000 rw-p 00000000 00:00 0 463d2000-463ed000 r-xp 00000000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 463ed000-463ee000 r--p 0001a000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 463ee000-463ef000 rw-p 0001b000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 b7714000-b7715000 rw-p 00000000 00:00 0 b773f000-b7742000 rw-p 00000000 00:00 0 b7742000-b7743000 r-xp 00000000 00:00 0 [vdso] bfc43000-bfc65000 rw-p 00000000 00:00 0 [stack] qemu: terminating on signal 15 from pid 8740 main-loop: WARNING: I/O thread spun for 1000 iterations *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x09e5c3d0 *** ======= Backtrace: ========= /lib/libc.so.6[0x46205d12] /usr/bin/iasl[0x80a5a66] /usr/bin/iasl[0x80a2717] /usr/bin/iasl[0x80a284b] /usr/bin/iasl[0x805bf32] /usr/bin/iasl[0x8072352] /usr/bin/iasl[0x80726c1] /usr/bin/iasl[0x80725f5] /usr/bin/iasl[0x80491a9] /lib/libc.so.6(__libc_start_main+0xf3)[0x461a9963] /usr/bin/iasl[0x80491fd] ======= Memory map: ======== 08047000-0810d000 r-xp 00000000 08:06 48242 /usr/bin/iasl 0810d000-0810e000 r--p 000c5000 08:06 48242 /usr/bin/iasl 0810e000-0810f000 rw-p 000c6000 08:06 48242 /usr/bin/iasl 0810f000-08113000 rw-p 00000000 00:00 0 09e3c000-09e7e000 rw-p 00000000 00:00 0 [heap] 4616d000-4618c000 r-xp 00000000 08:06 4415 /usr/lib/ld-2.17.so 4618c000-4618d000 r--p 0001e000 08:06 4415 /usr/lib/ld-2.17.so 4618d000-4618e000 rw-p 0001f000 08:06 4415 /usr/lib/ld-2.17.so 46190000-46348000 r-xp 00000000 08:06 4643 /usr/lib/libc-2.17.so 46348000-46349000 ---p 001b8000 08:06 4643 /usr/lib/libc-2.17.so 46349000-4634b000 r--p 001b8000 08:06 4643 /usr/lib/libc-2.17.so 4634b000-4634c000 rw-p 001ba000 08:06 4643 /usr/lib/libc-2.17.so 4634c000-4634f000 rw-p 00000000 00:00 0 463d2000-463ed000 r-xp 00000000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 463ed000-463ee000 r--p 0001a000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 463ee000-463ef000 rw-p 0001b000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 b777d000-b777e000 rw-p 00000000 00:00 0 b77a8000-b77ab000 rw-p 00000000 00:00 0 b77ab000-b77ac000 r-xp 00000000 00:00 0 [vdso] bfbb1000-bfbd3000 rw-p 00000000 00:00 0 [stack] *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x0926c410 *** > > > > ests/acpi-test.c: In function ‘dump_aml_files’: > > tests/acpi-test.c:392:14: error: ignoring return value of ‘write’, > > declared with attribute warn_unused_result [-Werror=unused-result] > > write(fd, sdt, sizeof(AcpiTableHeader)); > > ^ > > tests/acpi-test.c:393:14: error: ignoring return value of ‘write’, > > declared with attribute warn_unused_result [-Werror=unused-result] > > write(fd, sdt->aml, sdt->aml_len); > > ^ > > cc1: all warnings being treated as errors > > make: *** [tests/acpi-test.o] Error 1 > > > > and it's true: you need to wrap write in a loop as it can > > write less than requested number of bytes. > > See qemu_write_full - can it be used it tests? > > > > > > > v1 -> v2: > > > > > Addressed Michael S. Tsirkin's comments: > > > > > - added TEST_ prefix to the environment variable > > > > > - some rephrases > > > > > > > > > > Marcel Apfelbaum (2): > > > > > acpi unit-test: added script to rebuild the expected aml files > > > > > acpi unit-test: hook to rebuild expected aml files > > > > > > > > > > tests/acpi-test-data/rebuild-expected-aml.sh | 36 ++++++++++++++++++++++++++++ > > > > > tests/acpi-test.c | 30 +++++++++++++++++++---- > > > > > 2 files changed, 61 insertions(+), 5 deletions(-) > > > > > create mode 100755 tests/acpi-test-data/rebuild-expected-aml.sh > > > > > > > > > > -- > > > > > 1.8.3.1 > > > > > > > > > > > > ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality 2013-12-26 15:41 ` Michael S. Tsirkin @ 2013-12-26 15:58 ` Marcel Apfelbaum 2013-12-26 16:12 ` Michael S. Tsirkin 0 siblings, 1 reply; 16+ messages in thread From: Marcel Apfelbaum @ 2013-12-26 15:58 UTC (permalink / raw) To: Michael S. Tsirkin; +Cc: qemu-devel On Thu, 2013-12-26 at 17:41 +0200, Michael S. Tsirkin wrote: > On Thu, Dec 26, 2013 at 04:09:58PM +0200, Marcel Apfelbaum wrote: > > On Thu, 2013-12-26 at 15:53 +0200, Michael S. Tsirkin wrote: > > > On Thu, Dec 26, 2013 at 03:24:28PM +0200, Marcel Apfelbaum wrote: > > > > On Thu, 2013-12-26 at 14:46 +0200, Michael S. Tsirkin wrote: > > > > > On Thu, Dec 26, 2013 at 02:19:48PM +0200, Marcel Apfelbaum wrote: > > > > > > Acpi unit-test will fail every time the acpi tables change. > > > > > > > > > > > > The series adds a script that rebuilds the expected aml files, so the test > > > > > > will pass. It also validates the modifications. > > > > > > > > > > > > The acpi unit test will rebuild the aml tables if TEST_ACPI_REBUILD_AML > > > > > > environment variable is set. > > > > > > > > > > OK I had to fix some trailing whitespace, otherwise > > > > > looks good. > > > > > I applied it all, pls check the pci branch. > > > > Thanks! > > > > I pulled the pci branch, but I did not see the patches yet. > > > > I used git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git, > > > > pci branch. > > > > > > > > Thanks, > > > > Marcel > > > > > > > > > Actually had to revert. Build fails with recent gcc: > > Strange, I update the gcc to the Fedora's latest 4.8.2 and > > it still doesn't happen. > > Anyway, I use qemu_write_full as advised and resent. > > > > Thanks, > > Marcel > > OK I applied this for now but I see an issue: iasl crashes below. Thanks! By the way, I resend the whole series, I hope you used it. > I think this happens when we run it on a file > it does not understand. > It's an iasl bug but would be nice to work around > it in some way (and it would be nice to report to > robert moore) I cannot reproduce it, I'll try anyway. By the way, the test checks if iasl exits with error, so it should handle this gracefully. (I hope!) Regarding the IASL project, I'll see if I can open a bug, (if I can reproduce it, otherwise I risk they'll ask some questions I cannot answer...) Thanks, Marcel > > > *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x0881bc98 *** > ======= Backtrace: ========= > /lib/libc.so.6[0x46205d12] > /usr/bin/iasl[0x80a5a66] > /usr/bin/iasl[0x80a2717] > /usr/bin/iasl[0x80a284b] > /usr/bin/iasl[0x805bf32] > /usr/bin/iasl[0x8072352] > /usr/bin/iasl[0x80726c1] > /usr/bin/iasl[0x80725f5] > /usr/bin/iasl[0x80491a9] > /lib/libc.so.6(__libc_start_main+0xf3)[0x461a9963] > /usr/bin/iasl[0x80491fd] > ======= Memory map: ======== > 08047000-0810d000 r-xp 00000000 08:06 48242 /usr/bin/iasl > 0810d000-0810e000 r--p 000c5000 08:06 48242 /usr/bin/iasl > 0810e000-0810f000 rw-p 000c6000 08:06 48242 /usr/bin/iasl > 0810f000-08113000 rw-p 00000000 00:00 0 > 087f7000-08839000 rw-p 00000000 00:00 0 [heap] > 4616d000-4618c000 r-xp 00000000 08:06 4415 /usr/lib/ld-2.17.so > 4618c000-4618d000 r--p 0001e000 08:06 4415 /usr/lib/ld-2.17.so > 4618d000-4618e000 rw-p 0001f000 08:06 4415 /usr/lib/ld-2.17.so > 46190000-46348000 r-xp 00000000 08:06 4643 /usr/lib/libc-2.17.so > 46348000-46349000 ---p 001b8000 08:06 4643 /usr/lib/libc-2.17.so > 46349000-4634b000 r--p 001b8000 08:06 4643 /usr/lib/libc-2.17.so > 4634b000-4634c000 rw-p 001ba000 08:06 4643 /usr/lib/libc-2.17.so > 4634c000-4634f000 rw-p 00000000 00:00 0 > 463d2000-463ed000 r-xp 00000000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > 463ed000-463ee000 r--p 0001a000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > 463ee000-463ef000 rw-p 0001b000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > b7741000-b7742000 rw-p 00000000 00:00 0 > b776c000-b776f000 rw-p 00000000 00:00 0 > b776f000-b7770000 r-xp 00000000 00:00 0 [vdso] > bfc6f000-bfc91000 rw-p 00000000 00:00 0 [stack] > *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x09286cd8 *** > ======= Backtrace: ========= > /lib/libc.so.6[0x46205d12] > /usr/bin/iasl[0x80a5a66] > /usr/bin/iasl[0x80a2717] > /usr/bin/iasl[0x80a284b] > /usr/bin/iasl[0x805bf32] > /usr/bin/iasl[0x8072352] > /usr/bin/iasl[0x80726c1] > /usr/bin/iasl[0x80725f5] > /usr/bin/iasl[0x80491a9] > /lib/libc.so.6(__libc_start_main+0xf3)[0x461a9963] > /usr/bin/iasl[0x80491fd] > ======= Memory map: ======== > 08047000-0810d000 r-xp 00000000 08:06 48242 /usr/bin/iasl > 0810d000-0810e000 r--p 000c5000 08:06 48242 /usr/bin/iasl > 0810e000-0810f000 rw-p 000c6000 08:06 48242 /usr/bin/iasl > 0810f000-08113000 rw-p 00000000 00:00 0 > 09262000-092a4000 rw-p 00000000 00:00 0 [heap] > 4616d000-4618c000 r-xp 00000000 08:06 4415 /usr/lib/ld-2.17.so > 4618c000-4618d000 r--p 0001e000 08:06 4415 /usr/lib/ld-2.17.so > 4618d000-4618e000 rw-p 0001f000 08:06 4415 /usr/lib/ld-2.17.so > 46190000-46348000 r-xp 00000000 08:06 4643 /usr/lib/libc-2.17.so > 46348000-46349000 ---p 001b8000 08:06 4643 /usr/lib/libc-2.17.so > 46349000-4634b000 r--p 001b8000 08:06 4643 /usr/lib/libc-2.17.so > 4634b000-4634c000 rw-p 001ba000 08:06 4643 /usr/lib/libc-2.17.so > 4634c000-4634f000 rw-p 00000000 00:00 0 > 463d2000-463ed000 r-xp 00000000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > 463ed000-463ee000 r--p 0001a000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > 463ee000-463ef000 rw-p 0001b000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > b774b000-b774c000 rw-p 00000000 00:00 0 > b7776000-b7779000 rw-p 00000000 00:00 0 > b7779000-b777a000 r-xp 00000000 00:00 0 [vdso] > bfd37000-bfd59000 rw-p 00000000 00:00 0 [stack] > *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x09587c58 *** > ======= Backtrace: ========= > /lib/libc.so.6[0x46205d12] > /usr/bin/iasl[0x80a5a66] > /usr/bin/iasl[0x80a2717] > /usr/bin/iasl[0x80a284b] > /usr/bin/iasl[0x805bf32] > /usr/bin/iasl[0x8072352] > /usr/bin/iasl[0x80726c1] > /usr/bin/iasl[0x80725f5] > /usr/bin/iasl[0x80491a9] > /lib/libc.so.6(__libc_start_main+0xf3)[0x461a9963] > /usr/bin/iasl[0x80491fd] > ======= Memory map: ======== > 08047000-0810d000 r-xp 00000000 08:06 48242 /usr/bin/iasl > 0810d000-0810e000 r--p 000c5000 08:06 48242 /usr/bin/iasl > 0810e000-0810f000 rw-p 000c6000 08:06 48242 /usr/bin/iasl > 0810f000-08113000 rw-p 00000000 00:00 0 > 09563000-095a5000 rw-p 00000000 00:00 0 [heap] > 4616d000-4618c000 r-xp 00000000 08:06 4415 /usr/lib/ld-2.17.so > 4618c000-4618d000 r--p 0001e000 08:06 4415 /usr/lib/ld-2.17.so > 4618d000-4618e000 rw-p 0001f000 08:06 4415 /usr/lib/ld-2.17.so > 46190000-46348000 r-xp 00000000 08:06 4643 /usr/lib/libc-2.17.so > 46348000-46349000 ---p 001b8000 08:06 4643 /usr/lib/libc-2.17.so > 46349000-4634b000 r--p 001b8000 08:06 4643 /usr/lib/libc-2.17.so > 4634b000-4634c000 rw-p 001ba000 08:06 4643 /usr/lib/libc-2.17.so > 4634c000-4634f000 rw-p 00000000 00:00 0 > 463d2000-463ed000 r-xp 00000000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > 463ed000-463ee000 r--p 0001a000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > 463ee000-463ef000 rw-p 0001b000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > b77af000-b77b0000 rw-p 00000000 00:00 0 > b77da000-b77dd000 rw-p 00000000 00:00 0 > b77dd000-b77de000 r-xp 00000000 00:00 0 [vdso] > bfe96000-bfeb8000 rw-p 00000000 00:00 0 [stack] > *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x096c7c98 *** > ======= Backtrace: ========= > /lib/libc.so.6[0x46205d12] > /usr/bin/iasl[0x80a5a66] > /usr/bin/iasl[0x80a2717] > /usr/bin/iasl[0x80a284b] > /usr/bin/iasl[0x805bf32] > /usr/bin/iasl[0x8072352] > /usr/bin/iasl[0x80726c1] > /usr/bin/iasl[0x80725f5] > /usr/bin/iasl[0x80491a9] > /lib/libc.so.6(__libc_start_main+0xf3)[0x461a9963] > /usr/bin/iasl[0x80491fd] > ======= Memory map: ======== > 08047000-0810d000 r-xp 00000000 08:06 48242 /usr/bin/iasl > 0810d000-0810e000 r--p 000c5000 08:06 48242 /usr/bin/iasl > 0810e000-0810f000 rw-p 000c6000 08:06 48242 /usr/bin/iasl > 0810f000-08113000 rw-p 00000000 00:00 0 > 096a3000-096e5000 rw-p 00000000 00:00 0 [heap] > 4616d000-4618c000 r-xp 00000000 08:06 4415 /usr/lib/ld-2.17.so > 4618c000-4618d000 r--p 0001e000 08:06 4415 /usr/lib/ld-2.17.so > 4618d000-4618e000 rw-p 0001f000 08:06 4415 /usr/lib/ld-2.17.so > 46190000-46348000 r-xp 00000000 08:06 4643 /usr/lib/libc-2.17.so > 46348000-46349000 ---p 001b8000 08:06 4643 /usr/lib/libc-2.17.so > 46349000-4634b000 r--p 001b8000 08:06 4643 /usr/lib/libc-2.17.so > 4634b000-4634c000 rw-p 001ba000 08:06 4643 /usr/lib/libc-2.17.so > 4634c000-4634f000 rw-p 00000000 00:00 0 > 463d2000-463ed000 r-xp 00000000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > 463ed000-463ee000 r--p 0001a000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > 463ee000-463ef000 rw-p 0001b000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > b7714000-b7715000 rw-p 00000000 00:00 0 > b773f000-b7742000 rw-p 00000000 00:00 0 > b7742000-b7743000 r-xp 00000000 00:00 0 [vdso] > bfc43000-bfc65000 rw-p 00000000 00:00 0 [stack] > qemu: terminating on signal 15 from pid 8740 > main-loop: WARNING: I/O thread spun for 1000 iterations > *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x09e5c3d0 *** > ======= Backtrace: ========= > /lib/libc.so.6[0x46205d12] > /usr/bin/iasl[0x80a5a66] > /usr/bin/iasl[0x80a2717] > /usr/bin/iasl[0x80a284b] > /usr/bin/iasl[0x805bf32] > /usr/bin/iasl[0x8072352] > /usr/bin/iasl[0x80726c1] > /usr/bin/iasl[0x80725f5] > /usr/bin/iasl[0x80491a9] > /lib/libc.so.6(__libc_start_main+0xf3)[0x461a9963] > /usr/bin/iasl[0x80491fd] > ======= Memory map: ======== > 08047000-0810d000 r-xp 00000000 08:06 48242 /usr/bin/iasl > 0810d000-0810e000 r--p 000c5000 08:06 48242 /usr/bin/iasl > 0810e000-0810f000 rw-p 000c6000 08:06 48242 /usr/bin/iasl > 0810f000-08113000 rw-p 00000000 00:00 0 > 09e3c000-09e7e000 rw-p 00000000 00:00 0 [heap] > 4616d000-4618c000 r-xp 00000000 08:06 4415 /usr/lib/ld-2.17.so > 4618c000-4618d000 r--p 0001e000 08:06 4415 /usr/lib/ld-2.17.so > 4618d000-4618e000 rw-p 0001f000 08:06 4415 /usr/lib/ld-2.17.so > 46190000-46348000 r-xp 00000000 08:06 4643 /usr/lib/libc-2.17.so > 46348000-46349000 ---p 001b8000 08:06 4643 /usr/lib/libc-2.17.so > 46349000-4634b000 r--p 001b8000 08:06 4643 /usr/lib/libc-2.17.so > 4634b000-4634c000 rw-p 001ba000 08:06 4643 /usr/lib/libc-2.17.so > 4634c000-4634f000 rw-p 00000000 00:00 0 > 463d2000-463ed000 r-xp 00000000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > 463ed000-463ee000 r--p 0001a000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > 463ee000-463ef000 rw-p 0001b000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > b777d000-b777e000 rw-p 00000000 00:00 0 > b77a8000-b77ab000 rw-p 00000000 00:00 0 > b77ab000-b77ac000 r-xp 00000000 00:00 0 [vdso] > bfbb1000-bfbd3000 rw-p 00000000 00:00 0 [stack] > *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x0926c410 *** > > > > > > > > > ests/acpi-test.c: In function ‘dump_aml_files’: > > > tests/acpi-test.c:392:14: error: ignoring return value of ‘write’, > > > declared with attribute warn_unused_result [-Werror=unused-result] > > > write(fd, sdt, sizeof(AcpiTableHeader)); > > > ^ > > > tests/acpi-test.c:393:14: error: ignoring return value of ‘write’, > > > declared with attribute warn_unused_result [-Werror=unused-result] > > > write(fd, sdt->aml, sdt->aml_len); > > > ^ > > > cc1: all warnings being treated as errors > > > make: *** [tests/acpi-test.o] Error 1 > > > > > > and it's true: you need to wrap write in a loop as it can > > > write less than requested number of bytes. > > > See qemu_write_full - can it be used it tests? > > > > > > > > > v1 -> v2: > > > > > > Addressed Michael S. Tsirkin's comments: > > > > > > - added TEST_ prefix to the environment variable > > > > > > - some rephrases > > > > > > > > > > > > Marcel Apfelbaum (2): > > > > > > acpi unit-test: added script to rebuild the expected aml files > > > > > > acpi unit-test: hook to rebuild expected aml files > > > > > > > > > > > > tests/acpi-test-data/rebuild-expected-aml.sh | 36 ++++++++++++++++++++++++++++ > > > > > > tests/acpi-test.c | 30 +++++++++++++++++++---- > > > > > > 2 files changed, 61 insertions(+), 5 deletions(-) > > > > > > create mode 100755 tests/acpi-test-data/rebuild-expected-aml.sh > > > > > > > > > > > > -- > > > > > > 1.8.3.1 > > > > > > > > > > > > > > > > > ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality 2013-12-26 15:58 ` Marcel Apfelbaum @ 2013-12-26 16:12 ` Michael S. Tsirkin 2013-12-26 16:51 ` Michael S. Tsirkin 0 siblings, 1 reply; 16+ messages in thread From: Michael S. Tsirkin @ 2013-12-26 16:12 UTC (permalink / raw) To: Marcel Apfelbaum; +Cc: qemu-devel On Thu, Dec 26, 2013 at 05:58:09PM +0200, Marcel Apfelbaum wrote: > On Thu, 2013-12-26 at 17:41 +0200, Michael S. Tsirkin wrote: > > On Thu, Dec 26, 2013 at 04:09:58PM +0200, Marcel Apfelbaum wrote: > > > On Thu, 2013-12-26 at 15:53 +0200, Michael S. Tsirkin wrote: > > > > On Thu, Dec 26, 2013 at 03:24:28PM +0200, Marcel Apfelbaum wrote: > > > > > On Thu, 2013-12-26 at 14:46 +0200, Michael S. Tsirkin wrote: > > > > > > On Thu, Dec 26, 2013 at 02:19:48PM +0200, Marcel Apfelbaum wrote: > > > > > > > Acpi unit-test will fail every time the acpi tables change. > > > > > > > > > > > > > > The series adds a script that rebuilds the expected aml files, so the test > > > > > > > will pass. It also validates the modifications. > > > > > > > > > > > > > > The acpi unit test will rebuild the aml tables if TEST_ACPI_REBUILD_AML > > > > > > > environment variable is set. > > > > > > > > > > > > OK I had to fix some trailing whitespace, otherwise > > > > > > looks good. > > > > > > I applied it all, pls check the pci branch. > > > > > Thanks! > > > > > I pulled the pci branch, but I did not see the patches yet. > > > > > I used git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git, > > > > > pci branch. > > > > > > > > > > Thanks, > > > > > Marcel > > > > > > > > > > > > Actually had to revert. Build fails with recent gcc: > > > Strange, I update the gcc to the Fedora's latest 4.8.2 and > > > it still doesn't happen. > > > Anyway, I use qemu_write_full as advised and resent. > > > > > > Thanks, > > > Marcel > > > > OK I applied this for now but I see an issue: iasl crashes below. > Thanks! > By the way, I resend the whole series, I hope you used it. yes pushed, take a look > > I think this happens when we run it on a file > > it does not understand. > > It's an iasl bug but would be nice to work around > > it in some way (and it would be nice to report to > > robert moore) > > I cannot reproduce it, I'll try anyway. > By the way, the test checks if iasl exits with error, > so it should handle this gracefully. (I hope!) > > Regarding the IASL project, I'll see if I can open a bug, no, just send mail. > (if I can reproduce it, otherwise I risk they'll ask some > questions I cannot answer...) > > Thanks, > Marcel This is on fedora 19, 32 bit. > > > > > > *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x0881bc98 *** > > ======= Backtrace: ========= > > /lib/libc.so.6[0x46205d12] > > /usr/bin/iasl[0x80a5a66] > > /usr/bin/iasl[0x80a2717] > > /usr/bin/iasl[0x80a284b] > > /usr/bin/iasl[0x805bf32] > > /usr/bin/iasl[0x8072352] > > /usr/bin/iasl[0x80726c1] > > /usr/bin/iasl[0x80725f5] > > /usr/bin/iasl[0x80491a9] > > /lib/libc.so.6(__libc_start_main+0xf3)[0x461a9963] > > /usr/bin/iasl[0x80491fd] > > ======= Memory map: ======== > > 08047000-0810d000 r-xp 00000000 08:06 48242 /usr/bin/iasl > > 0810d000-0810e000 r--p 000c5000 08:06 48242 /usr/bin/iasl > > 0810e000-0810f000 rw-p 000c6000 08:06 48242 /usr/bin/iasl > > 0810f000-08113000 rw-p 00000000 00:00 0 > > 087f7000-08839000 rw-p 00000000 00:00 0 [heap] > > 4616d000-4618c000 r-xp 00000000 08:06 4415 /usr/lib/ld-2.17.so > > 4618c000-4618d000 r--p 0001e000 08:06 4415 /usr/lib/ld-2.17.so > > 4618d000-4618e000 rw-p 0001f000 08:06 4415 /usr/lib/ld-2.17.so > > 46190000-46348000 r-xp 00000000 08:06 4643 /usr/lib/libc-2.17.so > > 46348000-46349000 ---p 001b8000 08:06 4643 /usr/lib/libc-2.17.so > > 46349000-4634b000 r--p 001b8000 08:06 4643 /usr/lib/libc-2.17.so > > 4634b000-4634c000 rw-p 001ba000 08:06 4643 /usr/lib/libc-2.17.so > > 4634c000-4634f000 rw-p 00000000 00:00 0 > > 463d2000-463ed000 r-xp 00000000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > > 463ed000-463ee000 r--p 0001a000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > > 463ee000-463ef000 rw-p 0001b000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > > b7741000-b7742000 rw-p 00000000 00:00 0 > > b776c000-b776f000 rw-p 00000000 00:00 0 > > b776f000-b7770000 r-xp 00000000 00:00 0 [vdso] > > bfc6f000-bfc91000 rw-p 00000000 00:00 0 [stack] > > *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x09286cd8 *** > > ======= Backtrace: ========= > > /lib/libc.so.6[0x46205d12] > > /usr/bin/iasl[0x80a5a66] > > /usr/bin/iasl[0x80a2717] > > /usr/bin/iasl[0x80a284b] > > /usr/bin/iasl[0x805bf32] > > /usr/bin/iasl[0x8072352] > > /usr/bin/iasl[0x80726c1] > > /usr/bin/iasl[0x80725f5] > > /usr/bin/iasl[0x80491a9] > > /lib/libc.so.6(__libc_start_main+0xf3)[0x461a9963] > > /usr/bin/iasl[0x80491fd] > > ======= Memory map: ======== > > 08047000-0810d000 r-xp 00000000 08:06 48242 /usr/bin/iasl > > 0810d000-0810e000 r--p 000c5000 08:06 48242 /usr/bin/iasl > > 0810e000-0810f000 rw-p 000c6000 08:06 48242 /usr/bin/iasl > > 0810f000-08113000 rw-p 00000000 00:00 0 > > 09262000-092a4000 rw-p 00000000 00:00 0 [heap] > > 4616d000-4618c000 r-xp 00000000 08:06 4415 /usr/lib/ld-2.17.so > > 4618c000-4618d000 r--p 0001e000 08:06 4415 /usr/lib/ld-2.17.so > > 4618d000-4618e000 rw-p 0001f000 08:06 4415 /usr/lib/ld-2.17.so > > 46190000-46348000 r-xp 00000000 08:06 4643 /usr/lib/libc-2.17.so > > 46348000-46349000 ---p 001b8000 08:06 4643 /usr/lib/libc-2.17.so > > 46349000-4634b000 r--p 001b8000 08:06 4643 /usr/lib/libc-2.17.so > > 4634b000-4634c000 rw-p 001ba000 08:06 4643 /usr/lib/libc-2.17.so > > 4634c000-4634f000 rw-p 00000000 00:00 0 > > 463d2000-463ed000 r-xp 00000000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > > 463ed000-463ee000 r--p 0001a000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > > 463ee000-463ef000 rw-p 0001b000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > > b774b000-b774c000 rw-p 00000000 00:00 0 > > b7776000-b7779000 rw-p 00000000 00:00 0 > > b7779000-b777a000 r-xp 00000000 00:00 0 [vdso] > > bfd37000-bfd59000 rw-p 00000000 00:00 0 [stack] > > *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x09587c58 *** > > ======= Backtrace: ========= > > /lib/libc.so.6[0x46205d12] > > /usr/bin/iasl[0x80a5a66] > > /usr/bin/iasl[0x80a2717] > > /usr/bin/iasl[0x80a284b] > > /usr/bin/iasl[0x805bf32] > > /usr/bin/iasl[0x8072352] > > /usr/bin/iasl[0x80726c1] > > /usr/bin/iasl[0x80725f5] > > /usr/bin/iasl[0x80491a9] > > /lib/libc.so.6(__libc_start_main+0xf3)[0x461a9963] > > /usr/bin/iasl[0x80491fd] > > ======= Memory map: ======== > > 08047000-0810d000 r-xp 00000000 08:06 48242 /usr/bin/iasl > > 0810d000-0810e000 r--p 000c5000 08:06 48242 /usr/bin/iasl > > 0810e000-0810f000 rw-p 000c6000 08:06 48242 /usr/bin/iasl > > 0810f000-08113000 rw-p 00000000 00:00 0 > > 09563000-095a5000 rw-p 00000000 00:00 0 [heap] > > 4616d000-4618c000 r-xp 00000000 08:06 4415 /usr/lib/ld-2.17.so > > 4618c000-4618d000 r--p 0001e000 08:06 4415 /usr/lib/ld-2.17.so > > 4618d000-4618e000 rw-p 0001f000 08:06 4415 /usr/lib/ld-2.17.so > > 46190000-46348000 r-xp 00000000 08:06 4643 /usr/lib/libc-2.17.so > > 46348000-46349000 ---p 001b8000 08:06 4643 /usr/lib/libc-2.17.so > > 46349000-4634b000 r--p 001b8000 08:06 4643 /usr/lib/libc-2.17.so > > 4634b000-4634c000 rw-p 001ba000 08:06 4643 /usr/lib/libc-2.17.so > > 4634c000-4634f000 rw-p 00000000 00:00 0 > > 463d2000-463ed000 r-xp 00000000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > > 463ed000-463ee000 r--p 0001a000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > > 463ee000-463ef000 rw-p 0001b000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > > b77af000-b77b0000 rw-p 00000000 00:00 0 > > b77da000-b77dd000 rw-p 00000000 00:00 0 > > b77dd000-b77de000 r-xp 00000000 00:00 0 [vdso] > > bfe96000-bfeb8000 rw-p 00000000 00:00 0 [stack] > > *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x096c7c98 *** > > ======= Backtrace: ========= > > /lib/libc.so.6[0x46205d12] > > /usr/bin/iasl[0x80a5a66] > > /usr/bin/iasl[0x80a2717] > > /usr/bin/iasl[0x80a284b] > > /usr/bin/iasl[0x805bf32] > > /usr/bin/iasl[0x8072352] > > /usr/bin/iasl[0x80726c1] > > /usr/bin/iasl[0x80725f5] > > /usr/bin/iasl[0x80491a9] > > /lib/libc.so.6(__libc_start_main+0xf3)[0x461a9963] > > /usr/bin/iasl[0x80491fd] > > ======= Memory map: ======== > > 08047000-0810d000 r-xp 00000000 08:06 48242 /usr/bin/iasl > > 0810d000-0810e000 r--p 000c5000 08:06 48242 /usr/bin/iasl > > 0810e000-0810f000 rw-p 000c6000 08:06 48242 /usr/bin/iasl > > 0810f000-08113000 rw-p 00000000 00:00 0 > > 096a3000-096e5000 rw-p 00000000 00:00 0 [heap] > > 4616d000-4618c000 r-xp 00000000 08:06 4415 /usr/lib/ld-2.17.so > > 4618c000-4618d000 r--p 0001e000 08:06 4415 /usr/lib/ld-2.17.so > > 4618d000-4618e000 rw-p 0001f000 08:06 4415 /usr/lib/ld-2.17.so > > 46190000-46348000 r-xp 00000000 08:06 4643 /usr/lib/libc-2.17.so > > 46348000-46349000 ---p 001b8000 08:06 4643 /usr/lib/libc-2.17.so > > 46349000-4634b000 r--p 001b8000 08:06 4643 /usr/lib/libc-2.17.so > > 4634b000-4634c000 rw-p 001ba000 08:06 4643 /usr/lib/libc-2.17.so > > 4634c000-4634f000 rw-p 00000000 00:00 0 > > 463d2000-463ed000 r-xp 00000000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > > 463ed000-463ee000 r--p 0001a000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > > 463ee000-463ef000 rw-p 0001b000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > > b7714000-b7715000 rw-p 00000000 00:00 0 > > b773f000-b7742000 rw-p 00000000 00:00 0 > > b7742000-b7743000 r-xp 00000000 00:00 0 [vdso] > > bfc43000-bfc65000 rw-p 00000000 00:00 0 [stack] > > qemu: terminating on signal 15 from pid 8740 > > main-loop: WARNING: I/O thread spun for 1000 iterations > > *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x09e5c3d0 *** > > ======= Backtrace: ========= > > /lib/libc.so.6[0x46205d12] > > /usr/bin/iasl[0x80a5a66] > > /usr/bin/iasl[0x80a2717] > > /usr/bin/iasl[0x80a284b] > > /usr/bin/iasl[0x805bf32] > > /usr/bin/iasl[0x8072352] > > /usr/bin/iasl[0x80726c1] > > /usr/bin/iasl[0x80725f5] > > /usr/bin/iasl[0x80491a9] > > /lib/libc.so.6(__libc_start_main+0xf3)[0x461a9963] > > /usr/bin/iasl[0x80491fd] > > ======= Memory map: ======== > > 08047000-0810d000 r-xp 00000000 08:06 48242 /usr/bin/iasl > > 0810d000-0810e000 r--p 000c5000 08:06 48242 /usr/bin/iasl > > 0810e000-0810f000 rw-p 000c6000 08:06 48242 /usr/bin/iasl > > 0810f000-08113000 rw-p 00000000 00:00 0 > > 09e3c000-09e7e000 rw-p 00000000 00:00 0 [heap] > > 4616d000-4618c000 r-xp 00000000 08:06 4415 /usr/lib/ld-2.17.so > > 4618c000-4618d000 r--p 0001e000 08:06 4415 /usr/lib/ld-2.17.so > > 4618d000-4618e000 rw-p 0001f000 08:06 4415 /usr/lib/ld-2.17.so > > 46190000-46348000 r-xp 00000000 08:06 4643 /usr/lib/libc-2.17.so > > 46348000-46349000 ---p 001b8000 08:06 4643 /usr/lib/libc-2.17.so > > 46349000-4634b000 r--p 001b8000 08:06 4643 /usr/lib/libc-2.17.so > > 4634b000-4634c000 rw-p 001ba000 08:06 4643 /usr/lib/libc-2.17.so > > 4634c000-4634f000 rw-p 00000000 00:00 0 > > 463d2000-463ed000 r-xp 00000000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > > 463ed000-463ee000 r--p 0001a000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > > 463ee000-463ef000 rw-p 0001b000 08:06 51367 /usr/lib/libgcc_s-4.8.2-20131212.so.1 > > b777d000-b777e000 rw-p 00000000 00:00 0 > > b77a8000-b77ab000 rw-p 00000000 00:00 0 > > b77ab000-b77ac000 r-xp 00000000 00:00 0 [vdso] > > bfbb1000-bfbd3000 rw-p 00000000 00:00 0 [stack] > > *** Error in `/usr/bin/iasl': double free or corruption (!prev): 0x0926c410 *** > > > > > > > > > > > > > > ests/acpi-test.c: In function ‘dump_aml_files’: > > > > tests/acpi-test.c:392:14: error: ignoring return value of ‘write’, > > > > declared with attribute warn_unused_result [-Werror=unused-result] > > > > write(fd, sdt, sizeof(AcpiTableHeader)); > > > > ^ > > > > tests/acpi-test.c:393:14: error: ignoring return value of ‘write’, > > > > declared with attribute warn_unused_result [-Werror=unused-result] > > > > write(fd, sdt->aml, sdt->aml_len); > > > > ^ > > > > cc1: all warnings being treated as errors > > > > make: *** [tests/acpi-test.o] Error 1 > > > > > > > > and it's true: you need to wrap write in a loop as it can > > > > write less than requested number of bytes. > > > > See qemu_write_full - can it be used it tests? > > > > > > > > > > > v1 -> v2: > > > > > > > Addressed Michael S. Tsirkin's comments: > > > > > > > - added TEST_ prefix to the environment variable > > > > > > > - some rephrases > > > > > > > > > > > > > > Marcel Apfelbaum (2): > > > > > > > acpi unit-test: added script to rebuild the expected aml files > > > > > > > acpi unit-test: hook to rebuild expected aml files > > > > > > > > > > > > > > tests/acpi-test-data/rebuild-expected-aml.sh | 36 ++++++++++++++++++++++++++++ > > > > > > > tests/acpi-test.c | 30 +++++++++++++++++++---- > > > > > > > 2 files changed, 61 insertions(+), 5 deletions(-) > > > > > > > create mode 100755 tests/acpi-test-data/rebuild-expected-aml.sh > > > > > > > > > > > > > > -- > > > > > > > 1.8.3.1 > > > > > > > > > > > > > > > > > > > > > > > > ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality 2013-12-26 16:12 ` Michael S. Tsirkin @ 2013-12-26 16:51 ` Michael S. Tsirkin 2013-12-26 17:15 ` Marcel Apfelbaum 0 siblings, 1 reply; 16+ messages in thread From: Michael S. Tsirkin @ 2013-12-26 16:51 UTC (permalink / raw) To: Marcel Apfelbaum; +Cc: qemu-devel On Thu, Dec 26, 2013 at 06:12:25PM +0200, Michael S. Tsirkin wrote: > On Thu, Dec 26, 2013 at 05:58:09PM +0200, Marcel Apfelbaum wrote: > > On Thu, 2013-12-26 at 17:41 +0200, Michael S. Tsirkin wrote: > > > On Thu, Dec 26, 2013 at 04:09:58PM +0200, Marcel Apfelbaum wrote: > > > > On Thu, 2013-12-26 at 15:53 +0200, Michael S. Tsirkin wrote: > > > > > On Thu, Dec 26, 2013 at 03:24:28PM +0200, Marcel Apfelbaum wrote: > > > > > > On Thu, 2013-12-26 at 14:46 +0200, Michael S. Tsirkin wrote: > > > > > > > On Thu, Dec 26, 2013 at 02:19:48PM +0200, Marcel Apfelbaum wrote: > > > > > > > > Acpi unit-test will fail every time the acpi tables change. > > > > > > > > > > > > > > > > The series adds a script that rebuilds the expected aml files, so the test > > > > > > > > will pass. It also validates the modifications. > > > > > > > > > > > > > > > > The acpi unit test will rebuild the aml tables if TEST_ACPI_REBUILD_AML > > > > > > > > environment variable is set. > > > > > > > > > > > > > > OK I had to fix some trailing whitespace, otherwise > > > > > > > looks good. > > > > > > > I applied it all, pls check the pci branch. > > > > > > Thanks! > > > > > > I pulled the pci branch, but I did not see the patches yet. > > > > > > I used git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git, > > > > > > pci branch. > > > > > > > > > > > > Thanks, > > > > > > Marcel > > > > > > > > > > > > > > > Actually had to revert. Build fails with recent gcc: > > > > Strange, I update the gcc to the Fedora's latest 4.8.2 and > > > > it still doesn't happen. > > > > Anyway, I use qemu_write_full as advised and resent. > > > > > > > > Thanks, > > > > Marcel > > > > > > OK I applied this for now but I see an issue: iasl crashes below. > > Thanks! > > By the way, I resend the whole series, I hope you used it. > > yes pushed, take a look > > > > I think this happens when we run it on a file > > > it does not understand. > > > It's an iasl bug but would be nice to work around > > > it in some way (and it would be nice to report to > > > robert moore) > > > > I cannot reproduce it, I'll try anyway. > > By the way, the test checks if iasl exits with error, > > so it should handle this gracefully. (I hope!) > > > > Regarding the IASL project, I'll see if I can open a bug, > > no, just send mail. > > > (if I can reproduce it, otherwise I risk they'll ask some > > questions I cannot answer...) > > > > Thanks, > > Marcel > > This is on fedora 19, 32 bit. I see that the issue is with HPET table. iasl -e DSDT -e SSDT -d HPET crashes for me iasl -d HPET does not crash I think that only DSDT and SSDT need -e. Just skip -e for anything that is not an SSDT and not a DSDT. -- MST ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality 2013-12-26 16:51 ` Michael S. Tsirkin @ 2013-12-26 17:15 ` Marcel Apfelbaum 2013-12-26 18:19 ` Michael S. Tsirkin 0 siblings, 1 reply; 16+ messages in thread From: Marcel Apfelbaum @ 2013-12-26 17:15 UTC (permalink / raw) To: Michael S. Tsirkin; +Cc: qemu-devel On Thu, 2013-12-26 at 18:51 +0200, Michael S. Tsirkin wrote: > On Thu, Dec 26, 2013 at 06:12:25PM +0200, Michael S. Tsirkin wrote: > > On Thu, Dec 26, 2013 at 05:58:09PM +0200, Marcel Apfelbaum wrote: > > > On Thu, 2013-12-26 at 17:41 +0200, Michael S. Tsirkin wrote: > > > > On Thu, Dec 26, 2013 at 04:09:58PM +0200, Marcel Apfelbaum wrote: > > > > > On Thu, 2013-12-26 at 15:53 +0200, Michael S. Tsirkin wrote: > > > > > > On Thu, Dec 26, 2013 at 03:24:28PM +0200, Marcel Apfelbaum wrote: > > > > > > > On Thu, 2013-12-26 at 14:46 +0200, Michael S. Tsirkin wrote: > > > > > > > > On Thu, Dec 26, 2013 at 02:19:48PM +0200, Marcel Apfelbaum wrote: > > > > > > > > > Acpi unit-test will fail every time the acpi tables change. > > > > > > > > > > > > > > > > > > The series adds a script that rebuilds the expected aml files, so the test > > > > > > > > > will pass. It also validates the modifications. > > > > > > > > > > > > > > > > > > The acpi unit test will rebuild the aml tables if TEST_ACPI_REBUILD_AML > > > > > > > > > environment variable is set. > > > > > > > > > > > > > > > > OK I had to fix some trailing whitespace, otherwise > > > > > > > > looks good. > > > > > > > > I applied it all, pls check the pci branch. > > > > > > > Thanks! > > > > > > > I pulled the pci branch, but I did not see the patches yet. > > > > > > > I used git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git, > > > > > > > pci branch. > > > > > > > > > > > > > > Thanks, > > > > > > > Marcel > > > > > > > > > > > > > > > > > > Actually had to revert. Build fails with recent gcc: > > > > > Strange, I update the gcc to the Fedora's latest 4.8.2 and > > > > > it still doesn't happen. > > > > > Anyway, I use qemu_write_full as advised and resent. > > > > > > > > > > Thanks, > > > > > Marcel > > > > > > > > OK I applied this for now but I see an issue: iasl crashes below. > > > Thanks! > > > By the way, I resend the whole series, I hope you used it. > > > > yes pushed, take a look > > > > > > I think this happens when we run it on a file > > > > it does not understand. > > > > It's an iasl bug but would be nice to work around > > > > it in some way (and it would be nice to report to > > > > robert moore) > > > > > > I cannot reproduce it, I'll try anyway. > > > By the way, the test checks if iasl exits with error, > > > so it should handle this gracefully. (I hope!) > > > > > > Regarding the IASL project, I'll see if I can open a bug, > > > > no, just send mail. > > > > > (if I can reproduce it, otherwise I risk they'll ask some > > > questions I cannot answer...) > > > > > > Thanks, > > > Marcel > > > > This is on fedora 19, 32 bit. > > I see that the issue is with HPET table. > > iasl -e DSDT -e SSDT -d HPET > > crashes for me > > iasl -d HPET > > does not crash > > I think that only DSDT and SSDT need -e. > > Just skip -e for anything that is not an SSDT > and not a DSDT. Thanks for the tip. I'll send a fix soon. Marcel > ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality 2013-12-26 17:15 ` Marcel Apfelbaum @ 2013-12-26 18:19 ` Michael S. Tsirkin 2013-12-26 22:01 ` Marcel Apfelbaum 0 siblings, 1 reply; 16+ messages in thread From: Michael S. Tsirkin @ 2013-12-26 18:19 UTC (permalink / raw) To: Marcel Apfelbaum; +Cc: qemu-devel On Thu, Dec 26, 2013 at 07:15:00PM +0200, Marcel Apfelbaum wrote: > On Thu, 2013-12-26 at 18:51 +0200, Michael S. Tsirkin wrote: > > On Thu, Dec 26, 2013 at 06:12:25PM +0200, Michael S. Tsirkin wrote: > > > On Thu, Dec 26, 2013 at 05:58:09PM +0200, Marcel Apfelbaum wrote: > > > > On Thu, 2013-12-26 at 17:41 +0200, Michael S. Tsirkin wrote: > > > > > On Thu, Dec 26, 2013 at 04:09:58PM +0200, Marcel Apfelbaum wrote: > > > > > > On Thu, 2013-12-26 at 15:53 +0200, Michael S. Tsirkin wrote: > > > > > > > On Thu, Dec 26, 2013 at 03:24:28PM +0200, Marcel Apfelbaum wrote: > > > > > > > > On Thu, 2013-12-26 at 14:46 +0200, Michael S. Tsirkin wrote: > > > > > > > > > On Thu, Dec 26, 2013 at 02:19:48PM +0200, Marcel Apfelbaum wrote: > > > > > > > > > > Acpi unit-test will fail every time the acpi tables change. > > > > > > > > > > > > > > > > > > > > The series adds a script that rebuilds the expected aml files, so the test > > > > > > > > > > will pass. It also validates the modifications. > > > > > > > > > > > > > > > > > > > > The acpi unit test will rebuild the aml tables if TEST_ACPI_REBUILD_AML > > > > > > > > > > environment variable is set. > > > > > > > > > > > > > > > > > > OK I had to fix some trailing whitespace, otherwise > > > > > > > > > looks good. > > > > > > > > > I applied it all, pls check the pci branch. > > > > > > > > Thanks! > > > > > > > > I pulled the pci branch, but I did not see the patches yet. > > > > > > > > I used git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git, > > > > > > > > pci branch. > > > > > > > > > > > > > > > > Thanks, > > > > > > > > Marcel > > > > > > > > > > > > > > > > > > > > > Actually had to revert. Build fails with recent gcc: > > > > > > Strange, I update the gcc to the Fedora's latest 4.8.2 and > > > > > > it still doesn't happen. > > > > > > Anyway, I use qemu_write_full as advised and resent. > > > > > > > > > > > > Thanks, > > > > > > Marcel > > > > > > > > > > OK I applied this for now but I see an issue: iasl crashes below. > > > > Thanks! > > > > By the way, I resend the whole series, I hope you used it. > > > > > > yes pushed, take a look > > > > > > > > I think this happens when we run it on a file > > > > > it does not understand. > > > > > It's an iasl bug but would be nice to work around > > > > > it in some way (and it would be nice to report to > > > > > robert moore) > > > > > > > > I cannot reproduce it, I'll try anyway. > > > > By the way, the test checks if iasl exits with error, > > > > so it should handle this gracefully. (I hope!) > > > > > > > > Regarding the IASL project, I'll see if I can open a bug, > > > > > > no, just send mail. > > > > > > > (if I can reproduce it, otherwise I risk they'll ask some > > > > questions I cannot answer...) > > > > > > > > Thanks, > > > > Marcel > > > > > > This is on fedora 19, 32 bit. > > > > I see that the issue is with HPET table. > > > > iasl -e DSDT -e SSDT -d HPET > > > > crashes for me > > > > iasl -d HPET > > > > does not crash > > > > I think that only DSDT and SSDT need -e. > > > > Just skip -e for anything that is not an SSDT > > and not a DSDT. > Thanks for the tip. I'll send a fix soon. > Marcel > > > > > also I see you still do aml_file = g_strdup_printf("%s/%s/%.4s", data_dir, data->machine, (gchar *)&sdt->header.signature); this will not work if we have > 1 SSDT. ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality 2013-12-26 18:19 ` Michael S. Tsirkin @ 2013-12-26 22:01 ` Marcel Apfelbaum 2013-12-29 12:45 ` Marcel Apfelbaum 0 siblings, 1 reply; 16+ messages in thread From: Marcel Apfelbaum @ 2013-12-26 22:01 UTC (permalink / raw) To: Michael S. Tsirkin; +Cc: qemu-devel On Thu, 2013-12-26 at 20:19 +0200, Michael S. Tsirkin wrote: > On Thu, Dec 26, 2013 at 07:15:00PM +0200, Marcel Apfelbaum wrote: > > On Thu, 2013-12-26 at 18:51 +0200, Michael S. Tsirkin wrote: > > > On Thu, Dec 26, 2013 at 06:12:25PM +0200, Michael S. Tsirkin wrote: > > > > On Thu, Dec 26, 2013 at 05:58:09PM +0200, Marcel Apfelbaum wrote: > > > > > On Thu, 2013-12-26 at 17:41 +0200, Michael S. Tsirkin wrote: > > > > > > On Thu, Dec 26, 2013 at 04:09:58PM +0200, Marcel Apfelbaum wrote: > > > > > > > On Thu, 2013-12-26 at 15:53 +0200, Michael S. Tsirkin wrote: > > > > > > > > On Thu, Dec 26, 2013 at 03:24:28PM +0200, Marcel Apfelbaum wrote: > > > > > > > > > On Thu, 2013-12-26 at 14:46 +0200, Michael S. Tsirkin wrote: > > > > > > > > > > On Thu, Dec 26, 2013 at 02:19:48PM +0200, Marcel Apfelbaum wrote: > > > > > > > > > > > Acpi unit-test will fail every time the acpi tables change. > > > > > > > > > > > > > > > > > > > > > > The series adds a script that rebuilds the expected aml files, so the test > > > > > > > > > > > will pass. It also validates the modifications. > > > > > > > > > > > > > > > > > > > > > > The acpi unit test will rebuild the aml tables if TEST_ACPI_REBUILD_AML > > > > > > > > > > > environment variable is set. > > > > > > > > > > > > > > > > > > > > OK I had to fix some trailing whitespace, otherwise > > > > > > > > > > looks good. > > > > > > > > > > I applied it all, pls check the pci branch. > > > > > > > > > Thanks! > > > > > > > > > I pulled the pci branch, but I did not see the patches yet. > > > > > > > > > I used git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git, > > > > > > > > > pci branch. > > > > > > > > > > > > > > > > > > Thanks, > > > > > > > > > Marcel > > > > > > > > > > > > > > > > > > > > > > > > Actually had to revert. Build fails with recent gcc: > > > > > > > Strange, I update the gcc to the Fedora's latest 4.8.2 and > > > > > > > it still doesn't happen. > > > > > > > Anyway, I use qemu_write_full as advised and resent. > > > > > > > > > > > > > > Thanks, > > > > > > > Marcel > > > > > > > > > > > > OK I applied this for now but I see an issue: iasl crashes below. > > > > > Thanks! > > > > > By the way, I resend the whole series, I hope you used it. > > > > > > > > yes pushed, take a look > > > > > > > > > > I think this happens when we run it on a file > > > > > > it does not understand. > > > > > > It's an iasl bug but would be nice to work around > > > > > > it in some way (and it would be nice to report to > > > > > > robert moore) > > > > > > > > > > I cannot reproduce it, I'll try anyway. > > > > > By the way, the test checks if iasl exits with error, > > > > > so it should handle this gracefully. (I hope!) > > > > > > > > > > Regarding the IASL project, I'll see if I can open a bug, > > > > > > > > no, just send mail. > > > > > > > > > (if I can reproduce it, otherwise I risk they'll ask some > > > > > questions I cannot answer...) > > > > > > > > > > Thanks, > > > > > Marcel > > > > > > > > This is on fedora 19, 32 bit. > > > > > > I see that the issue is with HPET table. > > > > > > iasl -e DSDT -e SSDT -d HPET > > > > > > crashes for me > > > > > > iasl -d HPET > > > > > > does not crash > > > > > > I think that only DSDT and SSDT need -e. > > > > > > Just skip -e for anything that is not an SSDT > > > and not a DSDT. > > Thanks for the tip. I'll send a fix soon. > > Marcel > > > > > > > > > > > also I see you still do > > aml_file = g_strdup_printf("%s/%s/%.4s", data_dir, > data->machine, > (gchar *)&sdt->header.signature); > > > this will not work if we have > 1 SSDT. As I stated in a prev thread: >From what I understand there is only one ssdt table named SSDT, all others are named differently: "APIC" "HPET". I think multiple SSDTS have different signatures, even in my laptop they are called: SSDT1, SSDT2, SSDT3,... So, even if the SPEC allows it, for qemu we can use different signatures for ssdt tables (it is allowed). (otherwise it will complicate the code unnecessary) Thanks, Marcel > ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality 2013-12-26 22:01 ` Marcel Apfelbaum @ 2013-12-29 12:45 ` Marcel Apfelbaum 0 siblings, 0 replies; 16+ messages in thread From: Marcel Apfelbaum @ 2013-12-29 12:45 UTC (permalink / raw) To: Michael S. Tsirkin; +Cc: qemu-devel On Fri, 2013-12-27 at 00:01 +0200, Marcel Apfelbaum wrote: > On Thu, 2013-12-26 at 20:19 +0200, Michael S. Tsirkin wrote: > > On Thu, Dec 26, 2013 at 07:15:00PM +0200, Marcel Apfelbaum wrote: > > > On Thu, 2013-12-26 at 18:51 +0200, Michael S. Tsirkin wrote: > > > > On Thu, Dec 26, 2013 at 06:12:25PM +0200, Michael S. Tsirkin wrote: > > > > > On Thu, Dec 26, 2013 at 05:58:09PM +0200, Marcel Apfelbaum wrote: > > > > > > On Thu, 2013-12-26 at 17:41 +0200, Michael S. Tsirkin wrote: > > > > > > > On Thu, Dec 26, 2013 at 04:09:58PM +0200, Marcel Apfelbaum wrote: > > > > > > > > On Thu, 2013-12-26 at 15:53 +0200, Michael S. Tsirkin wrote: > > > > > > > > > On Thu, Dec 26, 2013 at 03:24:28PM +0200, Marcel Apfelbaum wrote: > > > > > > > > > > On Thu, 2013-12-26 at 14:46 +0200, Michael S. Tsirkin wrote: > > > > > > > > > > > On Thu, Dec 26, 2013 at 02:19:48PM +0200, Marcel Apfelbaum wrote: > > > > > > > > > > > > Acpi unit-test will fail every time the acpi tables change. > > > > > > > > > > > > > > > > > > > > > > > > The series adds a script that rebuilds the expected aml files, so the test > > > > > > > > > > > > will pass. It also validates the modifications. > > > > > > > > > > > > > > > > > > > > > > > > The acpi unit test will rebuild the aml tables if TEST_ACPI_REBUILD_AML > > > > > > > > > > > > environment variable is set. > > > > > > > > > > > > > > > > > > > > > > OK I had to fix some trailing whitespace, otherwise > > > > > > > > > > > looks good. > > > > > > > > > > > I applied it all, pls check the pci branch. > > > > > > > > > > Thanks! > > > > > > > > > > I pulled the pci branch, but I did not see the patches yet. > > > > > > > > > > I used git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git, > > > > > > > > > > pci branch. > > > > > > > > > > > > > > > > > > > > Thanks, > > > > > > > > > > Marcel > > > > > > > > > > > > > > > > > > > > > > > > > > > Actually had to revert. Build fails with recent gcc: > > > > > > > > Strange, I update the gcc to the Fedora's latest 4.8.2 and > > > > > > > > it still doesn't happen. > > > > > > > > Anyway, I use qemu_write_full as advised and resent. > > > > > > > > > > > > > > > > Thanks, > > > > > > > > Marcel > > > > > > > > > > > > > > OK I applied this for now but I see an issue: iasl crashes below. > > > > > > Thanks! > > > > > > By the way, I resend the whole series, I hope you used it. > > > > > > > > > > yes pushed, take a look > > > > > > > > > > > > I think this happens when we run it on a file > > > > > > > it does not understand. > > > > > > > It's an iasl bug but would be nice to work around > > > > > > > it in some way (and it would be nice to report to > > > > > > > robert moore) > > > > > > > > > > > > I cannot reproduce it, I'll try anyway. > > > > > > By the way, the test checks if iasl exits with error, > > > > > > so it should handle this gracefully. (I hope!) > > > > > > > > > > > > Regarding the IASL project, I'll see if I can open a bug, > > > > > > > > > > no, just send mail. > > > > > > > > > > > (if I can reproduce it, otherwise I risk they'll ask some > > > > > > questions I cannot answer...) > > > > > > > > > > > > Thanks, > > > > > > Marcel > > > > > > > > > > This is on fedora 19, 32 bit. > > > > > > > > I see that the issue is with HPET table. > > > > > > > > iasl -e DSDT -e SSDT -d HPET > > > > > > > > crashes for me > > > > > > > > iasl -d HPET > > > > > > > > does not crash > > > > > > > > I think that only DSDT and SSDT need -e. > > > > > > > > Just skip -e for anything that is not an SSDT > > > > and not a DSDT. > > > Thanks for the tip. I'll send a fix soon. > > > Marcel > > > > > > > > > > > > > > > > > also I see you still do > > > > aml_file = g_strdup_printf("%s/%s/%.4s", data_dir, > > data->machine, > > (gchar *)&sdt->header.signature); > > > > > > this will not work if we have > 1 SSDT. > As I stated in a prev thread: > From what I understand there is only one ssdt table named SSDT, > all others are named differently: "APIC" "HPET". > I think multiple SSDTS have different signatures, even in my laptop > they are called: SSDT1, SSDT2, SSDT3,... I disassembled the SSDTx tables in my laptop and I saw that actually they have the same "SSDT" signature. I still believe what I wrote before: 1. There is only one ssdt table named SSDT in Qemu, all the others are named differently: "APIC" "HPET". 2. Even if the SPEC allows to use the same signature, qemu we can use different signatures for ssdt tables (it is allowed). Otherwise it will complicate the code unnecessary. Thanks, Marcel > > > > ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2013-12-29 12:46 UTC | newest] Thread overview: 16+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-12-26 12:19 [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality Marcel Apfelbaum 2013-12-26 12:19 ` [Qemu-devel] [PATCH v2 1/2] acpi unit-test: added script to rebuild the expected aml files Marcel Apfelbaum 2013-12-26 13:54 ` Michael S. Tsirkin 2013-12-26 12:19 ` [Qemu-devel] [PATCH v2 2/2] acpi unit-test: hook to rebuild " Marcel Apfelbaum 2013-12-26 12:46 ` [Qemu-devel] [PATCH v2 0/2] acpi unit-test: rebuild aml files functionality Michael S. Tsirkin 2013-12-26 13:24 ` Marcel Apfelbaum 2013-12-26 13:53 ` Michael S. Tsirkin 2013-12-26 14:09 ` Marcel Apfelbaum 2013-12-26 15:41 ` Michael S. Tsirkin 2013-12-26 15:58 ` Marcel Apfelbaum 2013-12-26 16:12 ` Michael S. Tsirkin 2013-12-26 16:51 ` Michael S. Tsirkin 2013-12-26 17:15 ` Marcel Apfelbaum 2013-12-26 18:19 ` Michael S. Tsirkin 2013-12-26 22:01 ` Marcel Apfelbaum 2013-12-29 12:45 ` Marcel Apfelbaum
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).