All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits
@ 2022-06-27  6:44 Ani Sinha
  2022-06-27  6:44 ` [PATCH 01/12] qtest: meson.build changes required to integrate python based qtests Ani Sinha
  2022-06-27  6:52 ` [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits Ani Sinha
  0 siblings, 2 replies; 13+ messages in thread
From: Ani Sinha @ 2022-06-27  6:44 UTC (permalink / raw)
  To: qemu-devel; +Cc: imammedo, mst, Ani Sinha

Biosbits is a software written by Josh Triplett that can be downloaded by
visiting https://biosbits.org/. The github codebase can be found here:
https://github.com/biosbits/bits/tree/master. It is a software that exercizes
the bios components such as acpi and smbios tables directly through acpica
bios interpreter (a freely available C based library written by Intel,
downloadable from https://acpica.org/ and is included with biosbits) without an
operating system getting involved in between.
There are several advantages to directly testing the bios in a real physical
machine or VM as opposed to indirectly discovering bios issues through the
operating system. For one thing, the OSes tend to hide bios problems from the
end user. The other is that we have more control of what we wanted to test
and how by directly using acpica interpreter on top of the bios on a running
system. More details on the inspiration for developing biosbits and its real
life uses can be found in (a) and (b).
This patchset contains QEMU qtests written in python that exercizes the QEMU
bios components using biosbits and reports test failures.

Details of each of the files added by this patchset are provided in the README
file which is part of Patch 11. Every effort to contact Josh, through various
means including email, twitter, linkedIn etc has failed. Hence, the changes to
build biosbits with the newer compiler, upgrade acpica and other changes are
currently maintained in a forked project in my personal github. We may want to
maintain bits in a separate fork in a stable repository that is accessible by
QEMU developers.

The newly introduced qtest currently only run for x86_64 platform. They pass
both when running make check on a baremetal box as well as from inside a vm.

Thanks to Igor M for pointing me to this work.

(a) https://blog.linuxplumbersconf.org/2011/ocw/system/presentations/867/original/bits.pdf
(b) https://www.youtube.com/watch?v=36QIepyUuhg

Ani Sinha (12):
  qtest: meson.build changes required to integrate python based qtests
  acpi/tests/bits: add prebuilt bios bits zip archive
  acpi/tests/bits: add prebuilt bits generated grub modules and scripts
  acpi/tests/bits: initial commit of test scripts that are run by
    biosbits
  acpi/tests/bits: disable acpi PSS tests that are failing in biosbits
  acpi/tests/bits: add smilatency test suite from bits in order to
    disable it
  acpi/tests/bits: disable smilatency test since it does not pass
    everytime
  acpi/tests/bits: add biosbits config file for running bios tests
  acpi/tests/bits: add acpi and smbios python tests that uses biosbits
  acpi/tests/bits: add acpi bits qtest directory in meson for running
    tests
  acpi/tests/bits: add README file for bits qtests
  MAINTAINERS: add myself as the maintainer for acpi biosbits qtests

 MAINTAINERS                                   |    5 +
 tests/qtest/acpi-bits/README                  |  168 ++
 tests/qtest/acpi-bits/acpi-bits-test-venv.sh  |   59 +
 tests/qtest/acpi-bits/acpi-bits-test.py       |  327 +++
 .../qtest/acpi-bits/bits-config/bits-cfg.txt  |   18 +
 tests/qtest/acpi-bits/bits-config/meson.build |   11 +
 tests/qtest/acpi-bits/bits-tests/meson.build  |   11 +
 tests/qtest/acpi-bits/bits-tests/smbios.py    | 2430 +++++++++++++++++
 .../qtest/acpi-bits/bits-tests/smilatency.py  |  103 +
 tests/qtest/acpi-bits/bits-tests/testacpi.py  |  283 ++
 tests/qtest/acpi-bits/bits-tests/testcpuid.py |   83 +
 tests/qtest/acpi-bits/meson.build             |   39 +
 .../acpi-bits/prebuilt/bits-2095-grub.tar.gz  |  Bin 0 -> 41416278 bytes
 tests/qtest/acpi-bits/prebuilt/bits-2095.zip  |  Bin 0 -> 31922898 bytes
 tests/qtest/acpi-bits/prebuilt/meson.build    |   11 +
 tests/qtest/acpi-bits/requirements.txt        |    1 +
 tests/qtest/meson.build                       |    7 +-
 17 files changed, 3555 insertions(+), 1 deletion(-)
 create mode 100644 tests/qtest/acpi-bits/README
 create mode 100644 tests/qtest/acpi-bits/acpi-bits-test-venv.sh
 create mode 100644 tests/qtest/acpi-bits/acpi-bits-test.py
 create mode 100644 tests/qtest/acpi-bits/bits-config/bits-cfg.txt
 create mode 100644 tests/qtest/acpi-bits/bits-config/meson.build
 create mode 100644 tests/qtest/acpi-bits/bits-tests/meson.build
 create mode 100644 tests/qtest/acpi-bits/bits-tests/smbios.py
 create mode 100644 tests/qtest/acpi-bits/bits-tests/smilatency.py
 create mode 100644 tests/qtest/acpi-bits/bits-tests/testacpi.py
 create mode 100644 tests/qtest/acpi-bits/bits-tests/testcpuid.py
 create mode 100644 tests/qtest/acpi-bits/meson.build
 create mode 100644 tests/qtest/acpi-bits/prebuilt/bits-2095-grub.tar.gz
 create mode 100644 tests/qtest/acpi-bits/prebuilt/bits-2095.zip
 create mode 100644 tests/qtest/acpi-bits/prebuilt/meson.build
 create mode 100644 tests/qtest/acpi-bits/requirements.txt

-- 
2.25.1



^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 01/12] qtest: meson.build changes required to integrate python based qtests
  2022-06-27  6:44 [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits Ani Sinha
@ 2022-06-27  6:44 ` Ani Sinha
  2022-06-27  6:52 ` [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits Ani Sinha
  1 sibling, 0 replies; 13+ messages in thread
From: Ani Sinha @ 2022-06-27  6:44 UTC (permalink / raw)
  To: qemu-devel, Thomas Huth, Laurent Vivier, Paolo Bonzini
  Cc: imammedo, mst, Ani Sinha

These are some basic changes required in meson.build file in order to
incorporate python based qtests later on. No new qtests have been added in this
change.

Signed-off-by: Ani Sinha <ani@anisinha.ca>
---
 tests/qtest/meson.build | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
index 31287a9173..ad52f1c81b 100644
--- a/tests/qtest/meson.build
+++ b/tests/qtest/meson.build
@@ -310,6 +310,8 @@ qtests += {'dbus-display-test': [dbus_display1, gio]}
 endif
 
 qtest_executables = {}
+other_deps = []
+
 foreach dir : target_dirs
   if not dir.endswith('-softmmu')
     continue
@@ -327,6 +329,7 @@ foreach dir : target_dirs
   endif
   qtest_env.set('G_TEST_DBUS_DAEMON', meson.project_source_root() / 'tests/dbus-vmstate-daemon.sh')
   qtest_env.set('QTEST_QEMU_BINARY', './qemu-system-' + target_base)
+  qtest_env.set('QTEST_SOURCE_ROOT', meson.project_source_root())
   if have_tools and have_vhost_user_blk_server
     qtest_env.set('QTEST_QEMU_STORAGE_DAEMON_BINARY', './storage-daemon/qemu-storage-daemon')
     test_deps += [qsd]
@@ -351,7 +354,7 @@ foreach dir : target_dirs
     endif
     test('qtest-@0@/@1@'.format(target_base, test),
          qtest_executables[test],
-         depends: [test_deps, qtest_emulator, emulator_modules],
+         depends: [test_deps, qtest_emulator, emulator_modules, other_deps],
          env: qtest_env,
          args: ['--tap', '-k'],
          protocol: 'tap',
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits
  2022-06-27  6:44 [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits Ani Sinha
  2022-06-27  6:44 ` [PATCH 01/12] qtest: meson.build changes required to integrate python based qtests Ani Sinha
@ 2022-06-27  6:52 ` Ani Sinha
  2022-06-27  6:55   ` Ani Sinha
  1 sibling, 1 reply; 13+ messages in thread
From: Ani Sinha @ 2022-06-27  6:52 UTC (permalink / raw)
  To: qemu-devel; +Cc: imammedo, mst

On Mon, Jun 27, 2022 at 12:14 PM Ani Sinha <ani@anisinha.ca> wrote:
>
> Biosbits is a software written by Josh Triplett that can be downloaded by
> visiting https://biosbits.org/. The github codebase can be found here:
> https://github.com/biosbits/bits/tree/master. It is a software that exercizes
> the bios components such as acpi and smbios tables directly through acpica
> bios interpreter (a freely available C based library written by Intel,
> downloadable from https://acpica.org/ and is included with biosbits) without an
> operating system getting involved in between.
> There are several advantages to directly testing the bios in a real physical
> machine or VM as opposed to indirectly discovering bios issues through the
> operating system. For one thing, the OSes tend to hide bios problems from the
> end user. The other is that we have more control of what we wanted to test
> and how by directly using acpica interpreter on top of the bios on a running
> system. More details on the inspiration for developing biosbits and its real
> life uses can be found in (a) and (b).
> This patchset contains QEMU qtests written in python that exercizes the QEMU
> bios components using biosbits and reports test failures.
>
> Details of each of the files added by this patchset are provided in the README
> file which is part of Patch 11. Every effort to contact Josh, through various
> means including email, twitter, linkedIn etc has failed. Hence, the changes to
> build biosbits with the newer compiler, upgrade acpica and other changes are
> currently maintained in a forked project in my personal github. We may want to
> maintain bits in a separate fork in a stable repository that is accessible by
> QEMU developers.
>
> The newly introduced qtest currently only run for x86_64 platform. They pass
> both when running make check on a baremetal box as well as from inside a vm.
>
> Thanks to Igor M for pointing me to this work.
>
> (a) https://blog.linuxplumbersconf.org/2011/ocw/system/presentations/867/original/bits.pdf
> (b) https://www.youtube.com/watch?v=36QIepyUuhg

Doh, sending the patch series failed since google won't allow file
sizes larger than 25 MB. The bits prebuilt binaries have sizes 30 MB
and 40 MB in two separate patches :(

>
> Ani Sinha (12):
>   qtest: meson.build changes required to integrate python based qtests
>   acpi/tests/bits: add prebuilt bios bits zip archive
>   acpi/tests/bits: add prebuilt bits generated grub modules and scripts
>   acpi/tests/bits: initial commit of test scripts that are run by
>     biosbits
>   acpi/tests/bits: disable acpi PSS tests that are failing in biosbits
>   acpi/tests/bits: add smilatency test suite from bits in order to
>     disable it
>   acpi/tests/bits: disable smilatency test since it does not pass
>     everytime
>   acpi/tests/bits: add biosbits config file for running bios tests
>   acpi/tests/bits: add acpi and smbios python tests that uses biosbits
>   acpi/tests/bits: add acpi bits qtest directory in meson for running
>     tests
>   acpi/tests/bits: add README file for bits qtests
>   MAINTAINERS: add myself as the maintainer for acpi biosbits qtests
>
>  MAINTAINERS                                   |    5 +
>  tests/qtest/acpi-bits/README                  |  168 ++
>  tests/qtest/acpi-bits/acpi-bits-test-venv.sh  |   59 +
>  tests/qtest/acpi-bits/acpi-bits-test.py       |  327 +++
>  .../qtest/acpi-bits/bits-config/bits-cfg.txt  |   18 +
>  tests/qtest/acpi-bits/bits-config/meson.build |   11 +
>  tests/qtest/acpi-bits/bits-tests/meson.build  |   11 +
>  tests/qtest/acpi-bits/bits-tests/smbios.py    | 2430 +++++++++++++++++
>  .../qtest/acpi-bits/bits-tests/smilatency.py  |  103 +
>  tests/qtest/acpi-bits/bits-tests/testacpi.py  |  283 ++
>  tests/qtest/acpi-bits/bits-tests/testcpuid.py |   83 +
>  tests/qtest/acpi-bits/meson.build             |   39 +
>  .../acpi-bits/prebuilt/bits-2095-grub.tar.gz  |  Bin 0 -> 41416278 bytes
>  tests/qtest/acpi-bits/prebuilt/bits-2095.zip  |  Bin 0 -> 31922898 bytes
>  tests/qtest/acpi-bits/prebuilt/meson.build    |   11 +
>  tests/qtest/acpi-bits/requirements.txt        |    1 +
>  tests/qtest/meson.build                       |    7 +-
>  17 files changed, 3555 insertions(+), 1 deletion(-)
>  create mode 100644 tests/qtest/acpi-bits/README
>  create mode 100644 tests/qtest/acpi-bits/acpi-bits-test-venv.sh
>  create mode 100644 tests/qtest/acpi-bits/acpi-bits-test.py
>  create mode 100644 tests/qtest/acpi-bits/bits-config/bits-cfg.txt
>  create mode 100644 tests/qtest/acpi-bits/bits-config/meson.build
>  create mode 100644 tests/qtest/acpi-bits/bits-tests/meson.build
>  create mode 100644 tests/qtest/acpi-bits/bits-tests/smbios.py
>  create mode 100644 tests/qtest/acpi-bits/bits-tests/smilatency.py
>  create mode 100644 tests/qtest/acpi-bits/bits-tests/testacpi.py
>  create mode 100644 tests/qtest/acpi-bits/bits-tests/testcpuid.py
>  create mode 100644 tests/qtest/acpi-bits/meson.build
>  create mode 100644 tests/qtest/acpi-bits/prebuilt/bits-2095-grub.tar.gz
>  create mode 100644 tests/qtest/acpi-bits/prebuilt/bits-2095.zip
>  create mode 100644 tests/qtest/acpi-bits/prebuilt/meson.build
>  create mode 100644 tests/qtest/acpi-bits/requirements.txt
>
> --
> 2.25.1
>


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits
  2022-06-27  6:52 ` [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits Ani Sinha
@ 2022-06-27  6:55   ` Ani Sinha
  2022-06-27  7:32     ` Ani Sinha
  0 siblings, 1 reply; 13+ messages in thread
From: Ani Sinha @ 2022-06-27  6:55 UTC (permalink / raw)
  To: qemu-devel; +Cc: imammedo, mst

On Mon, Jun 27, 2022 at 12:22 PM Ani Sinha <ani@anisinha.ca> wrote:
>
> On Mon, Jun 27, 2022 at 12:14 PM Ani Sinha <ani@anisinha.ca> wrote:
> >
> > Biosbits is a software written by Josh Triplett that can be downloaded by
> > visiting https://biosbits.org/. The github codebase can be found here:
> > https://github.com/biosbits/bits/tree/master. It is a software that exercizes
> > the bios components such as acpi and smbios tables directly through acpica
> > bios interpreter (a freely available C based library written by Intel,
> > downloadable from https://acpica.org/ and is included with biosbits) without an
> > operating system getting involved in between.
> > There are several advantages to directly testing the bios in a real physical
> > machine or VM as opposed to indirectly discovering bios issues through the
> > operating system. For one thing, the OSes tend to hide bios problems from the
> > end user. The other is that we have more control of what we wanted to test
> > and how by directly using acpica interpreter on top of the bios on a running
> > system. More details on the inspiration for developing biosbits and its real
> > life uses can be found in (a) and (b).
> > This patchset contains QEMU qtests written in python that exercizes the QEMU
> > bios components using biosbits and reports test failures.
> >
> > Details of each of the files added by this patchset are provided in the README
> > file which is part of Patch 11. Every effort to contact Josh, through various
> > means including email, twitter, linkedIn etc has failed. Hence, the changes to
> > build biosbits with the newer compiler, upgrade acpica and other changes are
> > currently maintained in a forked project in my personal github. We may want to
> > maintain bits in a separate fork in a stable repository that is accessible by
> > QEMU developers.
> >
> > The newly introduced qtest currently only run for x86_64 platform. They pass
> > both when running make check on a baremetal box as well as from inside a vm.
> >
> > Thanks to Igor M for pointing me to this work.
> >
> > (a) https://blog.linuxplumbersconf.org/2011/ocw/system/presentations/867/original/bits.pdf
> > (b) https://www.youtube.com/watch?v=36QIepyUuhg
>
> Doh, sending the patch series failed since google won't allow file
> sizes larger than 25 MB. The bits prebuilt binaries have sizes 30 MB
> and 40 MB in two separate patches :(

I have pushed the patchset here:
https://gitlab.com/anisinha/qemu/-/commits/acpi-bits .

>
> >
> > Ani Sinha (12):
> >   qtest: meson.build changes required to integrate python based qtests
> >   acpi/tests/bits: add prebuilt bios bits zip archive
> >   acpi/tests/bits: add prebuilt bits generated grub modules and scripts
> >   acpi/tests/bits: initial commit of test scripts that are run by
> >     biosbits
> >   acpi/tests/bits: disable acpi PSS tests that are failing in biosbits
> >   acpi/tests/bits: add smilatency test suite from bits in order to
> >     disable it
> >   acpi/tests/bits: disable smilatency test since it does not pass
> >     everytime
> >   acpi/tests/bits: add biosbits config file for running bios tests
> >   acpi/tests/bits: add acpi and smbios python tests that uses biosbits
> >   acpi/tests/bits: add acpi bits qtest directory in meson for running
> >     tests
> >   acpi/tests/bits: add README file for bits qtests
> >   MAINTAINERS: add myself as the maintainer for acpi biosbits qtests
> >
> >  MAINTAINERS                                   |    5 +
> >  tests/qtest/acpi-bits/README                  |  168 ++
> >  tests/qtest/acpi-bits/acpi-bits-test-venv.sh  |   59 +
> >  tests/qtest/acpi-bits/acpi-bits-test.py       |  327 +++
> >  .../qtest/acpi-bits/bits-config/bits-cfg.txt  |   18 +
> >  tests/qtest/acpi-bits/bits-config/meson.build |   11 +
> >  tests/qtest/acpi-bits/bits-tests/meson.build  |   11 +
> >  tests/qtest/acpi-bits/bits-tests/smbios.py    | 2430 +++++++++++++++++
> >  .../qtest/acpi-bits/bits-tests/smilatency.py  |  103 +
> >  tests/qtest/acpi-bits/bits-tests/testacpi.py  |  283 ++
> >  tests/qtest/acpi-bits/bits-tests/testcpuid.py |   83 +
> >  tests/qtest/acpi-bits/meson.build             |   39 +
> >  .../acpi-bits/prebuilt/bits-2095-grub.tar.gz  |  Bin 0 -> 41416278 bytes
> >  tests/qtest/acpi-bits/prebuilt/bits-2095.zip  |  Bin 0 -> 31922898 bytes
> >  tests/qtest/acpi-bits/prebuilt/meson.build    |   11 +
> >  tests/qtest/acpi-bits/requirements.txt        |    1 +
> >  tests/qtest/meson.build                       |    7 +-
> >  17 files changed, 3555 insertions(+), 1 deletion(-)
> >  create mode 100644 tests/qtest/acpi-bits/README
> >  create mode 100644 tests/qtest/acpi-bits/acpi-bits-test-venv.sh
> >  create mode 100644 tests/qtest/acpi-bits/acpi-bits-test.py
> >  create mode 100644 tests/qtest/acpi-bits/bits-config/bits-cfg.txt
> >  create mode 100644 tests/qtest/acpi-bits/bits-config/meson.build
> >  create mode 100644 tests/qtest/acpi-bits/bits-tests/meson.build
> >  create mode 100644 tests/qtest/acpi-bits/bits-tests/smbios.py
> >  create mode 100644 tests/qtest/acpi-bits/bits-tests/smilatency.py
> >  create mode 100644 tests/qtest/acpi-bits/bits-tests/testacpi.py
> >  create mode 100644 tests/qtest/acpi-bits/bits-tests/testcpuid.py
> >  create mode 100644 tests/qtest/acpi-bits/meson.build
> >  create mode 100644 tests/qtest/acpi-bits/prebuilt/bits-2095-grub.tar.gz
> >  create mode 100644 tests/qtest/acpi-bits/prebuilt/bits-2095.zip
> >  create mode 100644 tests/qtest/acpi-bits/prebuilt/meson.build
> >  create mode 100644 tests/qtest/acpi-bits/requirements.txt
> >
> > --
> > 2.25.1
> >


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits
  2022-06-27  6:55   ` Ani Sinha
@ 2022-06-27  7:32     ` Ani Sinha
  2022-06-27 16:16       ` Ani Sinha
  0 siblings, 1 reply; 13+ messages in thread
From: Ani Sinha @ 2022-06-27  7:32 UTC (permalink / raw)
  To: qemu-devel; +Cc: imammedo, mst

On Mon, Jun 27, 2022 at 12:25 PM Ani Sinha <ani@anisinha.ca> wrote:
>
> On Mon, Jun 27, 2022 at 12:22 PM Ani Sinha <ani@anisinha.ca> wrote:
> >
> > On Mon, Jun 27, 2022 at 12:14 PM Ani Sinha <ani@anisinha.ca> wrote:
> > >
> > > Biosbits is a software written by Josh Triplett that can be downloaded by
> > > visiting https://biosbits.org/. The github codebase can be found here:
> > > https://github.com/biosbits/bits/tree/master. It is a software that exercizes
> > > the bios components such as acpi and smbios tables directly through acpica
> > > bios interpreter (a freely available C based library written by Intel,
> > > downloadable from https://acpica.org/ and is included with biosbits) without an
> > > operating system getting involved in between.
> > > There are several advantages to directly testing the bios in a real physical
> > > machine or VM as opposed to indirectly discovering bios issues through the
> > > operating system. For one thing, the OSes tend to hide bios problems from the
> > > end user. The other is that we have more control of what we wanted to test
> > > and how by directly using acpica interpreter on top of the bios on a running
> > > system. More details on the inspiration for developing biosbits and its real
> > > life uses can be found in (a) and (b).
> > > This patchset contains QEMU qtests written in python that exercizes the QEMU
> > > bios components using biosbits and reports test failures.
> > >
> > > Details of each of the files added by this patchset are provided in the README
> > > file which is part of Patch 11. Every effort to contact Josh, through various
> > > means including email, twitter, linkedIn etc has failed. Hence, the changes to
> > > build biosbits with the newer compiler, upgrade acpica and other changes are
> > > currently maintained in a forked project in my personal github. We may want to
> > > maintain bits in a separate fork in a stable repository that is accessible by
> > > QEMU developers.
> > >
> > > The newly introduced qtest currently only run for x86_64 platform. They pass
> > > both when running make check on a baremetal box as well as from inside a vm.
> > >
> > > Thanks to Igor M for pointing me to this work.
> > >
> > > (a) https://blog.linuxplumbersconf.org/2011/ocw/system/presentations/867/original/bits.pdf
> > > (b) https://www.youtube.com/watch?v=36QIepyUuhg
> >
> > Doh, sending the patch series failed since google won't allow file
> > sizes larger than 25 MB. The bits prebuilt binaries have sizes 30 MB
> > and 40 MB in two separate patches :(
>
> I have pushed the patchset here:
> https://gitlab.com/anisinha/qemu/-/commits/acpi-bits .

I have re-sent all the patches except patches 2 and 3 that contain
pre-built biosbits archives. For those two patches, please see the
gitlab repo above.

>
> >
> > >
> > > Ani Sinha (12):
> > >   qtest: meson.build changes required to integrate python based qtests
> > >   acpi/tests/bits: add prebuilt bios bits zip archive
> > >   acpi/tests/bits: add prebuilt bits generated grub modules and scripts
> > >   acpi/tests/bits: initial commit of test scripts that are run by
> > >     biosbits
> > >   acpi/tests/bits: disable acpi PSS tests that are failing in biosbits
> > >   acpi/tests/bits: add smilatency test suite from bits in order to
> > >     disable it
> > >   acpi/tests/bits: disable smilatency test since it does not pass
> > >     everytime
> > >   acpi/tests/bits: add biosbits config file for running bios tests
> > >   acpi/tests/bits: add acpi and smbios python tests that uses biosbits
> > >   acpi/tests/bits: add acpi bits qtest directory in meson for running
> > >     tests
> > >   acpi/tests/bits: add README file for bits qtests
> > >   MAINTAINERS: add myself as the maintainer for acpi biosbits qtests
> > >
> > >  MAINTAINERS                                   |    5 +
> > >  tests/qtest/acpi-bits/README                  |  168 ++
> > >  tests/qtest/acpi-bits/acpi-bits-test-venv.sh  |   59 +
> > >  tests/qtest/acpi-bits/acpi-bits-test.py       |  327 +++
> > >  .../qtest/acpi-bits/bits-config/bits-cfg.txt  |   18 +
> > >  tests/qtest/acpi-bits/bits-config/meson.build |   11 +
> > >  tests/qtest/acpi-bits/bits-tests/meson.build  |   11 +
> > >  tests/qtest/acpi-bits/bits-tests/smbios.py    | 2430 +++++++++++++++++
> > >  .../qtest/acpi-bits/bits-tests/smilatency.py  |  103 +
> > >  tests/qtest/acpi-bits/bits-tests/testacpi.py  |  283 ++
> > >  tests/qtest/acpi-bits/bits-tests/testcpuid.py |   83 +
> > >  tests/qtest/acpi-bits/meson.build             |   39 +
> > >  .../acpi-bits/prebuilt/bits-2095-grub.tar.gz  |  Bin 0 -> 41416278 bytes
> > >  tests/qtest/acpi-bits/prebuilt/bits-2095.zip  |  Bin 0 -> 31922898 bytes
> > >  tests/qtest/acpi-bits/prebuilt/meson.build    |   11 +
> > >  tests/qtest/acpi-bits/requirements.txt        |    1 +
> > >  tests/qtest/meson.build                       |    7 +-
> > >  17 files changed, 3555 insertions(+), 1 deletion(-)
> > >  create mode 100644 tests/qtest/acpi-bits/README
> > >  create mode 100644 tests/qtest/acpi-bits/acpi-bits-test-venv.sh
> > >  create mode 100644 tests/qtest/acpi-bits/acpi-bits-test.py
> > >  create mode 100644 tests/qtest/acpi-bits/bits-config/bits-cfg.txt
> > >  create mode 100644 tests/qtest/acpi-bits/bits-config/meson.build
> > >  create mode 100644 tests/qtest/acpi-bits/bits-tests/meson.build
> > >  create mode 100644 tests/qtest/acpi-bits/bits-tests/smbios.py
> > >  create mode 100644 tests/qtest/acpi-bits/bits-tests/smilatency.py
> > >  create mode 100644 tests/qtest/acpi-bits/bits-tests/testacpi.py
> > >  create mode 100644 tests/qtest/acpi-bits/bits-tests/testcpuid.py
> > >  create mode 100644 tests/qtest/acpi-bits/meson.build
> > >  create mode 100644 tests/qtest/acpi-bits/prebuilt/bits-2095-grub.tar.gz
> > >  create mode 100644 tests/qtest/acpi-bits/prebuilt/bits-2095.zip
> > >  create mode 100644 tests/qtest/acpi-bits/prebuilt/meson.build
> > >  create mode 100644 tests/qtest/acpi-bits/requirements.txt
> > >
> > > --
> > > 2.25.1
> > >


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits
  2022-06-27  7:32     ` Ani Sinha
@ 2022-06-27 16:16       ` Ani Sinha
  0 siblings, 0 replies; 13+ messages in thread
From: Ani Sinha @ 2022-06-27 16:16 UTC (permalink / raw)
  To: qemu-devel; +Cc: imammedo, mst

On Mon, Jun 27, 2022 at 1:02 PM Ani Sinha <ani@anisinha.ca> wrote:
>
> On Mon, Jun 27, 2022 at 12:25 PM Ani Sinha <ani@anisinha.ca> wrote:
> >
> > On Mon, Jun 27, 2022 at 12:22 PM Ani Sinha <ani@anisinha.ca> wrote:
> > >
> > > On Mon, Jun 27, 2022 at 12:14 PM Ani Sinha <ani@anisinha.ca> wrote:
> > > >
> > > > Biosbits is a software written by Josh Triplett that can be downloaded by
> > > > visiting https://biosbits.org/. The github codebase can be found here:
> > > > https://github.com/biosbits/bits/tree/master. It is a software that exercizes
> > > > the bios components such as acpi and smbios tables directly through acpica
> > > > bios interpreter (a freely available C based library written by Intel,
> > > > downloadable from https://acpica.org/ and is included with biosbits) without an
> > > > operating system getting involved in between.
> > > > There are several advantages to directly testing the bios in a real physical
> > > > machine or VM as opposed to indirectly discovering bios issues through the
> > > > operating system. For one thing, the OSes tend to hide bios problems from the
> > > > end user. The other is that we have more control of what we wanted to test
> > > > and how by directly using acpica interpreter on top of the bios on a running
> > > > system. More details on the inspiration for developing biosbits and its real
> > > > life uses can be found in (a) and (b).
> > > > This patchset contains QEMU qtests written in python that exercizes the QEMU
> > > > bios components using biosbits and reports test failures.
> > > >
> > > > Details of each of the files added by this patchset are provided in the README
> > > > file which is part of Patch 11. Every effort to contact Josh, through various
> > > > means including email, twitter, linkedIn etc has failed. Hence, the changes to
> > > > build biosbits with the newer compiler, upgrade acpica and other changes are
> > > > currently maintained in a forked project in my personal github. We may want to
> > > > maintain bits in a separate fork in a stable repository that is accessible by
> > > > QEMU developers.
> > > >
> > > > The newly introduced qtest currently only run for x86_64 platform. They pass
> > > > both when running make check on a baremetal box as well as from inside a vm.
> > > >
> > > > Thanks to Igor M for pointing me to this work.
> > > >
> > > > (a) https://blog.linuxplumbersconf.org/2011/ocw/system/presentations/867/original/bits.pdf
> > > > (b) https://www.youtube.com/watch?v=36QIepyUuhg
> > >
> > > Doh, sending the patch series failed since google won't allow file
> > > sizes larger than 25 MB. The bits prebuilt binaries have sizes 30 MB
> > > and 40 MB in two separate patches :(
> >
> > I have pushed the patchset here:
> > https://gitlab.com/anisinha/qemu/-/commits/acpi-bits .
>
> I have re-sent all the patches except patches 2 and 3 that contain
> pre-built biosbits archives. For those two patches, please see the
> gitlab repo above.

I took a peek at our avocado framework. Seems binary artefacts like
these are stored in github. For example,
https://github.com/philmd/qemu-testing-blob/tree/malta_i6400/mips/malta/mips64el
.

Maybe in this case, we can do the same - store this in my github and
the test wgets it. The flip side is that this will introduce external
dependencies for this test. I will wait for further comments from
reviewers on this.

>
> >
> > >
> > > >
> > > > Ani Sinha (12):
> > > >   qtest: meson.build changes required to integrate python based qtests
> > > >   acpi/tests/bits: add prebuilt bios bits zip archive
> > > >   acpi/tests/bits: add prebuilt bits generated grub modules and scripts
> > > >   acpi/tests/bits: initial commit of test scripts that are run by
> > > >     biosbits
> > > >   acpi/tests/bits: disable acpi PSS tests that are failing in biosbits
> > > >   acpi/tests/bits: add smilatency test suite from bits in order to
> > > >     disable it
> > > >   acpi/tests/bits: disable smilatency test since it does not pass
> > > >     everytime
> > > >   acpi/tests/bits: add biosbits config file for running bios tests
> > > >   acpi/tests/bits: add acpi and smbios python tests that uses biosbits
> > > >   acpi/tests/bits: add acpi bits qtest directory in meson for running
> > > >     tests
> > > >   acpi/tests/bits: add README file for bits qtests
> > > >   MAINTAINERS: add myself as the maintainer for acpi biosbits qtests
> > > >
> > > >  MAINTAINERS                                   |    5 +
> > > >  tests/qtest/acpi-bits/README                  |  168 ++
> > > >  tests/qtest/acpi-bits/acpi-bits-test-venv.sh  |   59 +
> > > >  tests/qtest/acpi-bits/acpi-bits-test.py       |  327 +++
> > > >  .../qtest/acpi-bits/bits-config/bits-cfg.txt  |   18 +
> > > >  tests/qtest/acpi-bits/bits-config/meson.build |   11 +
> > > >  tests/qtest/acpi-bits/bits-tests/meson.build  |   11 +
> > > >  tests/qtest/acpi-bits/bits-tests/smbios.py    | 2430 +++++++++++++++++
> > > >  .../qtest/acpi-bits/bits-tests/smilatency.py  |  103 +
> > > >  tests/qtest/acpi-bits/bits-tests/testacpi.py  |  283 ++
> > > >  tests/qtest/acpi-bits/bits-tests/testcpuid.py |   83 +
> > > >  tests/qtest/acpi-bits/meson.build             |   39 +
> > > >  .../acpi-bits/prebuilt/bits-2095-grub.tar.gz  |  Bin 0 -> 41416278 bytes
> > > >  tests/qtest/acpi-bits/prebuilt/bits-2095.zip  |  Bin 0 -> 31922898 bytes
> > > >  tests/qtest/acpi-bits/prebuilt/meson.build    |   11 +
> > > >  tests/qtest/acpi-bits/requirements.txt        |    1 +
> > > >  tests/qtest/meson.build                       |    7 +-
> > > >  17 files changed, 3555 insertions(+), 1 deletion(-)
> > > >  create mode 100644 tests/qtest/acpi-bits/README
> > > >  create mode 100644 tests/qtest/acpi-bits/acpi-bits-test-venv.sh
> > > >  create mode 100644 tests/qtest/acpi-bits/acpi-bits-test.py
> > > >  create mode 100644 tests/qtest/acpi-bits/bits-config/bits-cfg.txt
> > > >  create mode 100644 tests/qtest/acpi-bits/bits-config/meson.build
> > > >  create mode 100644 tests/qtest/acpi-bits/bits-tests/meson.build
> > > >  create mode 100644 tests/qtest/acpi-bits/bits-tests/smbios.py
> > > >  create mode 100644 tests/qtest/acpi-bits/bits-tests/smilatency.py
> > > >  create mode 100644 tests/qtest/acpi-bits/bits-tests/testacpi.py
> > > >  create mode 100644 tests/qtest/acpi-bits/bits-tests/testcpuid.py
> > > >  create mode 100644 tests/qtest/acpi-bits/meson.build
> > > >  create mode 100644 tests/qtest/acpi-bits/prebuilt/bits-2095-grub.tar.gz
> > > >  create mode 100644 tests/qtest/acpi-bits/prebuilt/bits-2095.zip
> > > >  create mode 100644 tests/qtest/acpi-bits/prebuilt/meson.build
> > > >  create mode 100644 tests/qtest/acpi-bits/requirements.txt
> > > >
> > > > --
> > > > 2.25.1
> > > >


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits
  2022-06-28 10:21         ` Daniel P. Berrangé
@ 2022-06-28 10:35           ` Michael S. Tsirkin
  0 siblings, 0 replies; 13+ messages in thread
From: Michael S. Tsirkin @ 2022-06-28 10:35 UTC (permalink / raw)
  To: Daniel P. Berrangé; +Cc: Ani Sinha, qemu-devel, imammedo

On Tue, Jun 28, 2022 at 11:21:44AM +0100, Daniel P. Berrangé wrote:
> On Tue, Jun 28, 2022 at 06:16:06AM -0400, Michael S. Tsirkin wrote:
> > On Tue, Jun 28, 2022 at 11:06:11AM +0100, Daniel P. Berrangé wrote:
> > > Ok, with that kind of size, it is definitely not something we want to
> > > be committing to git either,
> > 
> > Not to qemu git I think.
> > 
> > > nor consuming via a submodule since the
> > > latter would bloat the release tarballs too.
> > 
> > Hmm - why? We don't have to put the submodule in the tarball if we don't
> > want to. People consuming tarballs probably do not need these tests
> > anyway - just a basic smoketest is all that is needed.
> 
> That feels very dubious. Upstream doesnt test every scenario that users
> build & run in. Especially with Fedora rawhide we've often found problems
> which upstream QEMU missed, particularly where new GCC releases have bugs
> causing subtle mis-compilation of code.
> 
> With regards,
> Daniel

IMHO these tests are not really useful for that.

What they do is verify that our ACPI tables are sane -
in addition to the manual review with disassembler we do currently.

We already have tests that verify that qemu generates expected ACPI
tables and that is enough for what you describe.

A miscompiled qemu will generate acpi tables that differ from expected
ones and the simple bit for bit test will fail.
No need to run acpipica within guest.




> -- 
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits
  2022-06-28 10:16       ` Michael S. Tsirkin
@ 2022-06-28 10:21         ` Daniel P. Berrangé
  2022-06-28 10:35           ` Michael S. Tsirkin
  0 siblings, 1 reply; 13+ messages in thread
From: Daniel P. Berrangé @ 2022-06-28 10:21 UTC (permalink / raw)
  To: Michael S. Tsirkin; +Cc: Ani Sinha, qemu-devel, imammedo

On Tue, Jun 28, 2022 at 06:16:06AM -0400, Michael S. Tsirkin wrote:
> On Tue, Jun 28, 2022 at 11:06:11AM +0100, Daniel P. Berrangé wrote:
> > Ok, with that kind of size, it is definitely not something we want to
> > be committing to git either,
> 
> Not to qemu git I think.
> 
> > nor consuming via a submodule since the
> > latter would bloat the release tarballs too.
> 
> Hmm - why? We don't have to put the submodule in the tarball if we don't
> want to. People consuming tarballs probably do not need these tests
> anyway - just a basic smoketest is all that is needed.

That feels very dubious. Upstream doesnt test every scenario that users
build & run in. Especially with Fedora rawhide we've often found problems
which upstream QEMU missed, particularly where new GCC releases have bugs
causing subtle mis-compilation of code.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits
  2022-06-28 10:06     ` Daniel P. Berrangé
@ 2022-06-28 10:16       ` Michael S. Tsirkin
  2022-06-28 10:21         ` Daniel P. Berrangé
  0 siblings, 1 reply; 13+ messages in thread
From: Michael S. Tsirkin @ 2022-06-28 10:16 UTC (permalink / raw)
  To: Daniel P. Berrangé; +Cc: Ani Sinha, qemu-devel, imammedo

On Tue, Jun 28, 2022 at 11:06:11AM +0100, Daniel P. Berrangé wrote:
> Ok, with that kind of size, it is definitely not something we want to
> be committing to git either,

Not to qemu git I think.

> nor consuming via a submodule since the
> latter would bloat the release tarballs too.

Hmm - why? We don't have to put the submodule in the tarball if we don't
want to. People consuming tarballs probably do not need these tests
anyway - just a basic smoketest is all that is needed.

-- 
MST



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits
  2022-06-28  8:33   ` Ani Sinha
@ 2022-06-28 10:06     ` Daniel P. Berrangé
  2022-06-28 10:16       ` Michael S. Tsirkin
  0 siblings, 1 reply; 13+ messages in thread
From: Daniel P. Berrangé @ 2022-06-28 10:06 UTC (permalink / raw)
  To: Ani Sinha; +Cc: qemu-devel, imammedo, mst

On Tue, Jun 28, 2022 at 02:03:15PM +0530, Ani Sinha wrote:
> On Tue, Jun 28, 2022 at 1:39 PM Daniel P. Berrangé <berrange@redhat.com> wrote:
> >
> > On Mon, Jun 27, 2022 at 12:58:44PM +0530, Ani Sinha wrote:
> > > Biosbits is a software written by Josh Triplett that can be downloaded by
> > > visiting https://biosbits.org/. The github codebase can be found here:
> > > https://github.com/biosbits/bits/tree/master. It is a software that exercizes
> > > the bios components such as acpi and smbios tables directly through acpica
> > > bios interpreter (a freely available C based library written by Intel,
> > > downloadable from https://acpica.org/ and is included with biosbits) without an
> > > operating system getting involved in between.
> > > There are several advantages to directly testing the bios in a real physical
> > > machine or VM as opposed to indirectly discovering bios issues through the
> > > operating system. For one thing, the OSes tend to hide bios problems from the
> > > end user. The other is that we have more control of what we wanted to test
> > > and how by directly using acpica interpreter on top of the bios on a running
> > > system. More details on the inspiration for developing biosbits and its real
> > > life uses can be found in (a) and (b).
> > > This patchset contains QEMU qtests written in python that exercizes the QEMU
> > > bios components using biosbits and reports test failures.
> > >
> > > Details of each of the files added by this patchset are provided in the README
> > > file which is part of Patch 11. Every effort to contact Josh, through various
> > > means including email, twitter, linkedIn etc has failed. Hence, the changes to
> > > build biosbits with the newer compiler, upgrade acpica and other changes are
> > > currently maintained in a forked project in my personal github. We may want to
> > > maintain bits in a separate fork in a stable repository that is accessible by
> > > QEMU developers.
> > >
> > > The newly introduced qtest currently only run for x86_64 platform. They pass
> > > both when running make check on a baremetal box as well as from inside a vm.
> > >
> > > Thanks to Igor M for pointing me to this work.
> > >
> > > (a) https://blog.linuxplumbersconf.org/2011/ocw/system/presentations/867/original/bits.pdf
> > > (b) https://www.youtube.com/watch?v=36QIepyUuhg
> > >
> > > Ani Sinha (12):
> > >   qtest: meson.build changes required to integrate python based qtests
> > >   acpi/tests/bits: add prebuilt bios bits zip archive
> > >   acpi/tests/bits: add prebuilt bits generated grub modules and scripts
> >
> > These two files didn't arrive on the mailing list, presumaby because
> > pre-built binaries made the patches way too large.
> 
> Yes they are over 25 MB and my gmail account does not support
> attachments more than that size.

Ok, with that kind of size, it is definitely not something we want to
be committing to git either, nor consuming via a submodule since the
latter would bloat the release tarballs too.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits
  2022-06-28  8:09 ` Daniel P. Berrangé
@ 2022-06-28  8:33   ` Ani Sinha
  2022-06-28 10:06     ` Daniel P. Berrangé
  0 siblings, 1 reply; 13+ messages in thread
From: Ani Sinha @ 2022-06-28  8:33 UTC (permalink / raw)
  To: Daniel P. Berrangé; +Cc: qemu-devel, imammedo, mst

On Tue, Jun 28, 2022 at 1:39 PM Daniel P. Berrangé <berrange@redhat.com> wrote:
>
> On Mon, Jun 27, 2022 at 12:58:44PM +0530, Ani Sinha wrote:
> > Biosbits is a software written by Josh Triplett that can be downloaded by
> > visiting https://biosbits.org/. The github codebase can be found here:
> > https://github.com/biosbits/bits/tree/master. It is a software that exercizes
> > the bios components such as acpi and smbios tables directly through acpica
> > bios interpreter (a freely available C based library written by Intel,
> > downloadable from https://acpica.org/ and is included with biosbits) without an
> > operating system getting involved in between.
> > There are several advantages to directly testing the bios in a real physical
> > machine or VM as opposed to indirectly discovering bios issues through the
> > operating system. For one thing, the OSes tend to hide bios problems from the
> > end user. The other is that we have more control of what we wanted to test
> > and how by directly using acpica interpreter on top of the bios on a running
> > system. More details on the inspiration for developing biosbits and its real
> > life uses can be found in (a) and (b).
> > This patchset contains QEMU qtests written in python that exercizes the QEMU
> > bios components using biosbits and reports test failures.
> >
> > Details of each of the files added by this patchset are provided in the README
> > file which is part of Patch 11. Every effort to contact Josh, through various
> > means including email, twitter, linkedIn etc has failed. Hence, the changes to
> > build biosbits with the newer compiler, upgrade acpica and other changes are
> > currently maintained in a forked project in my personal github. We may want to
> > maintain bits in a separate fork in a stable repository that is accessible by
> > QEMU developers.
> >
> > The newly introduced qtest currently only run for x86_64 platform. They pass
> > both when running make check on a baremetal box as well as from inside a vm.
> >
> > Thanks to Igor M for pointing me to this work.
> >
> > (a) https://blog.linuxplumbersconf.org/2011/ocw/system/presentations/867/original/bits.pdf
> > (b) https://www.youtube.com/watch?v=36QIepyUuhg
> >
> > Ani Sinha (12):
> >   qtest: meson.build changes required to integrate python based qtests
> >   acpi/tests/bits: add prebuilt bios bits zip archive
> >   acpi/tests/bits: add prebuilt bits generated grub modules and scripts
>
> These two files didn't arrive on the mailing list, presumaby because
> pre-built binaries made the patches way too large.

Yes they are over 25 MB and my gmail account does not support
attachments more than that size.

>
>
> With regards,
> Daniel
> --
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
>


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits
  2022-06-27  7:28 Ani Sinha
@ 2022-06-28  8:09 ` Daniel P. Berrangé
  2022-06-28  8:33   ` Ani Sinha
  0 siblings, 1 reply; 13+ messages in thread
From: Daniel P. Berrangé @ 2022-06-28  8:09 UTC (permalink / raw)
  To: Ani Sinha; +Cc: qemu-devel, imammedo, mst

On Mon, Jun 27, 2022 at 12:58:44PM +0530, Ani Sinha wrote:
> Biosbits is a software written by Josh Triplett that can be downloaded by
> visiting https://biosbits.org/. The github codebase can be found here:
> https://github.com/biosbits/bits/tree/master. It is a software that exercizes
> the bios components such as acpi and smbios tables directly through acpica
> bios interpreter (a freely available C based library written by Intel,
> downloadable from https://acpica.org/ and is included with biosbits) without an
> operating system getting involved in between.
> There are several advantages to directly testing the bios in a real physical
> machine or VM as opposed to indirectly discovering bios issues through the
> operating system. For one thing, the OSes tend to hide bios problems from the
> end user. The other is that we have more control of what we wanted to test
> and how by directly using acpica interpreter on top of the bios on a running
> system. More details on the inspiration for developing biosbits and its real
> life uses can be found in (a) and (b).
> This patchset contains QEMU qtests written in python that exercizes the QEMU
> bios components using biosbits and reports test failures.
> 
> Details of each of the files added by this patchset are provided in the README
> file which is part of Patch 11. Every effort to contact Josh, through various
> means including email, twitter, linkedIn etc has failed. Hence, the changes to
> build biosbits with the newer compiler, upgrade acpica and other changes are
> currently maintained in a forked project in my personal github. We may want to
> maintain bits in a separate fork in a stable repository that is accessible by
> QEMU developers.
> 
> The newly introduced qtest currently only run for x86_64 platform. They pass
> both when running make check on a baremetal box as well as from inside a vm.
> 
> Thanks to Igor M for pointing me to this work.
> 
> (a) https://blog.linuxplumbersconf.org/2011/ocw/system/presentations/867/original/bits.pdf
> (b) https://www.youtube.com/watch?v=36QIepyUuhg
> 
> Ani Sinha (12):
>   qtest: meson.build changes required to integrate python based qtests
>   acpi/tests/bits: add prebuilt bios bits zip archive
>   acpi/tests/bits: add prebuilt bits generated grub modules and scripts

These two files didn't arrive on the mailing list, presumaby because
pre-built binaries made the patches way too large.


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits
@ 2022-06-27  7:28 Ani Sinha
  2022-06-28  8:09 ` Daniel P. Berrangé
  0 siblings, 1 reply; 13+ messages in thread
From: Ani Sinha @ 2022-06-27  7:28 UTC (permalink / raw)
  To: qemu-devel; +Cc: imammedo, mst, Ani Sinha

Biosbits is a software written by Josh Triplett that can be downloaded by
visiting https://biosbits.org/. The github codebase can be found here:
https://github.com/biosbits/bits/tree/master. It is a software that exercizes
the bios components such as acpi and smbios tables directly through acpica
bios interpreter (a freely available C based library written by Intel,
downloadable from https://acpica.org/ and is included with biosbits) without an
operating system getting involved in between.
There are several advantages to directly testing the bios in a real physical
machine or VM as opposed to indirectly discovering bios issues through the
operating system. For one thing, the OSes tend to hide bios problems from the
end user. The other is that we have more control of what we wanted to test
and how by directly using acpica interpreter on top of the bios on a running
system. More details on the inspiration for developing biosbits and its real
life uses can be found in (a) and (b).
This patchset contains QEMU qtests written in python that exercizes the QEMU
bios components using biosbits and reports test failures.

Details of each of the files added by this patchset are provided in the README
file which is part of Patch 11. Every effort to contact Josh, through various
means including email, twitter, linkedIn etc has failed. Hence, the changes to
build biosbits with the newer compiler, upgrade acpica and other changes are
currently maintained in a forked project in my personal github. We may want to
maintain bits in a separate fork in a stable repository that is accessible by
QEMU developers.

The newly introduced qtest currently only run for x86_64 platform. They pass
both when running make check on a baremetal box as well as from inside a vm.

Thanks to Igor M for pointing me to this work.

(a) https://blog.linuxplumbersconf.org/2011/ocw/system/presentations/867/original/bits.pdf
(b) https://www.youtube.com/watch?v=36QIepyUuhg

Ani Sinha (12):
  qtest: meson.build changes required to integrate python based qtests
  acpi/tests/bits: add prebuilt bios bits zip archive
  acpi/tests/bits: add prebuilt bits generated grub modules and scripts
  acpi/tests/bits: initial commit of test scripts that are run by
    biosbits
  acpi/tests/bits: disable acpi PSS tests that are failing in biosbits
  acpi/tests/bits: add smilatency test suite from bits in order to
    disable it
  acpi/tests/bits: disable smilatency test since it does not pass
    everytime
  acpi/tests/bits: add biosbits config file for running bios tests
  acpi/tests/bits: add acpi and smbios python tests that uses biosbits
  acpi/tests/bits: add acpi bits qtest directory in meson for running
    tests
  acpi/tests/bits: add README file for bits qtests
  MAINTAINERS: add myself as the maintainer for acpi biosbits qtests

 MAINTAINERS                                   |    5 +
 tests/qtest/acpi-bits/README                  |  168 ++
 tests/qtest/acpi-bits/acpi-bits-test-venv.sh  |   59 +
 tests/qtest/acpi-bits/acpi-bits-test.py       |  327 +++
 .../qtest/acpi-bits/bits-config/bits-cfg.txt  |   18 +
 tests/qtest/acpi-bits/bits-config/meson.build |   11 +
 tests/qtest/acpi-bits/bits-tests/meson.build  |   11 +
 tests/qtest/acpi-bits/bits-tests/smbios.py    | 2430 +++++++++++++++++
 .../qtest/acpi-bits/bits-tests/smilatency.py  |  103 +
 tests/qtest/acpi-bits/bits-tests/testacpi.py  |  283 ++
 tests/qtest/acpi-bits/bits-tests/testcpuid.py |   83 +
 tests/qtest/acpi-bits/meson.build             |   39 +
 .../acpi-bits/prebuilt/bits-2095-grub.tar.gz  |  Bin 0 -> 41416278 bytes
 tests/qtest/acpi-bits/prebuilt/bits-2095.zip  |  Bin 0 -> 31922898 bytes
 tests/qtest/acpi-bits/prebuilt/meson.build    |   11 +
 tests/qtest/acpi-bits/requirements.txt        |    1 +
 tests/qtest/meson.build                       |    7 +-
 17 files changed, 3555 insertions(+), 1 deletion(-)
 create mode 100644 tests/qtest/acpi-bits/README
 create mode 100644 tests/qtest/acpi-bits/acpi-bits-test-venv.sh
 create mode 100644 tests/qtest/acpi-bits/acpi-bits-test.py
 create mode 100644 tests/qtest/acpi-bits/bits-config/bits-cfg.txt
 create mode 100644 tests/qtest/acpi-bits/bits-config/meson.build
 create mode 100644 tests/qtest/acpi-bits/bits-tests/meson.build
 create mode 100644 tests/qtest/acpi-bits/bits-tests/smbios.py
 create mode 100644 tests/qtest/acpi-bits/bits-tests/smilatency.py
 create mode 100644 tests/qtest/acpi-bits/bits-tests/testacpi.py
 create mode 100644 tests/qtest/acpi-bits/bits-tests/testcpuid.py
 create mode 100644 tests/qtest/acpi-bits/meson.build
 create mode 100644 tests/qtest/acpi-bits/prebuilt/bits-2095-grub.tar.gz
 create mode 100644 tests/qtest/acpi-bits/prebuilt/bits-2095.zip
 create mode 100644 tests/qtest/acpi-bits/prebuilt/meson.build
 create mode 100644 tests/qtest/acpi-bits/requirements.txt

-- 
2.25.1



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2022-06-28 10:37 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-27  6:44 [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits Ani Sinha
2022-06-27  6:44 ` [PATCH 01/12] qtest: meson.build changes required to integrate python based qtests Ani Sinha
2022-06-27  6:52 ` [PATCH 00/12] Introduce new acpi/smbios qtests using biosbits Ani Sinha
2022-06-27  6:55   ` Ani Sinha
2022-06-27  7:32     ` Ani Sinha
2022-06-27 16:16       ` Ani Sinha
2022-06-27  7:28 Ani Sinha
2022-06-28  8:09 ` Daniel P. Berrangé
2022-06-28  8:33   ` Ani Sinha
2022-06-28 10:06     ` Daniel P. Berrangé
2022-06-28 10:16       ` Michael S. Tsirkin
2022-06-28 10:21         ` Daniel P. Berrangé
2022-06-28 10:35           ` Michael S. Tsirkin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.