* Two small doc updates
* Fix the flaky loongarch64 and sh4 functional tests * Refuse to compile with old XCode versions that don't work anymore * Remove an unused function from PCI code -----BEGIN PGP SIGNATURE----- iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmdG9WcRHHRodXRoQHJl ZGhhdC5jb20ACgkQLtnXdP5wLbVwTRAAgOWsUiqscFk7x+G1EcxE21Cii1s3kj2t BYjzsl+sHzu2/aiazYfRbYOwUoXDU5kshfA0Df5KIQs2o1VBFt+v9z5vEAMjZ1tT j3LfazCUb4pmwS4wiD1DeEgrbCzrQ/B5grvyJsf7eB9pIxnGt+R1FGdpyDoKv8HB fTm6tkWKf6Mn8vJm/S+dJkoZu4ToBIOl2Q/s3/NxSf6a07FvY1QERCHndKGI90kE 0jodq+lb1UotaqicmlenSY33FGWWH2aeiSWGnsZRzDPLedmTBvY6hnkHtB2u+0kF D13ZF8oxc1pdviMXu978YRdKHmQacQ0RZVoJ6UxEf7tsDI4dEI87enVTBueGgv3z iz4wDDg6i/5kn12eOkjv3YgzcSF37kS/4aHltxyyuZBVT1tBsZ++zz5eCfTcO9wa mYElg1KDmWjmzs/HwtRb/07Bws7TIxxBUICKCA39GFpAKq6mssNAWujmhtB18AAC 8+tyCOz1KbseJR1oO2+I5biWBLOfAtHrBdSYIIM7yn+FWXC81kYhmT+/6hhkvl0u OHamRK8Kmpi71wRkm+3C/J+A1XDirXywteNIpsJXaAIEdSFzWRZdVMKblaHtqxET DwMdYRZ9u45phg5b+lTbDLBgsSf93NnrqyyIG7/6mS2CLwQ1x6o+NnleIJluNxSC kROh/xwUydo= =6+P3 -----END PGP SIGNATURE----- Merge tag 'pull-request-2024-11-27' of https://gitlab.com/thuth/qemu into staging * Two small doc updates * Fix the flaky loongarch64 and sh4 functional tests * Refuse to compile with old XCode versions that don't work anymore * Remove an unused function from PCI code # -----BEGIN PGP SIGNATURE----- # # iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmdG9WcRHHRodXRoQHJl # ZGhhdC5jb20ACgkQLtnXdP5wLbVwTRAAgOWsUiqscFk7x+G1EcxE21Cii1s3kj2t # BYjzsl+sHzu2/aiazYfRbYOwUoXDU5kshfA0Df5KIQs2o1VBFt+v9z5vEAMjZ1tT # j3LfazCUb4pmwS4wiD1DeEgrbCzrQ/B5grvyJsf7eB9pIxnGt+R1FGdpyDoKv8HB # fTm6tkWKf6Mn8vJm/S+dJkoZu4ToBIOl2Q/s3/NxSf6a07FvY1QERCHndKGI90kE # 0jodq+lb1UotaqicmlenSY33FGWWH2aeiSWGnsZRzDPLedmTBvY6hnkHtB2u+0kF # D13ZF8oxc1pdviMXu978YRdKHmQacQ0RZVoJ6UxEf7tsDI4dEI87enVTBueGgv3z # iz4wDDg6i/5kn12eOkjv3YgzcSF37kS/4aHltxyyuZBVT1tBsZ++zz5eCfTcO9wa # mYElg1KDmWjmzs/HwtRb/07Bws7TIxxBUICKCA39GFpAKq6mssNAWujmhtB18AAC # 8+tyCOz1KbseJR1oO2+I5biWBLOfAtHrBdSYIIM7yn+FWXC81kYhmT+/6hhkvl0u # OHamRK8Kmpi71wRkm+3C/J+A1XDirXywteNIpsJXaAIEdSFzWRZdVMKblaHtqxET # DwMdYRZ9u45phg5b+lTbDLBgsSf93NnrqyyIG7/6mS2CLwQ1x6o+NnleIJluNxSC # kROh/xwUydo= # =6+P3 # -----END PGP SIGNATURE----- # gpg: Signature made Wed 27 Nov 2024 10:33:11 GMT # gpg: using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5 # gpg: issuer "thuth@redhat.com" # gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full] # gpg: aka "Thomas Huth <thuth@redhat.com>" [full] # gpg: aka "Thomas Huth <huth@tuxfamily.org>" [full] # gpg: aka "Thomas Huth <th.huth@posteo.de>" [unknown] # Primary key fingerprint: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5 * tag 'pull-request-2024-11-27' of https://gitlab.com/thuth/qemu: hw/pci: Remove unused pci_irq_pulse() method tests/functional: Remove sleep workarounds from sh4 test .gitlab-ci.d/cirrus: Remove the wrong CPU and RAM settings from the macOS job meson.build: Refuse XCode versions < v15.0 tests/functional: Fix the running test case causes loongarch64 to hang docs: Document that hvf on Arm is supported docs/devel/testing/functional: Clarify that we have to use the build folder Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
		
						commit
						45069ea307
					
				| @ -67,8 +67,6 @@ aarch64-macos-build: | |||||||
|     CIRRUS_VM_INSTANCE_TYPE: macos_instance |     CIRRUS_VM_INSTANCE_TYPE: macos_instance | ||||||
|     CIRRUS_VM_IMAGE_SELECTOR: image |     CIRRUS_VM_IMAGE_SELECTOR: image | ||||||
|     CIRRUS_VM_IMAGE_NAME: ghcr.io/cirruslabs/macos-runner:sonoma |     CIRRUS_VM_IMAGE_NAME: ghcr.io/cirruslabs/macos-runner:sonoma | ||||||
|     CIRRUS_VM_CPUS: 12 |  | ||||||
|     CIRRUS_VM_RAM: 24G |  | ||||||
|     UPDATE_COMMAND: brew update |     UPDATE_COMMAND: brew update | ||||||
|     INSTALL_COMMAND: brew install |     INSTALL_COMMAND: brew install | ||||||
|     PATH_EXTRA: /opt/homebrew/ccache/libexec:/opt/homebrew/gettext/bin |     PATH_EXTRA: /opt/homebrew/ccache/libexec:/opt/homebrew/gettext/bin | ||||||
|  | |||||||
| @ -40,7 +40,7 @@ Those hosts are officially supported, with various accelerators: | |||||||
|    * - CPU Architecture |    * - CPU Architecture | ||||||
|      - Accelerators |      - Accelerators | ||||||
|    * - Arm |    * - Arm | ||||||
|      - kvm (64 bit only), tcg, xen |      - hvf (64 bit only), kvm (64 bit only), tcg, xen | ||||||
|    * - MIPS (64 bit little endian only) |    * - MIPS (64 bit little endian only) | ||||||
|      - kvm, tcg |      - kvm, tcg | ||||||
|    * - PPC |    * - PPC | ||||||
|  | |||||||
| @ -59,11 +59,12 @@ To run a single test file without the meson test runner, you can also | |||||||
| execute the file directly by specifying two environment variables first, | execute the file directly by specifying two environment variables first, | ||||||
| the PYTHONPATH that has to include the python folder and the tests/functional | the PYTHONPATH that has to include the python folder and the tests/functional | ||||||
| folder of the source tree, and QEMU_TEST_QEMU_BINARY that has to point | folder of the source tree, and QEMU_TEST_QEMU_BINARY that has to point | ||||||
| to the QEMU binary that should be used for the test, for example:: | to the QEMU binary that should be used for the test. The current working | ||||||
|  | directory should be your build folder. For example:: | ||||||
| 
 | 
 | ||||||
|   $ export PYTHONPATH=../python:../tests/functional |   $ export PYTHONPATH=../python:../tests/functional | ||||||
|   $ export QEMU_TEST_QEMU_BINARY=$PWD/qemu-system-x86_64 |   $ export QEMU_TEST_QEMU_BINARY=$PWD/qemu-system-x86_64 | ||||||
|   $ python3 ../tests/functional/test_file.py |   $ pyvenv/bin/python3 ../tests/functional/test_file.py | ||||||
| 
 | 
 | ||||||
| The test framework will automatically purge any scratch files created during | The test framework will automatically purge any scratch files created during | ||||||
| the tests. If needing to debug a failed test, it is possible to keep these | the tests. If needing to debug a failed test, it is possible to keep these | ||||||
|  | |||||||
| @ -670,16 +670,6 @@ static inline void pci_irq_deassert(PCIDevice *pci_dev) | |||||||
|     pci_set_irq(pci_dev, 0); |     pci_set_irq(pci_dev, 0); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /*
 |  | ||||||
|  * FIXME: PCI does not work this way. |  | ||||||
|  * All the callers to this method should be fixed. |  | ||||||
|  */ |  | ||||||
| static inline void pci_irq_pulse(PCIDevice *pci_dev) |  | ||||||
| { |  | ||||||
|     pci_irq_assert(pci_dev); |  | ||||||
|     pci_irq_deassert(pci_dev); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| MSIMessage pci_get_msi_message(PCIDevice *dev, int vector); | MSIMessage pci_get_msi_message(PCIDevice *dev, int vector); | ||||||
| void pci_set_power(PCIDevice *pci_dev, bool state); | void pci_set_power(PCIDevice *pci_dev, bool state); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -315,8 +315,8 @@ foreach lang : all_languages | |||||||
|     # ok |     # ok | ||||||
|   elif compiler.get_id() == 'clang' and compiler.compiles(''' |   elif compiler.get_id() == 'clang' and compiler.compiles(''' | ||||||
|       #ifdef __apple_build_version__ |       #ifdef __apple_build_version__ | ||||||
|       # if __clang_major__ < 12 || (__clang_major__ == 12 && __clang_minor__ < 0) |       # if __clang_major__ < 15 || (__clang_major__ == 15 && __clang_minor__ < 0) | ||||||
|       #  error You need at least XCode Clang v12.0 to compile QEMU |       #  error You need at least XCode Clang v15.0 to compile QEMU | ||||||
|       # endif |       # endif | ||||||
|       #else |       #else | ||||||
|       # if __clang_major__ < 10 || (__clang_major__ == 10 && __clang_minor__ < 0) |       # if __clang_major__ < 10 || (__clang_major__ == 10 && __clang_minor__ < 0) | ||||||
| @ -325,7 +325,7 @@ foreach lang : all_languages | |||||||
|       #endif''') |       #endif''') | ||||||
|     # ok |     # ok | ||||||
|   else |   else | ||||||
|     error('You either need GCC v7.4 or Clang v10.0 (or XCode Clang v12.0) to compile QEMU') |     error('You either need GCC v7.4 or Clang v10.0 (or XCode Clang v15.0) to compile QEMU') | ||||||
|   endif |   endif | ||||||
| endforeach | endforeach | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -18,16 +18,16 @@ class LoongArchMachine(QemuSystemTest): | |||||||
| 
 | 
 | ||||||
|     ASSET_KERNEL = Asset( |     ASSET_KERNEL = Asset( | ||||||
|         ('https://github.com/yangxiaojuan-loongson/qemu-binary/' |         ('https://github.com/yangxiaojuan-loongson/qemu-binary/' | ||||||
|          'releases/download/2024-05-30/vmlinuz.efi'), |          'releases/download/2024-11-26/vmlinuz.efi'), | ||||||
|         '08b88a45f48a5fd92260bae895be4e5175be2397481a6f7821b9f39b2965b79e') |         '08b88a45f48a5fd92260bae895be4e5175be2397481a6f7821b9f39b2965b79e') | ||||||
|     ASSET_INITRD = Asset( |     ASSET_INITRD = Asset( | ||||||
|         ('https://github.com/yangxiaojuan-loongson/qemu-binary/' |         ('https://github.com/yangxiaojuan-loongson/qemu-binary/' | ||||||
|          'releases/download/2024-05-30/ramdisk'), |          'releases/download/2024-11-26/ramdisk'), | ||||||
|         '03d6fb6f8ee64ecac961120a0bdacf741f17b3bee2141f17fa01908c8baf176a') |         '03d6fb6f8ee64ecac961120a0bdacf741f17b3bee2141f17fa01908c8baf176a') | ||||||
|     ASSET_BIOS = Asset( |     ASSET_BIOS = Asset( | ||||||
|         ('https://github.com/yangxiaojuan-loongson/qemu-binary/' |         ('https://github.com/yangxiaojuan-loongson/qemu-binary/' | ||||||
|          'releases/download/2024-05-30/QEMU_EFI.fd'), |          'releases/download/2024-11-26/QEMU_EFI.fd'), | ||||||
|         '937c1e7815e2340150c194a9f8f0474259038a3d7b8845ed62cc08163c46bea1') |         'f55fbf5d92e885844631ae9bfa8887f659bbb4f6ef2beea9e9ff8bc0603b6697') | ||||||
| 
 | 
 | ||||||
|     def wait_for_console_pattern(self, success_message, vm=None): |     def wait_for_console_pattern(self, success_message, vm=None): | ||||||
|         wait_for_console_pattern(self, success_message, |         wait_for_console_pattern(self, success_message, | ||||||
|  | |||||||
| @ -15,7 +15,7 @@ import os | |||||||
| import time | import time | ||||||
| 
 | 
 | ||||||
| from unittest import skipUnless | from unittest import skipUnless | ||||||
| from qemu_test import Asset, exec_command_and_wait_for_pattern, exec_command | from qemu_test import Asset, exec_command_and_wait_for_pattern | ||||||
| from qemu_test.tuxruntest import TuxRunBaselineTest | from qemu_test.tuxruntest import TuxRunBaselineTest | ||||||
| 
 | 
 | ||||||
| class TuxRunSh4Test(TuxRunBaselineTest): | class TuxRunSh4Test(TuxRunBaselineTest): | ||||||
| @ -27,8 +27,6 @@ class TuxRunSh4Test(TuxRunBaselineTest): | |||||||
|         'https://storage.tuxboot.com/20230331/sh4/rootfs.ext4.zst', |         'https://storage.tuxboot.com/20230331/sh4/rootfs.ext4.zst', | ||||||
|         '3592a7a3d5a641e8b9821449e77bc43c9904a56c30d45da0694349cfd86743fd') |         '3592a7a3d5a641e8b9821449e77bc43c9904a56c30d45da0694349cfd86743fd') | ||||||
| 
 | 
 | ||||||
|     # Note: some segfaults caused by unaligned userspace access |  | ||||||
|     @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS'), 'Test is unstable') |  | ||||||
|     def test_sh4(self): |     def test_sh4(self): | ||||||
|         self.set_machine('r2d') |         self.set_machine('r2d') | ||||||
|         self.cpu='sh7785' |         self.cpu='sh7785' | ||||||
| @ -46,10 +44,8 @@ class TuxRunSh4Test(TuxRunBaselineTest): | |||||||
|                          console_index=1) |                          console_index=1) | ||||||
|         self.vm.launch() |         self.vm.launch() | ||||||
| 
 | 
 | ||||||
|         self.wait_for_console_pattern("Welcome to TuxTest") |         self.wait_for_console_pattern("tuxtest login:") | ||||||
|         time.sleep(0.1) |         exec_command_and_wait_for_pattern(self, 'root', 'root@tuxtest:~#') | ||||||
|         exec_command(self, 'root') |  | ||||||
|         time.sleep(0.1) |  | ||||||
|         exec_command_and_wait_for_pattern(self, 'halt', |         exec_command_and_wait_for_pattern(self, 'halt', | ||||||
|                                           "reboot: System halted") |                                           "reboot: System halted") | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Peter Maydell
						Peter Maydell