Make introduce_domain() use an event channel from the the xenstore page.
It is only used if non-zero.  Otherwise the passed in event channel port
is used.

The is useful for a xenstored stubdom to configure domains autonomously.

Signed-off-by: Jason Andryuk <jason.andr...@amd.com>
---
 tools/xenstored/domain.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index e1d5e8d614..94b2a1eaa7 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -1021,9 +1021,15 @@ static struct domain *introduce_domain(const void *ctx,
                return NULL;
 
        if (!domain->introduced) {
+               evtchn_port_t iface_port;
                interface = map_interface(domid);
                if (!interface && !restore)
                        return NULL;
+
+               iface_port = interface->evtchn_port;
+               if (iface_port)
+                       port = iface_port;
+
                if (new_domain(domain, port, restore)) {
                        rc = errno;
                        if (interface)
-- 
2.50.0


Reply via email to