mirror of
https://github.com/GaloisInc/macaw.git
synced 2024-12-27 16:15:12 +03:00
Added initial ARM architecture-specific evaluation function.
This commit is contained in:
parent
b533f4a92a
commit
704c778acd
@ -34,7 +34,7 @@ arm_linux_info =
|
|||||||
, MI.jumpTableEntrySize = 0 -- undefined -- jumpTableEntrySize proxy
|
, MI.jumpTableEntrySize = 0 -- undefined -- jumpTableEntrySize proxy
|
||||||
, MI.disassembleFn = disassembleFn proxy ARMSem.execInstruction
|
, MI.disassembleFn = disassembleFn proxy ARMSem.execInstruction
|
||||||
, MI.mkInitialAbsState = mkInitialAbsState proxy
|
, MI.mkInitialAbsState = mkInitialAbsState proxy
|
||||||
, MI.absEvalArchFn = undefined -- absEvalArchFn proxy
|
, MI.absEvalArchFn = absEvalArchFn proxy
|
||||||
, MI.absEvalArchStmt = undefined -- absEvalArchStmt proxy
|
, MI.absEvalArchStmt = undefined -- absEvalArchStmt proxy
|
||||||
, MI.postCallAbsState = undefined -- postCallAbsState proxy
|
, MI.postCallAbsState = undefined -- postCallAbsState proxy
|
||||||
, MI.identifyCall = undefined -- identifyCall proxy
|
, MI.identifyCall = undefined -- identifyCall proxy
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
module Data.Macaw.ARM.Eval
|
module Data.Macaw.ARM.Eval
|
||||||
( mkInitialAbsState
|
( mkInitialAbsState
|
||||||
|
, absEvalArchFn
|
||||||
)
|
)
|
||||||
where
|
where
|
||||||
|
|
||||||
@ -31,3 +32,13 @@ mkInitialAbsState :: (ARMArchConstraints arm, ArchStmt arm ~ ARMStmt)
|
|||||||
-> MA.AbsBlockState (ArchReg arm)
|
-> MA.AbsBlockState (ArchReg arm)
|
||||||
mkInitialAbsState _ _mem startAddr =
|
mkInitialAbsState _ _mem startAddr =
|
||||||
MA.top & MA.setAbsIP startAddr
|
MA.top & MA.setAbsIP startAddr
|
||||||
|
|
||||||
|
|
||||||
|
absEvalArchFn :: (ARMArchConstraints arm)
|
||||||
|
=> proxy arm
|
||||||
|
-> AbsProcessorState (ArchReg arm) ids
|
||||||
|
-> ArchFn arm (Value arm ids) tp
|
||||||
|
-> AbsValue (RegAddrWidth (ArchReg arm)) tp
|
||||||
|
absEvalArchFn _ _r f =
|
||||||
|
case f of
|
||||||
|
NoPrimKnown _rhs -> MA.TopV
|
||||||
|
Loading…
Reference in New Issue
Block a user