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

Re: [PATCH v2 07/11] xen: move domain_use_host_layout() to common code





On 3/31/26 6:32 PM, Oleksii Kurochko wrote:
@@ -2544,6 +2544,12 @@ void thaw_domains(void)
   #endif /* CONFIG_SYSTEM_SUSPEND */
+bool domain_use_host_layout(struct domain *d)
+{
+    return is_domain_direct_mapped(d) ||
+           (paging_mode_translate(d) && is_hardware_domain(d));
+}

The placement of paging_mode_translate() doesn't match ...

--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -62,6 +62,22 @@ void domid_free(domid_t domid);
   #define is_domain_direct_mapped(d) ((d)->cdf & CDF_directmap)
   #define is_domain_using_staticmem(d) ((d)->cdf & CDF_staticmem)
+/*
+ * Is the auto-translated domain using the host memory layout?
+ *
+ * domain_use_host_layout() is always False for PV guests.

... the description of the function.

But why the placement should be different?

If you focus on auto-translated, then imo paging_mode_translate()
better would guard everything.

Then it make sense to do in the following way:
  bool domain_use_host_layout(struct domain *d)
  {
-    return is_domain_direct_mapped(d) ||
-           (paging_mode_translate(d) && is_hardware_domain(d));
+    return paging_mode_translate(d) &&
+           (is_domain_direct_mapped(d) || is_hardware_domain(d));
  }

This is not really correct.

~ Oleksii



 


Rackspace

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