mirror of https://github.com/xemu-project/xemu.git
tests/avocado: Add ppc64 pseries multiprocessor boot tests
Add mult-thread/core/socket Linux boot tests that ensure the right topology comes up. Of particular note is a SMT test, which is a new capability for TCG. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Reviewed-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: Cédric Le Goater <clg@kaod.org>
This commit is contained in:
parent
8f4c627b2f
commit
242e8b4dca
|
@ -14,12 +14,9 @@ class pseriesMachine(QemuSystemTest):
|
|||
timeout = 90
|
||||
KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 '
|
||||
panic_message = 'Kernel panic - not syncing'
|
||||
good_message = 'VFS: Cannot open root device'
|
||||
|
||||
def test_ppc64_pseries(self):
|
||||
"""
|
||||
:avocado: tags=arch:ppc64
|
||||
:avocado: tags=machine:pseries
|
||||
"""
|
||||
def do_test_ppc64_linux_boot(self):
|
||||
kernel_url = ('https://archives.fedoraproject.org/pub/archive'
|
||||
'/fedora-secondary/releases/29/Everything/ppc64le/os'
|
||||
'/ppc/ppc64/vmlinuz')
|
||||
|
@ -31,5 +28,58 @@ class pseriesMachine(QemuSystemTest):
|
|||
self.vm.add_args('-kernel', kernel_path,
|
||||
'-append', kernel_command_line)
|
||||
self.vm.launch()
|
||||
|
||||
def test_ppc64_linux_boot(self):
|
||||
"""
|
||||
:avocado: tags=arch:ppc64
|
||||
:avocado: tags=machine:pseries
|
||||
"""
|
||||
|
||||
self.do_test_ppc64_linux_boot()
|
||||
console_pattern = 'VFS: Cannot open root device'
|
||||
wait_for_console_pattern(self, console_pattern, self.panic_message)
|
||||
|
||||
def test_ppc64_linux_smp_boot(self):
|
||||
"""
|
||||
:avocado: tags=arch:ppc64
|
||||
:avocado: tags=machine:pseries
|
||||
"""
|
||||
|
||||
self.vm.add_args('-smp', '4')
|
||||
self.do_test_ppc64_linux_boot()
|
||||
console_pattern = 'smp: Brought up 1 node, 4 CPUs'
|
||||
wait_for_console_pattern(self, console_pattern, self.panic_message)
|
||||
wait_for_console_pattern(self, self.good_message, self.panic_message)
|
||||
|
||||
def test_ppc64_linux_smt_boot(self):
|
||||
"""
|
||||
:avocado: tags=arch:ppc64
|
||||
:avocado: tags=machine:pseries
|
||||
"""
|
||||
|
||||
self.vm.add_args('-smp', '4,threads=4')
|
||||
self.do_test_ppc64_linux_boot()
|
||||
console_pattern = 'CPU maps initialized for 4 threads per core'
|
||||
wait_for_console_pattern(self, console_pattern, self.panic_message)
|
||||
console_pattern = 'smp: Brought up 1 node, 4 CPUs'
|
||||
wait_for_console_pattern(self, console_pattern, self.panic_message)
|
||||
wait_for_console_pattern(self, self.good_message, self.panic_message)
|
||||
|
||||
def test_ppc64_linux_big_boot(self):
|
||||
"""
|
||||
:avocado: tags=arch:ppc64
|
||||
:avocado: tags=machine:pseries
|
||||
"""
|
||||
|
||||
self.vm.add_args('-smp', '16,threads=4,cores=2,sockets=2')
|
||||
self.vm.add_args('-m', '512M',
|
||||
'-object', 'memory-backend-ram,size=256M,id=m0',
|
||||
'-object', 'memory-backend-ram,size=256M,id=m1')
|
||||
self.vm.add_args('-numa', 'node,nodeid=0,memdev=m0')
|
||||
self.vm.add_args('-numa', 'node,nodeid=1,memdev=m1')
|
||||
self.do_test_ppc64_linux_boot()
|
||||
console_pattern = 'CPU maps initialized for 4 threads per core'
|
||||
wait_for_console_pattern(self, console_pattern, self.panic_message)
|
||||
console_pattern = 'smp: Brought up 2 nodes, 16 CPUs'
|
||||
wait_for_console_pattern(self, console_pattern, self.panic_message)
|
||||
wait_for_console_pattern(self, self.good_message, self.panic_message)
|
||||
|
|
Loading…
Reference in New Issue