mem-cache: Add multiple eviction stats
[gem5.git] / src / arch / arm / remote_gdb.hh
index 10fcb6d4a7aa0978f0e845a711e585d2f7acbc74..e52ed663ab0062ec41d33bc9429113b4418d8f77 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Copyright 2015 LabWare
  * Copyright 2014 Google, Inc.
- * Copyright (c) 2013, 2016 ARM Limited
+ * Copyright (c) 2013, 2016, 2018-2019 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; }
@@ -96,7 +97,9 @@ class RemoteGDB : public BaseRemoteGDB
           uint64_t spx;
           uint64_t pc;
           uint32_t cpsr;
-          VecElem v[NumVecV8ArchRegs * NumVecElemPerVecReg];
+          VecElem v[NumVecV8ArchRegs * NumVecElemPerNeonVecReg];
+          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