qemu/hw/i386/kvm
David Woodhouse 7cabbdb70d hw/xen: Watches on XenStore transactions
Firing watches on the nodes that still exist is relatively easy; just
walk the tree and look at the nodes with refcount of one.

Firing watches on *deleted* nodes is more fun. We add 'modified_in_tx'
and 'deleted_in_tx' flags to each node. Nodes with those flags cannot
be shared, as they will always be unique to the transaction in which
they were created.

When xs_node_walk would need to *create* a node as scaffolding and it
encounters a deleted_in_tx node, it can resurrect it simply by clearing
its deleted_in_tx flag. If that node originally had any *data*, they're
gone, and the modified_in_tx flag will have been set when it was first
deleted.

We then attempt to send appropriate watches when the transaction is
committed, properly delete the deleted_in_tx nodes, and remove the
modified_in_tx flag from the others.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
2023-03-07 17:04:30 +00:00
..
apic.c
clock.c
i8254.c
i8259.c hw/intc: Extract the IRQ counting functions into a separate file 2023-01-13 16:22:57 +01:00
ioapic.c hw: Move ioapic*.h to intc/ 2023-02-27 22:29:01 +01:00
meson.build hw/xen: Add xenstore wire implementation and implementation stubs 2023-03-07 17:04:30 +00:00
trace-events hw/xen: Add xenstore wire implementation and implementation stubs 2023-03-07 17:04:30 +00:00
trace.h hw/xen: Implement emulated PIRQ hypercall support 2023-03-01 09:09:01 +00:00
xen_evtchn.c kvm/i386: Add xen-evtchn-max-pirq property 2023-03-01 09:09:22 +00:00
xen_evtchn.h hw/xen: Support MSI mapping to PIRQ 2023-03-01 09:09:22 +00:00
xen_gnttab.c hw/xen: Implement GNTTABOP_query_size 2023-03-01 09:07:52 +00:00
xen_gnttab.h hw/xen: Implement GNTTABOP_query_size 2023-03-01 09:07:52 +00:00
xen_overlay.c hw/xen: Support mapping grant frames 2023-03-01 09:07:52 +00:00
xen_overlay.h hw/xen: Support mapping grant frames 2023-03-01 09:07:52 +00:00
xen_xenstore.c hw/xen: Add xenstore wire implementation and implementation stubs 2023-03-07 17:04:30 +00:00
xen_xenstore.h hw/xen: Add xen_xenstore device for xenstore emulation 2023-03-01 09:08:26 +00:00
xen-stubs.c hw/xen: Support MSI mapping to PIRQ 2023-03-01 09:09:22 +00:00
xenstore_impl.c hw/xen: Watches on XenStore transactions 2023-03-07 17:04:30 +00:00
xenstore_impl.h hw/xen: Add xenstore wire implementation and implementation stubs 2023-03-07 17:04:30 +00:00