094a22399f
This patch adds a new source module, xen-bus-helper.c, which builds on basic libxenstore primitives to provide functions to create (setting permissions appropriately) and destroy xenstore areas, and functions to 'printf' and 'scanf' nodes therein. The main xen-bus code then uses these primitives [1] to initialize and destroy the frontend and backend areas for a XenDevice during realize and unrealize respectively. The 'xen-block' implementation is extended with a 'get_name' method that returns the VBD number. This number is required to 'name' the xenstore areas. NOTE: An exit handler is also added to make sure the xenstore areas are cleaned up if QEMU terminates without devices being unrealized. [1] The 'scanf' functions are actually not yet needed, but they will be needed by code delivered in subsequent patches. 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>
29 lines
1.6 KiB
Plaintext
29 lines
1.6 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_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_frontend_state(const char *type, char *name, const char *state) "type: %s name: %s -> %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"
|