Files
BloomPatched/src/Targets/TargetBreakpoint.hpp

41 lines
881 B
C++
Raw Normal View History

2021-04-04 21:04:12 +01:00
#pragma once
#include <cstdint>
2023-09-20 23:37:54 +01:00
#include <optional>
#include <cassert>
2021-04-04 21:04:12 +01:00
#include "TargetMemory.hpp"
#include "TargetAddressSpaceDescriptor.hpp"
#include "TargetMemorySegmentDescriptor.hpp"
namespace Targets
2021-04-04 21:04:12 +01:00
{
2023-09-20 23:37:54 +01:00
enum class TargetBreakCause: std::uint8_t
2021-04-04 21:04:12 +01:00
{
BREAKPOINT,
UNKNOWN,
};
struct TargetProgramBreakpoint
2021-04-04 21:04:12 +01:00
{
2023-09-20 23:37:54 +01:00
enum class Type: std::uint8_t
{
HARDWARE,
SOFTWARE,
};
const TargetAddressSpaceDescriptor& addressSpaceDescriptor;
const TargetMemorySegmentDescriptor& memorySegmentDescriptor;
TargetMemoryAddress address;
TargetMemorySize size;
Type type;
2023-09-20 23:37:54 +01:00
};
struct BreakpointResources
{
std::uint32_t hardwareBreakpoints = 0;
std::uint32_t softwareBreakpoints = 0;
std::uint32_t reservedHardwareBreakpoints = 0;
2021-04-04 21:04:12 +01:00
};
}