diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2004-10-16 19:10:51 -0500 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2004-10-16 19:10:51 -0500 |
commit | 3ef950abba818e0f6b0fa4c8acc39cfb6ae11a28 (patch) | |
tree | 64e0cdd17a254b68adc26eda13df2af9b28e8f18 /base/callback.hh | |
parent | eaf66f46588cdfd8a91b93821406e1d797c6d1fb (diff) | |
download | gem5-3ef950abba818e0f6b0fa4c8acc39cfb6ae11a28.tar.xz |
Fixes for bigendian platforms
arch/alpha/vtophys.cc:
PGOFSET -> ALPHA_PGOFSET to avoid include file problems
base/callback.hh:
Added a class to create a callback from a function
base/intmath.hh:
make FloorLog2 inlined
dev/pcidev.cc:
more work in getting pciconfig space happy with different endiannesses
dev/uart.cc:
used an incorrect size for write uint64_t instead of uint8_t
sim/system.cc:
when writing things into system data structures we need to pay
attention to endianness
--HG--
extra : convert_revision : 52f441b5789c45db30ef2f6fd4975cbc7323a381
Diffstat (limited to 'base/callback.hh')
-rw-r--r-- | base/callback.hh | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/base/callback.hh b/base/callback.hh index eee629cf5..342ab7e0f 100644 --- a/base/callback.hh +++ b/base/callback.hh @@ -103,4 +103,17 @@ class CallbackQueue } }; +template <class T, void (T::* F)()> +class MakeCallback : public Callback +{ + private: + T *object; + + public: + MakeCallback(T *o) + : object(o) + { } + void process() { (object->*F)(); } +}; + #endif // __CALLBACK_HH__ |