xref: /qemu/tests/functional/test_x86_64_reverse_debug.py (revision cc944932ecef3b7a56ae62d89dd92fb9e56c5cc8)
1#!/usr/bin/env python3
2#
3# SPDX-License-Identifier: GPL-2.0-or-later
4#
5# Reverse debugging test
6#
7# Copyright (c) 2020 ISP RAS
8#
9# Author:
10#  Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
11#
12# This work is licensed under the terms of the GNU GPL, version 2 or
13# later.  See the COPYING file in the top-level directory.
14
15from qemu_test import skipIfMissingImports, skipFlakyTest
16from reverse_debugging import ReverseDebugging
17
18
19@skipIfMissingImports('avocado.utils')
20class ReverseDebugging_X86_64(ReverseDebugging):
21
22    REG_PC = 0x10
23    REG_CS = 0x12
24    def get_pc(self, g):
25        return self.get_reg_le(g, self.REG_PC) \
26            + self.get_reg_le(g, self.REG_CS) * 0x10
27
28    @skipFlakyTest("https://gitlab.com/qemu-project/qemu/-/issues/2922")
29    def test_x86_64_pc(self):
30        self.set_machine('pc')
31        # start with BIOS only
32        self.reverse_debugging()
33
34
35if __name__ == '__main__':
36    ReverseDebugging.main()
37