xref: /freebsd/contrib/llvm-project/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_powerpc.h (revision e25152834cdf3b353892835a4f3b157e066a8ed4)
10b57cec5SDimitry Andric //===-- RegisterContextFreeBSD_powerpc.h -------------------------*- C++
20b57cec5SDimitry Andric //-*-===//
30b57cec5SDimitry Andric //
40b57cec5SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
50b57cec5SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
60b57cec5SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
70b57cec5SDimitry Andric //
80b57cec5SDimitry Andric //===----------------------------------------------------------------------===//
90b57cec5SDimitry Andric 
10*5ffd83dbSDimitry Andric #ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTFREEBSD_POWERPC_H
11*5ffd83dbSDimitry Andric #define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTFREEBSD_POWERPC_H
120b57cec5SDimitry Andric 
130b57cec5SDimitry Andric #include "RegisterInfoInterface.h"
140b57cec5SDimitry Andric 
150b57cec5SDimitry Andric class RegisterContextFreeBSD_powerpc
160b57cec5SDimitry Andric     : public lldb_private::RegisterInfoInterface {
170b57cec5SDimitry Andric public:
180b57cec5SDimitry Andric   RegisterContextFreeBSD_powerpc(const lldb_private::ArchSpec &target_arch);
190b57cec5SDimitry Andric   ~RegisterContextFreeBSD_powerpc() override;
200b57cec5SDimitry Andric 
210b57cec5SDimitry Andric   size_t GetGPRSize() const override;
220b57cec5SDimitry Andric 
230b57cec5SDimitry Andric   const lldb_private::RegisterInfo *GetRegisterInfo() const override;
240b57cec5SDimitry Andric 
250b57cec5SDimitry Andric   uint32_t GetRegisterCount() const override;
260b57cec5SDimitry Andric };
270b57cec5SDimitry Andric 
280b57cec5SDimitry Andric class RegisterContextFreeBSD_powerpc32 : public RegisterContextFreeBSD_powerpc {
290b57cec5SDimitry Andric public:
300b57cec5SDimitry Andric   RegisterContextFreeBSD_powerpc32(const lldb_private::ArchSpec &target_arch);
310b57cec5SDimitry Andric   ~RegisterContextFreeBSD_powerpc32() override;
320b57cec5SDimitry Andric 
330b57cec5SDimitry Andric   size_t GetGPRSize() const override;
340b57cec5SDimitry Andric 
350b57cec5SDimitry Andric   const lldb_private::RegisterInfo *GetRegisterInfo() const override;
360b57cec5SDimitry Andric 
370b57cec5SDimitry Andric   uint32_t GetRegisterCount() const override;
380b57cec5SDimitry Andric };
390b57cec5SDimitry Andric 
400b57cec5SDimitry Andric class RegisterContextFreeBSD_powerpc64 : public RegisterContextFreeBSD_powerpc {
410b57cec5SDimitry Andric public:
420b57cec5SDimitry Andric   RegisterContextFreeBSD_powerpc64(const lldb_private::ArchSpec &target_arch);
430b57cec5SDimitry Andric   ~RegisterContextFreeBSD_powerpc64() override;
440b57cec5SDimitry Andric 
450b57cec5SDimitry Andric   size_t GetGPRSize() const override;
460b57cec5SDimitry Andric 
470b57cec5SDimitry Andric   const lldb_private::RegisterInfo *GetRegisterInfo() const override;
480b57cec5SDimitry Andric 
490b57cec5SDimitry Andric   uint32_t GetRegisterCount() const override;
500b57cec5SDimitry Andric };
510b57cec5SDimitry Andric 
52*5ffd83dbSDimitry Andric #endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_REGISTERCONTEXTFREEBSD_POWERPC_H
53