a783f8ad4e
...that maintains compatibility with existing Xen toolstacks. Xen toolstacks instantiate PV backends by simply writing information into xenstore and expecting a backend implementation to be watching for this. This patch adds a new 'xen-backend' module to allow individual XenDevice implementations to register create and destroy functions. The creator will be called when a tool-stack instantiates a new backend in this way, and the destructor will then be called after the resulting XenDevice object is unrealized. To support this it is also necessary to add new watchers into the XenBus implementation to handle enumeration of new backends and also destruction of XenDevice-s when the toolstack sets the backend 'online' key to 0. NOTE: This patch only adds the framework. A subsequent patch will add a creator function for xen-block devices. Signed-off-by: Paul Durrant <paul.durrant@citrix.com> Reviewed-by: Anthony Perard <anthony.perard@citrix.com> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
41 lines
2.3 KiB
Plaintext
41 lines
2.3 KiB
Plaintext
# See docs/devel/tracing.txt for syntax documentation.
|
|
|
|
# include/hw/xen/xen_common.h
|
|
xen_default_ioreq_server(void) ""
|
|
xen_ioreq_server_create(uint32_t id) "id: %u"
|
|
xen_ioreq_server_destroy(uint32_t id) "id: %u"
|
|
xen_ioreq_server_state(uint32_t id, bool enable) "id: %u: enable: %i"
|
|
xen_map_mmio_range(uint32_t id, uint64_t start_addr, uint64_t end_addr) "id: %u start: 0x%"PRIx64" end: 0x%"PRIx64
|
|
xen_unmap_mmio_range(uint32_t id, uint64_t start_addr, uint64_t end_addr) "id: %u start: 0x%"PRIx64" end: 0x%"PRIx64
|
|
xen_map_portio_range(uint32_t id, uint64_t start_addr, uint64_t end_addr) "id: %u start: 0x%"PRIx64" end: 0x%"PRIx64
|
|
xen_unmap_portio_range(uint32_t id, uint64_t start_addr, uint64_t end_addr) "id: %u start: 0x%"PRIx64" end: 0x%"PRIx64
|
|
xen_map_pcidev(uint32_t id, uint8_t bus, uint8_t dev, uint8_t func) "id: %u bdf: %02x.%02x.%02x"
|
|
xen_unmap_pcidev(uint32_t id, uint8_t bus, uint8_t dev, uint8_t func) "id: %u bdf: %02x.%02x.%02x"
|
|
xen_domid_restrict(int err) "err: %u"
|
|
|
|
# include/hw/xen/xen-bus.c
|
|
xen_bus_realize(void) ""
|
|
xen_bus_unrealize(void) ""
|
|
xen_bus_enumerate(void) ""
|
|
xen_bus_type_enumerate(const char *type) "type: %s"
|
|
xen_bus_backend_create(const char *type, const char *path) "type: %s path: %s"
|
|
xen_bus_add_watch(const char *node, const char *key, char *token) "node: %s key: %s token: %s"
|
|
xen_bus_remove_watch(const char *node, const char *key, char *token) "node: %s key: %s token: %s"
|
|
xen_bus_watch(const char *token) "token: %s"
|
|
xen_device_realize(const char *type, char *name) "type: %s name: %s"
|
|
xen_device_unrealize(const char *type, char *name) "type: %s name: %s"
|
|
xen_device_backend_state(const char *type, char *name, const char *state) "type: %s name: %s -> %s"
|
|
xen_device_backend_online(const char *type, char *name, bool online) "type: %s name: %s -> %u"
|
|
xen_device_backend_changed(const char *type, char *name) "type: %s name: %s"
|
|
xen_device_frontend_state(const char *type, char *name, const char *state) "type: %s name: %s -> %s"
|
|
xen_device_frontend_changed(const char *type, char *name) "type: %s name: %s"
|
|
xen_device_unplug(const char *type, char *name) "type: %s name: %s"
|
|
|
|
# include/hw/xen/xen-bus-helper.c
|
|
xs_node_create(const char *node) "%s"
|
|
xs_node_destroy(const char *node) "%s"
|
|
xs_node_vprintf(char *path, char *value) "%s %s"
|
|
xs_node_vscanf(char *path, char *value) "%s %s"
|
|
xs_node_watch(char *path) "%s"
|
|
xs_node_unwatch(char *path) "%s"
|