system.hh (8143:b0b94a7b7c1f) system.hh (8527:6bac5b04d588)
1/*
2 * Copyright (c) 2010 ARM Limited
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

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

64 return dynamic_cast<const Params *>(_params);
65 }
66
67 LinuxArmSystem(Params *p);
68 ~LinuxArmSystem();
69
70 void initState();
71
1/*
2 * Copyright (c) 2010 ARM Limited
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

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

64 return dynamic_cast<const Params *>(_params);
65 }
66
67 LinuxArmSystem(Params *p);
68 ~LinuxArmSystem();
69
70 void initState();
71
72 bool adderBootUncacheable(Addr a);
73
72 private:
73#ifndef NDEBUG
74 /** Event to halt the simulator if the kernel calls panic() */
75 BreakPCEvent *kernelPanicEvent;
76#endif
77 /**
78 * PC based event to skip udelay(<time>) calls and quiesce the
79 * processor for the appropriate amount of time. This is not functionally
80 * required but does speed up simulation.
81 */
82 Linux::UDelayEvent *uDelaySkipEvent;
83
84 /** Another PC based skip event for const_udelay(). Similar to the udelay
85 * skip, but this function precomputes the first multiply that is done
86 * in the generic case since the parameter is known at compile time.
87 * Thus we need to do some division to get back to us.
88 */
89 Linux::UDelayEvent *constUDelaySkipEvent;
74 private:
75#ifndef NDEBUG
76 /** Event to halt the simulator if the kernel calls panic() */
77 BreakPCEvent *kernelPanicEvent;
78#endif
79 /**
80 * PC based event to skip udelay(<time>) calls and quiesce the
81 * processor for the appropriate amount of time. This is not functionally
82 * required but does speed up simulation.
83 */
84 Linux::UDelayEvent *uDelaySkipEvent;
85
86 /** Another PC based skip event for const_udelay(). Similar to the udelay
87 * skip, but this function precomputes the first multiply that is done
88 * in the generic case since the parameter is known at compile time.
89 * Thus we need to do some division to get back to us.
90 */
91 Linux::UDelayEvent *constUDelaySkipEvent;
92
93 /** These variables store addresses of important data structures
94 * that are normaly kept coherent at boot with cache mainetence operations.
95 * Since these operations aren't supported in gem5, we keep them coherent
96 * by making them uncacheable until all processors in the system boot.
97 */
98 Addr secDataPtrAddr;
99 Addr secDataAddr;
100 Addr penReleaseAddr;
90};
91
92#endif // __ARCH_ARM_LINUX_SYSTEM_HH__
93
101};
102
103#endif // __ARCH_ARM_LINUX_SYSTEM_HH__
104