mem-cache: Fix setting prefetch bit
[gem5.git] / src / sim / kernel_workload.hh
index b88051a5573cba709d870c9f428528b1aacfb453..e2aff08fdb750d64ec1c2746293d66f9fa8e8897 100644 (file)
@@ -69,7 +69,9 @@ class KernelWorkload : public Workload
     std::vector<Loader::ObjectFile *> extras;
 
     Loader::ObjectFile *kernelObj = nullptr;
-    Loader::SymbolTable *kernelSymtab = nullptr;
+    // Keep a separate copy of the kernel's symbol table so we can add things
+    // to it.
+    Loader::SymbolTable kernelSymtab;
 
     const std::string commandLine;
 
@@ -82,7 +84,6 @@ class KernelWorkload : public Workload
     Addr loadAddrOffset() const { return _loadAddrOffset; }
 
     KernelWorkload(const Params &p);
-    ~KernelWorkload();
 
     Addr getEntry() const override { return kernelObj->entryPoint(); }
     Loader::Arch
@@ -91,16 +92,16 @@ class KernelWorkload : public Workload
         return kernelObj->getArch();
     }
 
-    const Loader::SymbolTable *
+    const Loader::SymbolTable &
     symtab(ThreadContext *tc) override
     {
         return kernelSymtab;
     }
 
     bool
-    insertSymbol(Addr address, const std::string &symbol) override
+    insertSymbol(const Loader::Symbol &symbol) override
     {
-        return kernelSymtab->insert(address, symbol);
+        return kernelSymtab.insert(symbol);
     }
 
     void initState() override;