This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Armv8-R AEM FVP trap to EL2 missing information in HSR on guest's STRD

Running an hypervisor in Armv8-R AEM FVP platform, hypervisor mode, aarch32. While trap and emulating an MMIO region where the supervisor mode guest emits an STRD instruction (targetting a region protected by the 2nd stage MPU), HSR.ISS comes up "empty". That is, despite ELR_hyp, HDFAR and HSR.EC being correct, HSR.ISS.ISV is 0. Therefore, I don't have sufficient information to decode and emulate the access. I guess it would be possible to decode the instruction "by hand", but I don't understand why this is happening. Can you imagine any reason why this information is not there? Should I expect this in real hardware? Could this possibly be some kind of bug or issue with the model?

Parents
  • So can you decode dataabort from HSR.EC? 

    Yes, EC is set to "Data Abort from a lower Exception level"

    If yes can you check the STRD instruction is postindex or preindex when it was accessing MMIO address?

    I think neither. Here is the disassembly for the instruction that causes the exception: 

    100014b0: e18340f0 strd r4, [r3, r0]
Reply
  • So can you decode dataabort from HSR.EC? 

    Yes, EC is set to "Data Abort from a lower Exception level"

    If yes can you check the STRD instruction is postindex or preindex when it was accessing MMIO address?

    I think neither. Here is the disassembly for the instruction that causes the exception: 

    100014b0: e18340f0 strd r4, [r3, r0]
Children