aboutsummaryrefslogtreecommitdiff
path: root/fesvr/dtm.h
diff options
context:
space:
mode:
Diffstat (limited to 'fesvr/dtm.h')
-rw-r--r--fesvr/dtm.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/fesvr/dtm.h b/fesvr/dtm.h
index 1f5ee3e..f47b648 100644
--- a/fesvr/dtm.h
+++ b/fesvr/dtm.h
@@ -55,6 +55,12 @@ class dtm_t : public htif_t
void producer_thread();
+ void switch_to_host() {
+ // update the target with the current context
+ target = context_t::current();
+ host.switch_to();
+ }
+
protected:
virtual void read_chunk(addr_t taddr, size_t len, void* dst) override;
virtual void write_chunk(addr_t taddr, size_t len, const void* src) override;
@@ -74,6 +80,10 @@ class dtm_t : public htif_t
void resume(int);
uint32_t get_data_base() { return data_base; };
+ void switch_to_target() {
+ target->switch_to();
+ }
+
private:
context_t host;
context_t* target;