1 //===-- RegisterContextFreeBSD_powerpc.h -------------------------*- C++
2 //-*-===//
3 //
4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5 // See https://llvm.org/LICENSE.txt for license information.
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTFREEBSD_POWERPC_H
11 #define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTFREEBSD_POWERPC_H
12 
13 #include "RegisterInfoInterface.h"
14 
15 class RegisterContextFreeBSD_powerpc
16     : public lldb_private::RegisterInfoInterface {
17 public:
18   RegisterContextFreeBSD_powerpc(const lldb_private::ArchSpec &target_arch);
19   ~RegisterContextFreeBSD_powerpc() override;
20 
21   size_t GetGPRSize() const override;
22 
23   const lldb_private::RegisterInfo *GetRegisterInfo() const override;
24 
25   uint32_t GetRegisterCount() const override;
26 };
27 
28 class RegisterContextFreeBSD_powerpc32 : public RegisterContextFreeBSD_powerpc {
29 public:
30   RegisterContextFreeBSD_powerpc32(const lldb_private::ArchSpec &target_arch);
31   ~RegisterContextFreeBSD_powerpc32() override;
32 
33   size_t GetGPRSize() const override;
34 
35   const lldb_private::RegisterInfo *GetRegisterInfo() const override;
36 
37   uint32_t GetRegisterCount() const override;
38 };
39 
40 class RegisterContextFreeBSD_powerpc64 : public RegisterContextFreeBSD_powerpc {
41 public:
42   RegisterContextFreeBSD_powerpc64(const lldb_private::ArchSpec &target_arch);
43   ~RegisterContextFreeBSD_powerpc64() override;
44 
45   size_t GetGPRSize() const override;
46 
47   const lldb_private::RegisterInfo *GetRegisterInfo() const override;
48 
49   uint32_t GetRegisterCount() const override;
50 };
51 
52 #endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTFREEBSD_POWERPC_H
53