summaryrefslogtreecommitdiffstats
path: root/debug/risc-v-gsp-rm-vm/greeneye/errors.py
diff options
context:
space:
mode:
Diffstat (limited to 'debug/risc-v-gsp-rm-vm/greeneye/errors.py')
-rw-r--r--debug/risc-v-gsp-rm-vm/greeneye/errors.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/debug/risc-v-gsp-rm-vm/greeneye/errors.py b/debug/risc-v-gsp-rm-vm/greeneye/errors.py
new file mode 100644
index 0000000..fab5874
--- /dev/null
+++ b/debug/risc-v-gsp-rm-vm/greeneye/errors.py
@@ -0,0 +1,30 @@
+"""green-eye error types. Keep them few and meaningful."""
+from __future__ import annotations
+
+
+class GreenEyeError(Exception):
+ """Base class for all green-eye errors."""
+
+
+class RspError(GreenEyeError):
+ """Base class for gdbstub RSP transport errors."""
+
+
+class RspTimeout(RspError):
+ """The stub did not answer within the timeout."""
+
+
+class RspProtocolError(RspError):
+ """The stub answered with a malformed packet or an error reply."""
+
+
+class TargetError(GreenEyeError):
+ """QEMU target lifecycle/configuration error."""
+
+
+class SymbolNotFound(GreenEyeError):
+ """A requested symbol is not in the symbol database."""
+
+
+class StructError(GreenEyeError):
+ """Structure schema/decode error."""