|
From: <sv...@va...> - 2010-08-31 09:31:13
|
Author: sewardj
Date: 2010-08-31 10:31:06 +0100 (Tue, 31 Aug 2010)
New Revision: 2023
Log:
Support the PLI instruction (icache preload hint) in ARM mode, so
as to make self-hosting on ARM work.
Modified:
trunk/priv/guest_arm_toIR.c
Modified: trunk/priv/guest_arm_toIR.c
===================================================================
--- trunk/priv/guest_arm_toIR.c 2010-08-31 09:29:51 UTC (rev 2022)
+++ trunk/priv/guest_arm_toIR.c 2010-08-31 09:31:06 UTC (rev 2023)
@@ -11758,6 +11758,16 @@
/* fall through */
}
+ /* ------------------------ pli ------------------------ */
+ if (BITS8(0,1,0,0, 0, 1,0,1) == (INSN(27,20) & BITS8(1,1,1,1,0,1,1,1))
+ && BITS4(1,1,1,1) == INSN(15,12)) {
+ UInt rN = INSN(19,16);
+ UInt imm12 = INSN(11,0);
+ UInt bU = INSN(23,23);
+ DIP("pli [r%u, #%c%u]\n", rN, bU ? '+' : '-', imm12);
+ return True;
+ }
+
/* --------------------- Interworking branches --------------------- */
// BLX (1), viz, unconditional branch and link to R15+simm24
|