diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2021-07-03 22:34:37 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2021-07-03 22:34:37 +0100 |
commit | 73c8bf4ccff8951d228b8a0d49968c56e32da4de (patch) | |
tree | 61ef201108751227a8ec3b4b1d16b2a4420fa9e9 /tests | |
parent | 9c2647f75004c4f7d64c9c0ec55f8c6f0739a8b1 (diff) | |
parent | 04ea4d3cfd0a21b248ece8eb7a9436a3d9898dd8 (diff) | |
download | qemu-73c8bf4ccff8951d228b8a0d49968c56e32da4de.zip qemu-73c8bf4ccff8951d228b8a0d49968c56e32da4de.tar.gz qemu-73c8bf4ccff8951d228b8a0d49968c56e32da4de.tar.bz2 |
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20210702' into staging
target-arm queue:
* more MVE instructions
* hw/gpio/gpio_pwr: use shutdown function for reboot
* target/arm: Check NaN mode before silencing NaN
* tests: Boot and halt a Linux guest on the Raspberry Pi 2 machine
* hw/arm: Add basic power management to raspi.
* docs/system/arm: Add quanta-gbs-bmc, quanta-q7l1-bmc
# gpg: Signature made Fri 02 Jul 2021 13:59:19 BST
# gpg: using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
# gpg: issuer "peter.maydell@linaro.org"
# gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [ultimate]
# gpg: aka "Peter Maydell <pmaydell@gmail.com>" [ultimate]
# gpg: aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" [ultimate]
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83 15CF 3C25 25ED 1436 0CDE
* remotes/pmaydell/tags/pull-target-arm-20210702: (24 commits)
target/arm: Implement MVE shifts by register
target/arm: Implement MVE shifts by immediate
target/arm: Implement MVE long shifts by register
target/arm: Implement MVE long shifts by immediate
target/arm: Implement MVE VADDLV
target/arm: Implement MVE VSHLC
target/arm: Implement MVE saturating narrowing shifts
target/arm: Implement MVE VSHRN, VRSHRN
target/arm: Implement MVE VSRI, VSLI
target/arm: Implement MVE VSHLL
target/arm: Implement MVE vector shift right by immediate insns
target/arm: Implement MVE vector shift left by immediate insns
target/arm: Implement MVE logical immediate insns
target/arm: Use dup_const() instead of bitfield_replicate()
target/arm: Use asimd_imm_const for A64 decode
target/arm: Make asimd_imm_const() public
target/arm: Fix bugs in MVE VRMLALDAVH, VRMLSLDAVH
target/arm: Fix MVE widening/narrowing VLDR/VSTR offset calculation
hw/gpio/gpio_pwr: use shutdown function for reboot
target/arm: Check NaN mode before silencing NaN
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/acceptance/boot_linux_console.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py index cded547..3ae11a7 100644 --- a/tests/acceptance/boot_linux_console.py +++ b/tests/acceptance/boot_linux_console.py @@ -16,6 +16,7 @@ import shutil from avocado import skip from avocado import skipUnless from avocado_qemu import Test +from avocado_qemu import exec_command from avocado_qemu import exec_command_and_wait_for_pattern from avocado_qemu import interrupt_interactive_console_until_pattern from avocado_qemu import wait_for_console_pattern @@ -477,6 +478,48 @@ class BootLinuxConsole(LinuxKernelTest): """ self.do_test_arm_raspi2(0) + def test_arm_raspi2_initrd(self): + """ + :avocado: tags=arch:arm + :avocado: tags=machine:raspi2 + """ + deb_url = ('http://archive.raspberrypi.org/debian/' + 'pool/main/r/raspberrypi-firmware/' + 'raspberrypi-kernel_1.20190215-1_armhf.deb') + deb_hash = 'cd284220b32128c5084037553db3c482426f3972' + deb_path = self.fetch_asset(deb_url, asset_hash=deb_hash) + kernel_path = self.extract_from_deb(deb_path, '/boot/kernel7.img') + dtb_path = self.extract_from_deb(deb_path, '/boot/bcm2709-rpi-2-b.dtb') + + initrd_url = ('https://github.com/groeck/linux-build-test/raw/' + '2eb0a73b5d5a28df3170c546ddaaa9757e1e0848/rootfs/' + 'arm/rootfs-armv7a.cpio.gz') + initrd_hash = '604b2e45cdf35045846b8bbfbf2129b1891bdc9c' + initrd_path_gz = self.fetch_asset(initrd_url, asset_hash=initrd_hash) + initrd_path = os.path.join(self.workdir, 'rootfs.cpio') + archive.gzip_uncompress(initrd_path_gz, initrd_path) + + self.vm.set_console() + kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE + + 'earlycon=pl011,0x3f201000 console=ttyAMA0 ' + 'panic=-1 noreboot ' + + 'dwc_otg.fiq_fsm_enable=0') + self.vm.add_args('-kernel', kernel_path, + '-dtb', dtb_path, + '-initrd', initrd_path, + '-append', kernel_command_line, + '-no-reboot') + self.vm.launch() + self.wait_for_console_pattern('Boot successful.') + + exec_command_and_wait_for_pattern(self, 'cat /proc/cpuinfo', + 'BCM2835') + exec_command_and_wait_for_pattern(self, 'cat /proc/iomem', + '/soc/cprman@7e101000') + exec_command(self, 'halt') + # Wait for VM to shut down gracefully + self.vm.wait() + def test_arm_exynos4210_initrd(self): """ :avocado: tags=arch:arm |