Commit 0fa5a11210 for qemu.org

commit 0fa5a11210629933b0e5a3186083dd3bb1bf41cb
Author: Kane Chen <kane_chen@aspeedtech.com>
Date:   Wed Feb 4 08:21:43 2026 +0000

    tests/functional/aarch64: Parameterize I2C bus ID in AST2700 test

    The current Aspeed AST2700 functional test case strictly uses I2C bus
    1 for its sensor tests. This hard-coded approach prevents the test
    logic from being reused for other machine types or configurations
    where I2C bus 1 might be disabled or where a different bus needs to
    be verified (e.g., I2C expanders).

    This refactoring allows the same I2C verification logic to be shared
    across different test scenarios by simply passing the target bus
    number.

    Signed-off-by: Kane-Chen-AS <kane_chen@aspeedtech.com>
    Reviewed-by: Cédric Le Goater <clg@redhat.com>
    Link: https://lore.kernel.org/qemu-devel/20260204082113.3955407-21-kane_chen@aspeedtech.com
    Signed-off-by: Cédric Le Goater <clg@redhat.com>

diff --git a/tests/functional/aarch64/test_aspeed_ast2700.py b/tests/functional/aarch64/test_aspeed_ast2700.py
index 828ea1ca53..d7eeab9c23 100755
--- a/tests/functional/aarch64/test_aspeed_ast2700.py
+++ b/tests/functional/aarch64/test_aspeed_ast2700.py
@@ -15,11 +15,17 @@

 class AST2x00MachineSDK(QemuSystemTest):

-    def do_test_aarch64_aspeed_sdk_start(self, image):
+    def do_test_aarch64_aspeed_sdk_start(self, image, bus_id):
+        bus_str = str(bus_id)
         self.require_netdev('user')
         self.vm.set_console()
-        self.vm.add_args('-device',
-                         'tmp105,bus=aspeed.i2c.bus.1,address=0x4d,id=tmp-test')
+        self.vm.add_args(
+            '-device',
+            f'tmp105,'
+            f'bus=aspeed.i2c.bus.{bus_str},'
+            f'address=0x4d,'
+            f'id=tmp-test-{bus_str}'
+        )
         self.vm.add_args('-drive', 'file=' + image + ',if=mtd,format=raw',
                          '-net', 'nic', '-net', 'user', '-snapshot')

@@ -75,16 +81,17 @@ def verify_openbmc_boot_and_login(self, name):
             'https://github.com/AspeedTech-BMC/openbmc/releases/download/v11.00/ast2700-a1-obmc.tar.gz',
             'd5ceed511cd0dfefbb102fff2d731159e0472948a28066dc0d90bcd54be76525')

-    def do_ast2700_i2c_test(self):
+    def do_ast2700_i2c_test(self, bus_id):
+        bus_str = str(bus_id)
         exec_command_and_wait_for_pattern(self,
-            'echo lm75 0x4d > /sys/class/i2c-dev/i2c-1/device/new_device ',
-            'i2c i2c-1: new_device: Instantiated device lm75 at 0x4d')
+            f'echo lm75 0x4d > /sys/class/i2c-dev/i2c-{bus_str}/device/new_device ',
+            f'i2c i2c-{bus_str}: new_device: Instantiated device lm75 at 0x4d')
         exec_command_and_wait_for_pattern(self,
-            'cat /sys/bus/i2c/devices/1-004d/hwmon/hwmon*/temp1_input', '0')
-        self.vm.cmd('qom-set', path='/machine/peripheral/tmp-test',
+            f'cat /sys/bus/i2c/devices/{bus_str}-004d/hwmon/hwmon*/temp1_input', '0')
+        self.vm.cmd('qom-set', path=f'/machine/peripheral/tmp-test-{bus_str}',
                     property='temperature', value=18000)
         exec_command_and_wait_for_pattern(self,
-            'cat /sys/bus/i2c/devices/1-004d/hwmon/hwmon*/temp1_input', '18000')
+            f'cat /sys/bus/i2c/devices/{bus_str}-004d/hwmon/hwmon*/temp1_input', '18000')

     def do_ast2700_pcie_test(self):
         exec_command_and_wait_for_pattern(self,
@@ -99,7 +106,7 @@ def do_ast2700_pcie_test(self):
             'ip addr show dev eth2',
             'inet 10.0.2.15/24')

-    def start_ast2700_test(self, name):
+    def start_ast2700_test(self, name, bus_id):
         num_cpu = 4
         load_images_list = [
             {
@@ -128,12 +135,12 @@ def start_ast2700_test(self, name):

         self.vm.add_args('-smp', str(num_cpu))
         self.do_test_aarch64_aspeed_sdk_start(
-            self.scratch_file(name, 'image-bmc'))
+            self.scratch_file(name, 'image-bmc'), bus_id)

-    def start_ast2700_test_vbootrom(self, name):
+    def start_ast2700_test_vbootrom(self, name, bus_id):
         self.vm.add_args('-bios', 'ast27x0_bootrom.bin')
         self.do_test_aarch64_aspeed_sdk_start(
-                self.scratch_file(name, 'image-bmc'))
+                self.scratch_file(name, 'image-bmc'), bus_id)

     def test_aarch64_ast2700a1_evb_sdk_v11_00(self):
         self.set_machine('ast2700a1-evb')
@@ -142,9 +149,9 @@ def test_aarch64_ast2700a1_evb_sdk_v11_00(self):
         self.archive_extract(self.ASSET_SDK_V1100_AST2700A1)
         self.vm.add_args('-device', 'e1000e,netdev=net1,bus=pcie.2')
         self.vm.add_args('-netdev', 'user,id=net1')
-        self.start_ast2700_test('ast2700-a1')
+        self.start_ast2700_test('ast2700-a1', 1)
         self.verify_openbmc_boot_and_login('ast2700-a1')
-        self.do_ast2700_i2c_test()
+        self.do_ast2700_i2c_test(1)
         self.do_ast2700_pcie_test()

     def test_aarch64_ast2700a1_evb_sdk_vbootrom_v11_00(self):
@@ -154,7 +161,7 @@ def test_aarch64_ast2700a1_evb_sdk_vbootrom_v11_00(self):
         self.archive_extract(self.ASSET_SDK_V1100_AST2700A1)
         self.vm.add_args('-device', 'e1000e,netdev=net1,bus=pcie.2')
         self.vm.add_args('-netdev', 'user,id=net1')
-        self.start_ast2700_test_vbootrom('ast2700-a1')
+        self.start_ast2700_test_vbootrom('ast2700-a1', 1)
         self.verify_vbootrom_firmware_flow()
         self.verify_openbmc_boot_start()