aboutsummaryrefslogtreecommitdiff
path: root/src/ARM.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ARM.h')
-rw-r--r--src/ARM.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/ARM.h b/src/ARM.h
index d2d0ea9..c8f596a 100644
--- a/src/ARM.h
+++ b/src/ARM.h
@@ -42,18 +42,24 @@ enum
const u32 ITCMPhysicalSize = 0x8000;
const u32 DTCMPhysicalSize = 0x4000;
+namespace ARMJIT
+{
+class ARMJIT;
+}
namespace Melon
{
class GPU;
}
+class ARMJIT_Memory;
+
class ARM
#ifdef GDBSTUB_ENABLED
: public Gdb::StubCallbacks
#endif
{
public:
- ARM(u32 num, Melon::GPU& gpu);
+ ARM(u32 num, ARMJIT::ARMJIT& jit, Melon::GPU& gpu);
virtual ~ARM(); // destroy shit
virtual void Reset();
@@ -179,11 +185,12 @@ public:
u64* FastBlockLookup;
#endif
- static u32 ConditionTable[16];
+ static const u32 ConditionTable[16];
#ifdef GDBSTUB_ENABLED
Gdb::GdbStub GdbStub;
#endif
+ ARMJIT::ARMJIT& JIT;
protected:
u8 (*BusRead8)(u32 addr);
u16 (*BusRead16)(u32 addr);
@@ -221,7 +228,7 @@ private:
class ARMv5 : public ARM
{
public:
- ARMv5(Melon::GPU& gpu);
+ ARMv5(ARMJIT::ARMJIT& jit, Melon::GPU& gpu);
~ARMv5();
void Reset() override;
@@ -365,7 +372,7 @@ public:
class ARMv4 : public ARM
{
public:
- ARMv4(Melon::GPU& gpu);
+ ARMv4(ARMJIT::ARMJIT& jit, Melon::GPU& gpu);
void Reset() override;