Lines Matching full:self
35 def set_up_boot(self, path): argument
36 self.vm.add_args('-device', 'virtio-blk-pci,bus=pcie.0,' +
38 'werror=stop,rerror=stop' + self.IOMMU_ADDON)
39 self.vm.add_args('-drive',
42 self.vm.add_args('-netdev',
44 self.GUEST_PORT)
45 self.vm.add_args('-device', 'virtio-net,netdev=n1' + self.IOMMU_ADDON)
47 def common_vm_setup(self, kernel, initrd, disk): argument
48 if hvf_available(self.qemu_bin):
50 elif kvm_available(self.qemu_bin):
53 self.skipTest("Neither HVF nor KVM accelerator is available")
54 self.require_accelerator(accel)
55 self.require_netdev('user')
56 self.set_machine("virt")
57 self.vm.add_args('-m', '1G')
58 self.vm.add_args("-accel", accel)
59 self.vm.add_args("-cpu", "host")
60 self.vm.add_args("-machine", "iommu=smmuv3")
61 self.vm.add_args("-d", "guest_errors")
62 self.vm.add_args('-bios', os.path.join(BUILD_DIR, 'pc-bios',
64 self.vm.add_args('-device', 'virtio-rng-pci,rng=rng0')
65 self.vm.add_args('-object',
68 self.kernel_path = kernel.fetch()
69 self.initrd_path = initrd.fetch()
70 self.set_up_boot(disk.fetch())
72 def run_and_check(self, filename, hashsum): argument
73 self.vm.add_args('-initrd', self.initrd_path)
74 self.vm.add_args('-append', self.kernel_params)
75 self.launch_kernel(self.kernel_path, initrd=self.initrd_path,
81 self.wait_for_console_pattern(':')
83 exec_command_and_wait_for_pattern(self, '\n', prompt)
84 exec_command_and_wait_for_pattern(self, 'cat /proc/cmdline',
85 self.kernel_params)
88 self.log.info("Checking whether SMMU has been enabled...")
89 exec_command_and_wait_for_pattern(self, 'dmesg | grep smmu',
91 self.wait_for_console_pattern(prompt)
92 exec_command_and_wait_for_pattern(self,
95 self.wait_for_console_pattern(prompt)
98 self.log.info("Checking hard disk...")
99 exec_command_and_wait_for_pattern(self,
102 exec_command_and_wait_for_pattern(self, 'mount /dev/vda2 /sysroot',
104 exec_command_and_wait_for_pattern(self, 'cp /bin/vi /sysroot/root/vi',
106 exec_command_and_wait_for_pattern(self, 'umount /sysroot', prompt)
108 exec_command_and_wait_for_pattern(self, 'mount /dev/vda2 /sysroot',
110 exec_command_and_wait_for_pattern(self,
113 exec_command_and_wait_for_pattern(self, 'chroot /sysroot', prompt)
115 exec_command_and_wait_for_pattern(self,
118 self.wait_for_console_pattern(prompt)
119 exec_command_and_wait_for_pattern(self, f'sha256sum {filename}',
123 exec_command_and_wait_for_pattern(self, 'dhclient eth0', prompt)
124 self.check_http_download(filename, hashsum, self.GUEST_PORT)
147 def test_smmu_noril(self): argument
148 self.common_vm_setup(self.ASSET_KERNEL_F31, self.ASSET_INITRD_F31,
149 self.ASSET_DISK_F31)
150 self.kernel_params = self.default_kernel_params
151 self.run_and_check(self.F31_FILENAME, self.F31_HSUM)
153 def test_smmu_noril_passthrough(self): argument
154 self.common_vm_setup(self.ASSET_KERNEL_F31, self.ASSET_INITRD_F31,
155 self.ASSET_DISK_F31)
156 self.kernel_params = (self.default_kernel_params +
158 self.run_and_check(self.F31_FILENAME, self.F31_HSUM)
160 def test_smmu_noril_nostrict(self): argument
161 self.common_vm_setup(self.ASSET_KERNEL_F31, self.ASSET_INITRD_F31,
162 self.ASSET_DISK_F31)
163 self.kernel_params = (self.default_kernel_params +
165 self.run_and_check(self.F31_FILENAME, self.F31_HSUM)
189 def test_smmu_ril(self): argument
190 self.common_vm_setup(self.ASSET_KERNEL_F33, self.ASSET_INITRD_F33,
191 self.ASSET_DISK_F33)
192 self.kernel_params = self.default_kernel_params
193 self.run_and_check(self.F33_FILENAME, self.F33_HSUM)
195 def test_smmu_ril_passthrough(self): argument
196 self.common_vm_setup(self.ASSET_KERNEL_F33, self.ASSET_INITRD_F33,
197 self.ASSET_DISK_F33)
198 self.kernel_params = (self.default_kernel_params +
200 self.run_and_check(self.F33_FILENAME, self.F33_HSUM)
202 def test_smmu_ril_nostrict(self): argument
203 self.common_vm_setup(self.ASSET_KERNEL_F33, self.ASSET_INITRD_F33,
204 self.ASSET_DISK_F33)
205 self.kernel_params = (self.default_kernel_params +
207 self.run_and_check(self.F33_FILENAME, self.F33_HSUM)