[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 10/24] hw/xen: populate store frontend nodes with XenStore PFN
|
From: |
David Woodhouse |
|
Subject: |
[PATCH v2 10/24] hw/xen: populate store frontend nodes with XenStore PFN/port |
|
Date: |
Thu, 19 Oct 2023 16:40:06 +0100 |
From: David Woodhouse <dwmw@amazon.co.uk>
This is kind of redundant since without being able to get these through
some other method (HVMOP_get_param) the guest wouldn't be able to access
XenStore in order to find them. But Xen populates them, and it does
allow guests to *rebind* to the event channel port after a reset.
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
hw/i386/kvm/xen_xenstore.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index ef8aaa4c42..61692d4489 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -1434,6 +1434,7 @@ static void alloc_guest_port(XenXenstoreState *s)
int xen_xenstore_reset(void)
{
XenXenstoreState *s = xen_xenstore_singleton;
+ GList *perms;
int err;
if (!s) {
@@ -1461,6 +1462,16 @@ int xen_xenstore_reset(void)
}
s->be_port = err;
+ /* Create frontend store nodes */
+ perms = g_list_append(NULL, xs_perm_as_string(XS_PERM_NONE, DOMID_QEMU));
+ perms = g_list_append(perms, xs_perm_as_string(XS_PERM_READ, xen_domid));
+
+ relpath_printf(s, perms, "store/port", "%u", s->guest_port);
+ relpath_printf(s, perms, "store/ring-ref", "%lu",
+ XEN_SPECIAL_PFN(XENSTORE));
+
+ g_list_free_full(perms, g_free);
+
/*
* We don't actually access the guest's page through the grant, because
* this isn't real Xen, and we can just use the page we gave it in the
--
2.40.1
- [PATCH v2 0/24] Get Xen PV shim running in Qemu, add net & console, David Woodhouse, 2023/10/19
- [PATCH v2 21/24] net: do not delete nics in net_cleanup(), David Woodhouse, 2023/10/19
- [PATCH v2 05/24] hw/xen: fix XenStore watch delivery to guest, David Woodhouse, 2023/10/19
- [PATCH v2 10/24] hw/xen: populate store frontend nodes with XenStore PFN/port,
David Woodhouse <=
- [PATCH v2 01/24] i386/xen: Don't advertise XENFEAT_supervisor_mode_kernel, David Woodhouse, 2023/10/19
- [PATCH v2 20/24] hw/xenpv: fix '-nic' support for xen-net-device, David Woodhouse, 2023/10/19
- [PATCH v2 16/24] hw/xen: handle soft reset for primary console, David Woodhouse, 2023/10/19
[PATCH v2 19/24] hw/i386/pc: support '-nic' for xen-net-device, David Woodhouse, 2023/10/19
[PATCH v2 11/24] hw/xen: automatically assign device index to block devices, David Woodhouse, 2023/10/19