Skip to content

Commit

Permalink
acpi/tests/avocado/bits: enforce 32-bit SMBIOS entry point
Browse files Browse the repository at this point in the history
QEMU defaults to 64-bit entry point since the following commit
bf376f3 ("hw/i386/pc: Default to use SMBIOS 3.0 for newer machine models")
The above change is applicable for all newer machine versions from version 8.1
and newer. i440fx and q35 machine versions 8.0 and older still use 32-bit entry
points.
Unfortunately, bits currently does not recognize 64-bit entry points and hence
is not able to parse SMBIOS tables. Therefore, we need to enforce 32-bit
SMBIOS entry point in QEMU command line so that bits is able to parse the
SMBIOS tables.
Once we implement the support in bits to parse 64-bit entry points, we can
remove the extra command line that is passed to enforce a 32-bit entry point.
The support can be added to the following smbios test script:
tests/avocado/acpi-bits/bits-tests/smbios.py2 in QEMU repository.

CC: jusual@redhat.com
CC: imammedo@redhat.com
Signed-off-by: Ani Sinha <anisinha@redhat.com>
Message-Id: <20231027032120.6012-2-anisinha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
  • Loading branch information
ani-sinha authored and mstsirkin committed Nov 7, 2023
1 parent 004e3a9 commit a874ddc
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions tests/avocado/acpi-bits.py
Original file line number Diff line number Diff line change
Expand Up @@ -380,6 +380,11 @@ def test_acpi_smbios_bits(self):
# consistent in terms of timing. smilatency tests have consistent
# timing requirements.
self._vm.add_args('-icount', 'auto')
# currently there is no support in bits for recognizing 64-bit SMBIOS
# entry points. QEMU defaults to 64-bit entry points since the
# upstream commit bf376f3020 ("hw/i386/pc: Default to use SMBIOS 3.0
# for newer machine models"). Therefore, enforce 32-bit entry point.
self._vm.add_args('-machine', 'smbios-entry-point-type=32')

args = " ".join(str(arg) for arg in self._vm.base_args()) + \
" " + " ".join(str(arg) for arg in self._vm.args)
Expand Down

0 comments on commit a874ddc

Please sign in to comment.