Path: blob/main/contrib/llvm-project/lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg_x86.h
96380 views
//===-- NativeRegisterContextDBReg_x86.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_NativeRegisterContextDBReg_x86_h9#define lldb_NativeRegisterContextDBReg_x86_h1011#include "Plugins/Process/Utility/NativeRegisterContextRegisterInfo.h"1213namespace lldb_private {1415class NativeRegisterContextDBReg_x8616: public virtual NativeRegisterContextRegisterInfo {17public:18// NB: This constructor is here only because gcc<=6.5 requires a virtual base19// class initializer on abstract class (even though it is never used). It can20// be deleted once we move to gcc>=7.0.21NativeRegisterContextDBReg_x86(NativeThreadProtocol &thread)22: NativeRegisterContextRegisterInfo(thread, nullptr) {}2324Status IsWatchpointHit(uint32_t wp_index, bool &is_hit) override;2526Status GetWatchpointHitIndex(uint32_t &wp_index,27lldb::addr_t trap_addr) override;2829Status IsWatchpointVacant(uint32_t wp_index, bool &is_vacant) override;3031bool ClearHardwareWatchpoint(uint32_t wp_index) override;3233Status ClearWatchpointHit(uint32_t wp_index) override;3435Status ClearAllHardwareWatchpoints() override;3637Status SetHardwareWatchpointWithIndex(lldb::addr_t addr, size_t size,38uint32_t watch_flags,39uint32_t wp_index);4041uint32_t SetHardwareWatchpoint(lldb::addr_t addr, size_t size,42uint32_t watch_flags) override;4344lldb::addr_t GetWatchpointAddress(uint32_t wp_index) override;4546uint32_t NumSupportedHardwareWatchpoints() override;4748virtual const RegisterInfo *GetDR(int num) const;49};5051} // namespace lldb_private5253#endif // #ifndef lldb_NativeRegisterContextDBReg_x86_h545556