[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC 09/16] xen/arm: p2m: Introduce a function to resolve translation fault

Hi Stefano,

On 11/12/18 11:36 PM, Stefano Stabellini wrote:
On Mon, 12 Nov 2018, Julien Grall wrote:
Hi Stefano,

On 11/6/18 2:20 PM, Julien Grall wrote:
On 05/11/2018 17:56, Stefano Stabellini wrote:
On Mon, 5 Nov 2018, Julien Grall wrote:
On 02/11/2018 23:27, Stefano Stabellini wrote:
On Mon, 8 Oct 2018, Julien Grall wrote:

+    /*
+     * Now that the work on the entry is done, set the valid bit to
+     * another fault on that entry.
+     */
+    resolved = true;
+    entry.p2m.valid = 1;
+    p2m_write_pte(table + offsets[level], entry, p2m->clean_pte);
+    /*
+     * No need to flush the TLBs as the modified entry had the
valid bit
+     * unset.
+     */
+    unmap_domain_page(table);
+    p2m_write_unlock(p2m);
+    return resolved;
    static inline int p2m_insert_mapping(struct domain *d,
                                         gfn_t start_gfn,
                                         unsigned long nr,

We probably want to update the comment on top of the call to

Whoops. I will fix it.

Looking at this again. I think the comment on top of the call to
p2m_resolve_translation_fault still makes sense. Feel free to suggest an
update of the comment if you think it is not enough.

          * The PT walk may have failed because someone was playing with
          * the Stage-2 page table or because the valid bit was left
          * unset to track memory accesses. In these cases, we want to
          * return to the guest.

Thank you for the suggestion. Thinking a bit more, I would not be surprised we decide to expand p2m_resolve_translation_fault in the future. So I decided to go for a more generic comment to avoid stale comment:

        * First check if the translation fault can be resolved by the
        * P2M subsystem. If that's the case nothing else to do.


Julien Grall

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.