aarch64 haskell: update decodeARMASIDPoolInvocation
Check for mapping was incorrect (attempted to check the ASID cap for ptIsMapped) and it turns out not necessary. Signed-off-by: Rafal Kolanski <rafal.kolanski@proofcraft.systems>
This commit is contained in:
parent
7cea1dc893
commit
7ed847638d
|
@ -714,7 +714,8 @@ decodeARMASIDPoolInvocation label cap@(ASIDPoolCap {}) extraCaps =
|
||||||
case vspaceCap of
|
case vspaceCap of
|
||||||
ArchObjectCap (PageTableCap { capPTMappedAddress = Nothing })
|
ArchObjectCap (PageTableCap { capPTMappedAddress = Nothing })
|
||||||
-> do
|
-> do
|
||||||
when (not (isVTableRoot vspaceCap) || isJust (capPTMappedAddress cap)) $
|
-- C checks for a mapping here, but our case already checks that
|
||||||
|
when (not (isVTableRoot vspaceCap)) $
|
||||||
throw $ InvalidCapability 1
|
throw $ InvalidCapability 1
|
||||||
asidTable <- withoutFailure $ gets (armKSASIDTable . ksArchState)
|
asidTable <- withoutFailure $ gets (armKSASIDTable . ksArchState)
|
||||||
let base = capASIDBase cap
|
let base = capASIDBase cap
|
||||||
|
|
Loading…
Reference in New Issue