xref: /openbmc/qemu/tests/functional/test_ppc64_reverse_debug.py (revision 55f5bf716a65f67663d0769bcb8c017764b3e53a)
1*951ededfSThomas Huth#!/usr/bin/env python3
2*951ededfSThomas Huth#
3*951ededfSThomas Huth# SPDX-License-Identifier: GPL-2.0-or-later
4*951ededfSThomas Huth#
5*951ededfSThomas Huth# Reverse debugging test
6*951ededfSThomas Huth#
7*951ededfSThomas Huth# Copyright (c) 2020 ISP RAS
8*951ededfSThomas Huth#
9*951ededfSThomas Huth# Author:
10*951ededfSThomas Huth#  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
11*951ededfSThomas Huth#
12*951ededfSThomas Huth# This work is licensed under the terms of the GNU GPL, version 2 or
13*951ededfSThomas Huth# later.  See the COPYING file in the top-level directory.
14*951ededfSThomas Huth
15*951ededfSThomas Huthfrom qemu_test import skipIfMissingImports, skipFlakyTest
16*951ededfSThomas Huthfrom reverse_debugging import ReverseDebugging
17*951ededfSThomas Huth
18*951ededfSThomas Huth
19*951ededfSThomas Huth@skipIfMissingImports('avocado.utils')
20*951ededfSThomas Huthclass ReverseDebugging_ppc64(ReverseDebugging):
21*951ededfSThomas Huth
22*951ededfSThomas Huth    REG_PC = 0x40
23*951ededfSThomas Huth
24*951ededfSThomas Huth    @skipFlakyTest("https://gitlab.com/qemu-project/qemu/-/issues/1992")
25*951ededfSThomas Huth    def test_ppc64_pseries(self):
26*951ededfSThomas Huth        self.set_machine('pseries')
27*951ededfSThomas Huth        # SLOF branches back to its entry point, which causes this test
28*951ededfSThomas Huth        # to take the 'hit a breakpoint again' path. That's not a problem,
29*951ededfSThomas Huth        # just slightly different than the other machines.
30*951ededfSThomas Huth        self.endian_is_le = False
31*951ededfSThomas Huth        self.reverse_debugging()
32*951ededfSThomas Huth
33*951ededfSThomas Huth    @skipFlakyTest("https://gitlab.com/qemu-project/qemu/-/issues/1992")
34*951ededfSThomas Huth    def test_ppc64_powernv(self):
35*951ededfSThomas Huth        self.set_machine('powernv')
36*951ededfSThomas Huth        self.endian_is_le = False
37*951ededfSThomas Huth        self.reverse_debugging()
38*951ededfSThomas Huth
39*951ededfSThomas Huth
40*951ededfSThomas Huthif __name__ == '__main__':
41*951ededfSThomas Huth    ReverseDebugging.main()
42