mirror of
https://github.com/qemu/qemu.git
synced 2024-12-15 15:33:29 +08:00
hw/xen: populate store frontend nodes with XenStore PFN/port
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. Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> Reviewed-by: Paul Durrant <paul@xen.org>
This commit is contained in:
parent
8473607bcf
commit
d388c9f53b
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user