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?  If yes can you check the STRD instruction is postindex or preindex when it was accessing MMIO address? A postindex STRD access will cause an invalid dataabort in VMM, VMM must decode the guest instructions to handle it.

Reply
  • So can you decode dataabort from HSR.EC?  If yes can you check the STRD instruction is postindex or preindex when it was accessing MMIO address? A postindex STRD access will cause an invalid dataabort in VMM, VMM must decode the guest instructions to handle it.

Children