brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · e78483a Raw
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 &reg_value);25 26  virtual Status WriteRegisterRaw(uint32_t reg_index,27                                  const RegisterValue &reg_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