Gabe Black has submitted this change and it was merged. ( https://gem5-review.googlesource.com/c/public/gem5/+/18368 )

Change subject: x86: Fix some style issues in stacktrace.cc.
......................................................................

x86: Fix some style issues in stacktrace.cc.

De-indent the X86ISA namespace, and wrap some overly long lines.

Change-Id: I01a6b66a1cf721e16e4ed4dd1c3469ee112e9177
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/18368
Reviewed-by: Jason Lowe-Power <ja...@lowepower.com>
Maintainer: Jason Lowe-Power <ja...@lowepower.com>
Tested-by: kokoro <noreply+kok...@google.com>
---
M src/arch/x86/stacktrace.cc
1 file changed, 155 insertions(+), 143 deletions(-)

Approvals:
  Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/arch/x86/stacktrace.cc b/src/arch/x86/stacktrace.cc
index ca2a691..70285e1 100644
--- a/src/arch/x86/stacktrace.cc
+++ b/src/arch/x86/stacktrace.cc
@@ -44,179 +44,191 @@
 using namespace std;
 namespace X86ISA
 {
-    ProcessInfo::ProcessInfo(ThreadContext *_tc)
-        : tc(_tc)
-    {
-        Addr addr = 0;

-        FSTranslatingPortProxy &vp = tc->getVirtProxy();
+ProcessInfo::ProcessInfo(ThreadContext *_tc)
+    : tc(_tc)
+{
+    Addr addr = 0;

- if (!tc->getSystemPtr()->kernelSymtab->findAddress("thread_info_size", addr))
-            panic("thread info not compiled into kernel\n");
-        thread_info_size = vp.readGtoH<int32_t>(addr);
+    FSTranslatingPortProxy &vp = tc->getVirtProxy();

- if (!tc->getSystemPtr()->kernelSymtab->findAddress("task_struct_size", addr))
-            panic("thread info not compiled into kernel\n");
-        task_struct_size = vp.readGtoH<int32_t>(addr);
-
- if (!tc->getSystemPtr()->kernelSymtab->findAddress("thread_info_task", addr))
-            panic("thread info not compiled into kernel\n");
-        task_off = vp.readGtoH<int32_t>(addr);
-
- if (!tc->getSystemPtr()->kernelSymtab->findAddress("task_struct_pid", addr))
-            panic("thread info not compiled into kernel\n");
-        pid_off = vp.readGtoH<int32_t>(addr);
-
- if (!tc->getSystemPtr()->kernelSymtab->findAddress("task_struct_comm", addr))
-            panic("thread info not compiled into kernel\n");
-        name_off = vp.readGtoH<int32_t>(addr);
+    if (!tc->getSystemPtr()->kernelSymtab->findAddress(
+                "thread_info_size", addr)) {
+        panic("thread info not compiled into kernel\n");
     }
+    thread_info_size = vp.readGtoH<int32_t>(addr);

-    Addr
-    ProcessInfo::task(Addr ksp) const
-    {
-        Addr base = ksp & ~0x3fff;
-        if (base == ULL(0xfffffc0000000000))
-            return 0;
-
-        Addr tsk;
-
-        FSTranslatingPortProxy &vp = tc->getVirtProxy();
-        tsk = vp.readGtoH<Addr>(base + task_off);
-
-        return tsk;
+    if (!tc->getSystemPtr()->kernelSymtab->findAddress(
+                "task_struct_size", addr)) {
+        panic("thread info not compiled into kernel\n");
     }
+    task_struct_size = vp.readGtoH<int32_t>(addr);

-    int
-    ProcessInfo::pid(Addr ksp) const
-    {
-        Addr task = this->task(ksp);
-        if (!task)
-            return -1;
-
-        uint16_t pd;
-
-        FSTranslatingPortProxy &vp = tc->getVirtProxy();
-        pd = vp.readGtoH<uint16_t>(task + pid_off);
-
-        return pd;
+    if (!tc->getSystemPtr()->kernelSymtab->findAddress(
+                "thread_info_task", addr)) {
+        panic("thread info not compiled into kernel\n");
     }
+    task_off = vp.readGtoH<int32_t>(addr);

-    string
-    ProcessInfo::name(Addr ksp) const
-    {
-        Addr task = this->task(ksp);
-        if (!task)
-            return "console";
-
-        char comm[256];
-        CopyStringOut(tc, comm, task + name_off, sizeof(comm));
-        if (!comm[0])
-            return "startup";
-
-        return comm;
+    if (!tc->getSystemPtr()->kernelSymtab->findAddress(
+                "task_struct_pid", addr)) {
+        panic("thread info not compiled into kernel\n");
     }
+    pid_off = vp.readGtoH<int32_t>(addr);

-    StackTrace::StackTrace()
-        : tc(0), stack(64)
-    {
+    if (!tc->getSystemPtr()->kernelSymtab->findAddress(
+                "task_struct_comm", addr)) {
+        panic("thread info not compiled into kernel\n");
     }
+    name_off = vp.readGtoH<int32_t>(addr);
+}

-    StackTrace::StackTrace(ThreadContext *_tc, const StaticInstPtr &inst)
-        : tc(0), stack(64)
-    {
-        trace(_tc, inst);
-    }
+Addr
+ProcessInfo::task(Addr ksp) const
+{
+    Addr base = ksp & ~0x3fff;
+    if (base == ULL(0xfffffc0000000000))
+        return 0;

-    StackTrace::~StackTrace()
-    {
-    }
+    Addr tsk;

-    void
-    StackTrace::trace(ThreadContext *_tc, bool is_call)
-    {
-    }
+    FSTranslatingPortProxy &vp = tc->getVirtProxy();
+    tsk = vp.readGtoH<Addr>(base + task_off);

-    bool
-    StackTrace::isEntry(Addr addr)
-    {
-        return false;
-    }
+    return tsk;
+}

-    bool
-    StackTrace::decodeStack(MachInst inst, int &disp)
-    {
-        disp = 0;
-        return true;
-    }
+int
+ProcessInfo::pid(Addr ksp) const
+{
+    Addr task = this->task(ksp);
+    if (!task)
+        return -1;

-    bool
-    StackTrace::decodeSave(MachInst inst, int &reg, int &disp)
-    {
-        reg = 0;
-        disp = 0;
-        return true;
-    }
+    uint16_t pd;

-    /*
-     * Decode the function prologue for the function we're in, and note
-     * which registers are stored where, and how large the stack frame is.
-     */
-    bool
-    StackTrace::decodePrologue(Addr sp, Addr callpc, Addr func,
-                               int &size, Addr &ra)
-    {
-        size = 0;
-        ra = 0;
+    FSTranslatingPortProxy &vp = tc->getVirtProxy();
+    pd = vp.readGtoH<uint16_t>(task + pid_off);

-        for (Addr pc = func; pc < callpc; pc += sizeof(MachInst)) {
-            MachInst inst;
-            CopyOut(tc, (uint8_t *)&inst, pc, sizeof(MachInst));
+    return pd;
+}

-            int reg, disp;
-            if (decodeStack(inst, disp)) {
-                if (size) {
-                    // panic("decoding frame size again");
-                    return true;
-                }
-                size += disp;
-            } else if (decodeSave(inst, reg, disp)) {
-                if (!ra && reg == ReturnAddressReg) {
-                    CopyOut(tc, (uint8_t *)&ra, sp + disp, sizeof(Addr));
-                    if (!ra) {
-                        // panic("no return address value pc=%#x\n", pc);
-                        return false;
-                    }
+string
+ProcessInfo::name(Addr ksp) const
+{
+    Addr task = this->task(ksp);
+    if (!task)
+        return "console";
+
+    char comm[256];
+    CopyStringOut(tc, comm, task + name_off, sizeof(comm));
+    if (!comm[0])
+        return "startup";
+
+    return comm;
+}
+
+StackTrace::StackTrace()
+    : tc(0), stack(64)
+{
+}
+
+StackTrace::StackTrace(ThreadContext *_tc, const StaticInstPtr &inst)
+    : tc(0), stack(64)
+{
+    trace(_tc, inst);
+}
+
+StackTrace::~StackTrace()
+{
+}
+
+void
+StackTrace::trace(ThreadContext *_tc, bool is_call)
+{
+}
+
+bool
+StackTrace::isEntry(Addr addr)
+{
+    return false;
+}
+
+bool
+StackTrace::decodeStack(MachInst inst, int &disp)
+{
+    disp = 0;
+    return true;
+}
+
+bool
+StackTrace::decodeSave(MachInst inst, int &reg, int &disp)
+{
+    reg = 0;
+    disp = 0;
+    return true;
+}
+
+/*
+ * Decode the function prologue for the function we're in, and note
+ * which registers are stored where, and how large the stack frame is.
+ */
+bool
+StackTrace::decodePrologue(Addr sp, Addr callpc, Addr func,
+                           int &size, Addr &ra)
+{
+    size = 0;
+    ra = 0;
+
+    for (Addr pc = func; pc < callpc; pc += sizeof(MachInst)) {
+        MachInst inst;
+        CopyOut(tc, (uint8_t *)&inst, pc, sizeof(MachInst));
+
+        int reg, disp;
+        if (decodeStack(inst, disp)) {
+            if (size) {
+                // panic("decoding frame size again");
+                return true;
+            }
+            size += disp;
+        } else if (decodeSave(inst, reg, disp)) {
+            if (!ra && reg == ReturnAddressReg) {
+                CopyOut(tc, (uint8_t *)&ra, sp + disp, sizeof(Addr));
+                if (!ra) {
+                    // panic("no return address value pc=%#x\n", pc);
+                    return false;
                 }
             }
         }
-
-        return true;
     }

+    return true;
+}
+
 #if TRACING_ON
-    void
-    StackTrace::dump()
-    {
-        StringWrap name(tc->getCpuPtr()->name());
-        SymbolTable *symtab = tc->getSystemPtr()->kernelSymtab;
+void
+StackTrace::dump()
+{
+    StringWrap name(tc->getCpuPtr()->name());
+    SymbolTable *symtab = tc->getSystemPtr()->kernelSymtab;

-        DPRINTFN("------ Stack ------\n");
+    DPRINTFN("------ Stack ------\n");

-        string symbol;
-        for (int i = 0, size = stack.size(); i < size; ++i) {
-            Addr addr = stack[size - i - 1];
-            if (addr == user)
-                symbol = "user";
-            else if (addr == console)
-                symbol = "console";
-            else if (addr == unknown)
-                symbol = "unknown";
-            else
-                symtab->findSymbol(addr, symbol);
+    string symbol;
+    for (int i = 0, size = stack.size(); i < size; ++i) {
+        Addr addr = stack[size - i - 1];
+        if (addr == user)
+            symbol = "user";
+        else if (addr == console)
+            symbol = "console";
+        else if (addr == unknown)
+            symbol = "unknown";
+        else
+            symtab->findSymbol(addr, symbol);

-            DPRINTFN("%#x: %s\n", addr, symbol);
-        }
+        DPRINTFN("%#x: %s\n", addr, symbol);
     }
+}
+
 #endif
 }

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/18368
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: I01a6b66a1cf721e16e4ed4dd1c3469ee112e9177
Gerrit-Change-Number: 18368
Gerrit-PatchSet: 2
Gerrit-Owner: Gabe Black <gabebl...@google.com>
Gerrit-Reviewer: Andreas Sandberg <andreas.sandb...@arm.com>
Gerrit-Reviewer: Gabe Black <gabebl...@google.com>
Gerrit-Reviewer: Jason Lowe-Power <ja...@lowepower.com>
Gerrit-Reviewer: kokoro <noreply+kok...@google.com>
Gerrit-CC: Anthony Gutierrez <anthony.gutier...@amd.com>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to