utility.hh (7707:e5b6f1157be3) utility.hh (7720:65d338a8dba4)
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 32 unchanged lines hidden (view full) ---

41#define __ARCH_X86_UTILITY_HH__
42
43#include "arch/x86/regs/misc.hh"
44#include "arch/x86/types.hh"
45#include "base/hashmap.hh"
46#include "base/misc.hh"
47#include "base/types.hh"
48#include "config/full_system.hh"
1/*
2 * Copyright (c) 2007 The Hewlett-Packard Development Company
3 * All rights reserved.
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 32 unchanged lines hidden (view full) ---

41#define __ARCH_X86_UTILITY_HH__
42
43#include "arch/x86/regs/misc.hh"
44#include "arch/x86/types.hh"
45#include "base/hashmap.hh"
46#include "base/misc.hh"
47#include "base/types.hh"
48#include "config/full_system.hh"
49#include "cpu/static_inst.hh"
49#include "cpu/thread_context.hh"
50
51class ThreadContext;
52
53namespace X86ISA
54{
50#include "cpu/thread_context.hh"
51
52class ThreadContext;
53
54namespace X86ISA
55{
56
57 inline PCState
58 buildRetPC(const PCState &curPC, const PCState &callPC)
59 {
60 PCState retPC = callPC;
61 retPC.uEnd();
62 return retPC;
63 }
64
55 uint64_t
56 getArgument(ThreadContext *tc, int &number, uint16_t size, bool fp);
57
58 static inline bool
59 inUserMode(ThreadContext *tc)
60 {
61#if FULL_SYSTEM
62 HandyM5Reg m5reg = tc->readMiscRegNoEffect(MISCREG_M5_REG);

--- 18 unchanged lines hidden (view full) ---

81
82 void startupCPU(ThreadContext *tc, int cpuId);
83
84 void copyRegs(ThreadContext *src, ThreadContext *dest);
85
86 void copyMiscRegs(ThreadContext *src, ThreadContext *dest);
87
88 void skipFunction(ThreadContext *tc);
65 uint64_t
66 getArgument(ThreadContext *tc, int &number, uint16_t size, bool fp);
67
68 static inline bool
69 inUserMode(ThreadContext *tc)
70 {
71#if FULL_SYSTEM
72 HandyM5Reg m5reg = tc->readMiscRegNoEffect(MISCREG_M5_REG);

--- 18 unchanged lines hidden (view full) ---

91
92 void startupCPU(ThreadContext *tc, int cpuId);
93
94 void copyRegs(ThreadContext *src, ThreadContext *dest);
95
96 void copyMiscRegs(ThreadContext *src, ThreadContext *dest);
97
98 void skipFunction(ThreadContext *tc);
99
100 inline void
101 advancePC(PCState &pc, const StaticInstPtr inst)
102 {
103 inst->advancePC(pc);
104 }
89};
90
91#endif // __ARCH_X86_UTILITY_HH__
105};
106
107#endif // __ARCH_X86_UTILITY_HH__