mirror of
https://github.com/GaloisInc/macaw.git
synced 2024-12-26 23:52:48 +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.disassembleFn = disassembleFn proxy ARMSem.execInstruction
|
||||
, MI.mkInitialAbsState = mkInitialAbsState proxy
|
||||
, MI.absEvalArchFn = undefined -- absEvalArchFn proxy
|
||||
, MI.absEvalArchFn = absEvalArchFn proxy
|
||||
, MI.absEvalArchStmt = undefined -- absEvalArchStmt proxy
|
||||
, MI.postCallAbsState = undefined -- postCallAbsState proxy
|
||||
, MI.identifyCall = undefined -- identifyCall proxy
|
||||
|
@ -8,6 +8,7 @@
|
||||
|
||||
module Data.Macaw.ARM.Eval
|
||||
( mkInitialAbsState
|
||||
, absEvalArchFn
|
||||
)
|
||||
where
|
||||
|
||||
@ -31,3 +32,13 @@ mkInitialAbsState :: (ARMArchConstraints arm, ArchStmt arm ~ ARMStmt)
|
||||
-> MA.AbsBlockState (ArchReg arm)
|
||||
mkInitialAbsState _ _mem 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