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 liblldb_RegisterContextFreeBSD_powerpc_h_
11#define liblldb_RegisterContextFreeBSD_powerpc_h_
12
13#include "RegisterInfoInterface.h"
14
15class RegisterContextFreeBSD_powerpc
16    : public lldb_private::RegisterInfoInterface {
17public:
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
28class RegisterContextFreeBSD_powerpc32 : public RegisterContextFreeBSD_powerpc {
29public:
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
40class RegisterContextFreeBSD_powerpc64 : public RegisterContextFreeBSD_powerpc {
41public:
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 // liblldb_RegisterContextFreeBSD_powerpc_h_
53