summaryrefslogtreecommitdiff
path: root/src/arch/arm/remote_gdb.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/arm/remote_gdb.hh')
-rw-r--r--src/arch/arm/remote_gdb.hh15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/arch/arm/remote_gdb.hh b/src/arch/arm/remote_gdb.hh
index 10fcb6d4a..3e4c5ef8d 100644
--- a/src/arch/arm/remote_gdb.hh
+++ b/src/arch/arm/remote_gdb.hh
@@ -1,7 +1,7 @@
/*
* Copyright 2015 LabWare
* Copyright 2014 Google, Inc.
- * Copyright (c) 2013, 2016 ARM Limited
+ * Copyright (c) 2013, 2016, 2018 ARM Limited
* All rights reserved
*
* The license below extends only to copyright in the software and shall
@@ -50,6 +50,7 @@
#include <algorithm>
+#include "arch/arm/registers.hh"
#include "arch/arm/utility.hh"
#include "base/compiler.hh"
#include "base/remote_gdb.hh"
@@ -71,9 +72,9 @@ class RemoteGDB : public BaseRemoteGDB
private:
struct {
uint32_t gpr[16];
- uint32_t fpr[8*3];
- uint32_t fpscr;
uint32_t cpsr;
+ uint64_t fpr[32];
+ uint32_t fpscr;
} M5_ATTR_PACKED r;
public:
char *data() const { return (char *)&r; }
@@ -97,6 +98,8 @@ class RemoteGDB : public BaseRemoteGDB
uint64_t pc;
uint32_t cpsr;
VecElem v[NumVecV8ArchRegs * NumVecElemPerVecReg];
+ uint32_t fpsr;
+ uint32_t fpcr;
} M5_ATTR_PACKED r;
public:
char *data() const { return (char *)&r; }
@@ -116,6 +119,12 @@ class RemoteGDB : public BaseRemoteGDB
public:
RemoteGDB(System *_system, ThreadContext *tc, int _port);
BaseGdbRegCache *gdbRegs();
+ std::vector<std::string>
+ availableFeatures() const
+ {
+ return {"qXfer:features:read+"};
+ };
+ bool getXferFeaturesRead(const std::string &annex, std::string &output);
};
} // namespace ArmISA