29#ifndef __PC_EVENT_HH__
30#define __PC_EVENT_HH__
83 return l->pc() <
r->pc();
134 : description(desc), scope(
s), evpc(
pc)
143 panic(
"cannot remove an uninitialized event;");
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,...
BreakPCEvent(PCEventScope *s, const std::string &desc, Addr addr, bool del=false)
virtual void process(ThreadContext *tc)
bool operator()(PCEvent *const &l, PCEvent *const &r) const
bool operator()(Addr pc, PCEvent *const &r) const
bool operator()(PCEvent *const &l, Addr pc) const
range_t equal_range(PCEvent *event)
range_t equal_range(Addr pc)
std::pair< iterator, iterator > range_t
Map::const_iterator const_iterator
bool remove(PCEvent *event) override
std::vector< PCEvent * > Map
std::pair< const_iterator, const_iterator > const_range_t
bool service(Addr pc, ThreadContext *tc)
bool doService(Addr pc, ThreadContext *tc)
bool schedule(PCEvent *event) override
virtual bool schedule(PCEvent *event)=0
virtual bool remove(PCEvent *event)=0
virtual const std::string name() const
PCEvent(PCEventScope *q, const std::string &desc, Addr pc)
virtual void process(ThreadContext *tc)=0
std::string descr() const
PanicPCEvent(PCEventScope *s, const std::string &desc, Addr pc)
virtual void process(ThreadContext *tc)
ThreadContext is the external interface to all thread state for anything outside of the CPU.
#define panic(...)
This implements a cprintf based panic() function.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.