On Wed, May 17, 2023 at 04:43:53PM +0000, Bernhard Beschow wrote: > > > Am 17. Mai 2023 12:07:51 UTC schrieb Ani Sinha <anisi...@redhat.com>: > >Currently the meson based QEMU build process locates the iasl binary from the > >current PATH and other locations [1] and uses that to set CONFIG_IASL which > >is > >then used by the test. > > > >This has two disadvantages: > > - If iasl was not previously installed in the PATH, one has to install iasl > > and rebuild QEMU in order to pick up the iasl location. One cannot simply > > use the existing bios-tables-test binary because CONFIG_IASL is only set > > during the QEMU build time by meson and then bios-tables-test has to be > > rebuilt with CONFIG_IASL set in order to use iasl. > > - Sometimes, the stock iasl that comes with distributions is simply not good > > enough because it does not support the latest ACPI changes - newly > > introduced tables or new table attributes etc. In order to test ACPI code > > in QEMU, one has to clone the latest acpica upstream repository and > > rebuild iasl in order to get support for it. In those cases, one may want > > the test to use the iasl binary from a non-standard location. > > > >In order to overcome the above two disadvantages, we introduce a new > >environment variable IASL_PATH that can be set by the tester pointing to an > >possibly non-standard iasl binary location. > > Why not add a submodule -- like we do with dtc -- and use that? Then > we could possibly convert the ACPI blobs used in bios-tables-test into > text files which would make AML patches a bit more comprehensible. We > also didn't have to trust the commit messages to contain the actual > change because one would see it right in the patch. > > Best regards, > Bernhard
Yea people dislike submodules but I guess we could come up with something. I stumbled upon git-subrepo recently but did not try it yet. There's a long list of issues unrelated to having iasl installed though: - IASL disassembler output is unstable, tends to change with each revision - IASL disassembler lacks (or used to, last time I looked) support for all hosts that QEMU wants to support (e.g. I think it is still somewhat broken on BE) - Tends to crash in weird ways on unexected ACPI I talked to ACPICA guys about guarateed output with some flag and they were uninterested. We used to have expected ASL in git, was a little easier for contributors but a pain for maintainers and users. -- MST