Path: blob/main/contrib/llvm-project/lldb/source/Plugins/Process/AIX/NativeRegisterContextAIX.h
213845 views
//===---- NativeRegisterContextAIX.h ----------------------------*- C++ -*-===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#ifndef LLDB_SOURCE_PLUGINS_PROCESS_AIX_NATIVEREGISTERCONTEXTAIX_H9#define LLDB_SOURCE_PLUGINS_PROCESS_AIX_NATIVEREGISTERCONTEXTAIX_H1011#include "Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h"1213namespace lldb_private::process_aix {1415class NativeRegisterContextAIX16: public virtual NativeRegisterContextRegisterInfo {17protected:18NativeRegisterContextAIX(NativeThreadProtocol &thread)19: NativeRegisterContextRegisterInfo(thread, nullptr) {}2021lldb::ByteOrder GetByteOrder() const;2223virtual Status ReadRegisterRaw(uint32_t reg_index, RegisterValue ®_value);2425virtual Status WriteRegisterRaw(uint32_t reg_index,26const RegisterValue ®_value);2728virtual Status ReadRegisterSet(void *buf, size_t buf_size,29unsigned int regset);3031virtual Status WriteRegisterSet(void *buf, size_t buf_size,32unsigned int regset);3334virtual Status ReadGPR();3536virtual Status WriteGPR();3738virtual Status ReadFPR();3940virtual Status WriteFPR();4142virtual Status ReadVMX();4344virtual Status WriteVMX();4546virtual Status ReadVSX();4748virtual Status WriteVSX();4950virtual void *GetGPRBuffer() = 0;5152virtual size_t GetGPRSize() = 0;5354virtual void *GetFPRBuffer() = 0;5556virtual size_t GetFPRSize() = 0;57};5859} // namespace lldb_private::process_aix6061#endif // #ifndef LLDB_SOURCE_PLUGINS_PROCESS_AIX_NATIVEREGISTERCONTEXTAIX_H626364