[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [XEN v9 4/4] xen/arm64: io: Handle data abort due to cache maintenance instructions
On 04/03/2022 12:13, Ayan Kumar Halder wrote: Hi Julien, Hi, I think it would be too late because if the region is emulated, then we would have already tried to handle it.On 04/03/2022 10:46, Julien Grall wrote:Hi Ayan, On 01/03/2022 12:40, Ayan Kumar Halder wrote:When the data abort is caused due to cache maintenance for an address, there are two scenarios:- 1. Address belonging to a non emulated region - For this, Xen should set the corresponding bit in the translation table entry to valid and return to the guest to retry the instruction. This can happen sometimes as Xen need to set the translation table entry to invalid. (for eg 'Break-Before-Make' sequence). 2. Address belongs to an emulated region - Xen should ignore the instruction (ie increment the PC) and return to the guest.I would be explicit and say something along the lines:"Xen doesn't cache data for emulated regions. So we can safely ignore them".There is a third scenarios:The address belongs to neither an emulated region nor has a valid mapping in the P2M.To check this, we should test "try_handle_mmio() == IO_UNHANDLED". If so then send an abort to the guest.Is this correct ? Instead, I think we need to check after we confirmed that the region is emulated or we need to forward to an IOREQ server. So the check would have to be duplicated here. Cheers, -- Julien Grall
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |