summaryrefslogtreecommitdiff
path: root/src/base/remote_gdb.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/remote_gdb.hh')
-rw-r--r--src/base/remote_gdb.hh29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/base/remote_gdb.hh b/src/base/remote_gdb.hh
index 82a1e15bc..123376cd0 100644
--- a/src/base/remote_gdb.hh
+++ b/src/base/remote_gdb.hh
@@ -1,4 +1,15 @@
/*
+ * Copyright (c) 2018 ARM Limited
+ *
+ * The license below extends only to copyright in the software and shall
+ * not be construed as granting a license to any other intellectual
+ * property including but not limited to intellectual property relating
+ * to a hardware implementation of the functionality of the software
+ * licensed hereunder. You may use the software subject to the license
+ * terms below provided that you ensure that this notice is replicated
+ * unmodified and in its entirety in all distributions of the software,
+ * modified or unmodified, in source code or in binary form.
+ *
* Copyright 2015 LabWare
* Copyright 2014 Google, Inc.
* Copyright (c) 2002-2005 The Regents of The University of Michigan
@@ -276,12 +287,30 @@ class BaseRemoteGDB
ThreadContext *context() { return tc; }
System *system() { return sys; }
+ void encodeBinaryData(const std::string &unencoded,
+ std::string &encoded) const;
+
+ void encodeXferResponse(const std::string &unencoded,
+ std::string &encoded, size_t offset, size_t unencoded_length) const;
+
// To be implemented by subclasses.
virtual bool checkBpLen(size_t len);
virtual BaseGdbRegCache *gdbRegs() = 0;
virtual bool acc(Addr addr, size_t len) = 0;
+
+ virtual std::vector<std::string> availableFeatures() const;
+
+ /**
+ * Get an XML target description.
+ *
+ * @param[in] annex the XML filename
+ * @param[out] output set to the decoded XML
+ * @return true if the given annex was found
+ */
+ virtual bool getXferFeaturesRead(const std::string &annex,
+ std::string &output);
};
template <class T>