[PATCH] tools/helpers: fix PVH xenstore-stubdom console parameters

Juergen Gross posted 1 patch 2 years, 4 months ago
Test gitlab-ci passed
Patches applied successfully (tree, apply log)
git fetch https://gitlab.com/xen-project/patchew/xen tags/patchew/20211206124859.24911-1-jgross@suse.com
tools/helpers/init-xenstore-domain.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
[PATCH] tools/helpers: fix PVH xenstore-stubdom console parameters
Posted by Juergen Gross 2 years, 4 months ago
When using a PVH mode xenstore-stubdom the frame number of the console
should be a PFN instead of a MFN.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/helpers/init-xenstore-domain.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/tools/helpers/init-xenstore-domain.c b/tools/helpers/init-xenstore-domain.c
index b205a79ee6..5799ba5232 100644
--- a/tools/helpers/init-xenstore-domain.c
+++ b/tools/helpers/init-xenstore-domain.c
@@ -30,7 +30,7 @@ static char *param;
 static char *name = "Xenstore";
 static int memory;
 static int maxmem;
-static xen_pfn_t console_mfn;
+static xen_pfn_t console_frame;
 static xc_evtchn_port_or_error_t console_evtchn;
 
 static struct option options[] = {
@@ -283,7 +283,9 @@ static int build(xc_interface *xch)
     }
 
     rv = 0;
-    console_mfn = xc_dom_p2m(dom, dom->console_pfn);
+    console_frame = (dom->container_type == XC_DOM_PV_CONTAINER)
+                    ? xc_dom_p2m(dom, dom->console_pfn)
+                    : dom->console_pfn;
 
 err:
     if ( dom )
@@ -528,7 +530,7 @@ int main(int argc, char** argv)
     do_xs_write_dir_node(xsh, fe_path, "tty", "");
     snprintf(buf, 16, "%d", console_evtchn);
     do_xs_write_dir_node(xsh, fe_path, "port", buf);
-    snprintf(buf, 16, "%ld", console_mfn);
+    snprintf(buf, 16, "%ld", console_frame);
     do_xs_write_dir_node(xsh, fe_path, "ring-ref", buf);
     xs_close(xsh);
 
-- 
2.26.2


Re: [PATCH] tools/helpers: fix PVH xenstore-stubdom console parameters
Posted by Andrew Cooper 2 years, 4 months ago
On 06/12/2021 12:48, Juergen Gross wrote:
> When using a PVH mode xenstore-stubdom the frame number of the console
> should be a PFN instead of a MFN.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

I tried fixing this before, but it appears that it didn't stick (for
reasons pertaining to legacy pv-grub, so perhaps not relevant any more).

What needs to go in xenstore is a gfn, so at a minimum the variable
should be named console_gfn.

With at least that change made, Reviewed-by: Andrew Cooper
<andrew.cooper3@citrix.com>

The proper fix is to alter dom->{console,store}_pfn to be gfns, because
that's what all the users actually want.

~Andrew