63 lines · c
1//===---- NativeRegisterContextAIX.h ----------------------------*- C++ -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLDB_SOURCE_PLUGINS_PROCESS_AIX_NATIVEREGISTERCONTEXTAIX_H10#define LLDB_SOURCE_PLUGINS_PROCESS_AIX_NATIVEREGISTERCONTEXTAIX_H11 12#include "Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h"13 14namespace lldb_private::process_aix {15 16class NativeRegisterContextAIX17 : public virtual NativeRegisterContextRegisterInfo {18protected:19 NativeRegisterContextAIX(NativeThreadProtocol &thread)20 : NativeRegisterContextRegisterInfo(thread, nullptr) {}21 22 lldb::ByteOrder GetByteOrder() const;23 24 virtual Status ReadRegisterRaw(uint32_t reg_index, RegisterValue ®_value);25 26 virtual Status WriteRegisterRaw(uint32_t reg_index,27 const RegisterValue ®_value);28 29 virtual Status ReadRegisterSet(void *buf, size_t buf_size,30 unsigned int regset);31 32 virtual Status WriteRegisterSet(void *buf, size_t buf_size,33 unsigned int regset);34 35 virtual Status ReadGPR();36 37 virtual Status WriteGPR();38 39 virtual Status ReadFPR();40 41 virtual Status WriteFPR();42 43 virtual Status ReadVMX();44 45 virtual Status WriteVMX();46 47 virtual Status ReadVSX();48 49 virtual Status WriteVSX();50 51 virtual void *GetGPRBuffer() = 0;52 53 virtual size_t GetGPRSize() = 0;54 55 virtual void *GetFPRBuffer() = 0;56 57 virtual size_t GetFPRSize() = 0;58};59 60} // namespace lldb_private::process_aix61 62#endif // #ifndef LLDB_SOURCE_PLUGINS_PROCESS_AIX_NATIVEREGISTERCONTEXTAIX_H63