xen: re-name XenDevice to XenLegacyDevice...
...and xen_backend.h to xen-legacy-backend.h Rather than attempting to convert the existing backend infrastructure to be QOM compliant (which would be hard to do in an incremental fashion), subsequent patches will introduce a completely new framework for Xen PV backends. Hence it is necessary to re-name parts of existing code to avoid name clashes. The re-named 'legacy' infrastructure will be removed once all backends have been ported to the new framework. This patch is purely cosmetic. No functional change. Signed-off-by: Paul Durrant <paul.durrant@citrix.com> Acked-by: Anthony Perard <anthony.perard@citrix.com> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
This commit is contained in:
parent
92dbfcc6d4
commit
2d0ed5e642
@ -12,7 +12,7 @@
|
||||
|
||||
#include "hw/hw.h"
|
||||
#include "hw/9pfs/9p.h"
|
||||
#include "hw/xen/xen_backend.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
#include "hw/9pfs/xen-9pfs.h"
|
||||
#include "qapi/error.h"
|
||||
#include "qemu/config-file.h"
|
||||
@ -45,7 +45,7 @@ typedef struct Xen9pfsRing {
|
||||
} Xen9pfsRing;
|
||||
|
||||
typedef struct Xen9pfsDev {
|
||||
struct XenDevice xendev; /* must be first */
|
||||
struct XenLegacyDevice xendev; /* must be first */
|
||||
V9fsState state;
|
||||
char *path;
|
||||
char *security_model;
|
||||
@ -56,7 +56,7 @@ typedef struct Xen9pfsDev {
|
||||
Xen9pfsRing *rings;
|
||||
} Xen9pfsDev;
|
||||
|
||||
static void xen_9pfs_disconnect(struct XenDevice *xendev);
|
||||
static void xen_9pfs_disconnect(struct XenLegacyDevice *xendev);
|
||||
|
||||
static void xen_9pfs_in_sg(Xen9pfsRing *ring,
|
||||
struct iovec *in_sg,
|
||||
@ -243,7 +243,7 @@ static const V9fsTransport xen_9p_transport = {
|
||||
.push_and_notify = xen_9pfs_push_and_notify,
|
||||
};
|
||||
|
||||
static int xen_9pfs_init(struct XenDevice *xendev)
|
||||
static int xen_9pfs_init(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@ -305,7 +305,7 @@ static void xen_9pfs_evtchn_event(void *opaque)
|
||||
qemu_bh_schedule(ring->bh);
|
||||
}
|
||||
|
||||
static void xen_9pfs_disconnect(struct XenDevice *xendev)
|
||||
static void xen_9pfs_disconnect(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
Xen9pfsDev *xen_9pdev = container_of(xendev, Xen9pfsDev, xendev);
|
||||
int i;
|
||||
@ -321,7 +321,7 @@ static void xen_9pfs_disconnect(struct XenDevice *xendev)
|
||||
}
|
||||
}
|
||||
|
||||
static int xen_9pfs_free(struct XenDevice *xendev)
|
||||
static int xen_9pfs_free(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
Xen9pfsDev *xen_9pdev = container_of(xendev, Xen9pfsDev, xendev);
|
||||
int i;
|
||||
@ -354,7 +354,7 @@ static int xen_9pfs_free(struct XenDevice *xendev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int xen_9pfs_connect(struct XenDevice *xendev)
|
||||
static int xen_9pfs_connect(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
Error *err = NULL;
|
||||
int i;
|
||||
@ -467,7 +467,7 @@ out:
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void xen_9pfs_alloc(struct XenDevice *xendev)
|
||||
static void xen_9pfs_alloc(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
xenstore_write_be_str(xendev, "versions", VERSIONS);
|
||||
xenstore_write_be_int(xendev, "max-rings", MAX_RINGS);
|
||||
|
@ -25,7 +25,7 @@
|
||||
#include <sys/uio.h>
|
||||
|
||||
#include "hw/hw.h"
|
||||
#include "hw/xen/xen_backend.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
#include "xen_blkif.h"
|
||||
#include "sysemu/blockdev.h"
|
||||
#include "sysemu/iothread.h"
|
||||
@ -63,7 +63,7 @@ struct ioreq {
|
||||
#define MAX_RING_PAGE_ORDER 4
|
||||
|
||||
struct XenBlkDev {
|
||||
struct XenDevice xendev; /* must be first */
|
||||
struct XenLegacyDevice xendev; /* must be first */
|
||||
char *params;
|
||||
char *mode;
|
||||
char *type;
|
||||
@ -179,7 +179,7 @@ static void ioreq_release(struct ioreq *ioreq, bool finish)
|
||||
static int ioreq_parse(struct ioreq *ioreq)
|
||||
{
|
||||
struct XenBlkDev *blkdev = ioreq->blkdev;
|
||||
struct XenDevice *xendev = &blkdev->xendev;
|
||||
struct XenLegacyDevice *xendev = &blkdev->xendev;
|
||||
size_t len;
|
||||
int i;
|
||||
|
||||
@ -243,7 +243,7 @@ err:
|
||||
static int ioreq_grant_copy(struct ioreq *ioreq)
|
||||
{
|
||||
struct XenBlkDev *blkdev = ioreq->blkdev;
|
||||
struct XenDevice *xendev = &blkdev->xendev;
|
||||
struct XenLegacyDevice *xendev = &blkdev->xendev;
|
||||
XenGrantCopySegment segs[BLKIF_MAX_SEGMENTS_PER_REQUEST];
|
||||
int i, count, rc;
|
||||
int64_t file_blk = blkdev->file_blk;
|
||||
@ -289,7 +289,7 @@ static void qemu_aio_complete(void *opaque, int ret)
|
||||
{
|
||||
struct ioreq *ioreq = opaque;
|
||||
struct XenBlkDev *blkdev = ioreq->blkdev;
|
||||
struct XenDevice *xendev = &blkdev->xendev;
|
||||
struct XenLegacyDevice *xendev = &blkdev->xendev;
|
||||
|
||||
aio_context_acquire(blkdev->ctx);
|
||||
|
||||
@ -608,7 +608,7 @@ static void blk_bh(void *opaque)
|
||||
aio_context_release(blkdev->ctx);
|
||||
}
|
||||
|
||||
static void blk_alloc(struct XenDevice *xendev)
|
||||
static void blk_alloc(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenBlkDev *blkdev = container_of(xendev, struct XenBlkDev, xendev);
|
||||
Error *err = NULL;
|
||||
@ -628,7 +628,7 @@ static void blk_alloc(struct XenDevice *xendev)
|
||||
|
||||
static void blk_parse_discard(struct XenBlkDev *blkdev)
|
||||
{
|
||||
struct XenDevice *xendev = &blkdev->xendev;
|
||||
struct XenLegacyDevice *xendev = &blkdev->xendev;
|
||||
int enable;
|
||||
|
||||
blkdev->feature_discard = true;
|
||||
@ -642,7 +642,7 @@ static void blk_parse_discard(struct XenBlkDev *blkdev)
|
||||
}
|
||||
}
|
||||
|
||||
static int blk_init(struct XenDevice *xendev)
|
||||
static int blk_init(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenBlkDev *blkdev = container_of(xendev, struct XenBlkDev, xendev);
|
||||
int info = 0;
|
||||
@ -737,7 +737,7 @@ out_error:
|
||||
return -1;
|
||||
}
|
||||
|
||||
static int blk_connect(struct XenDevice *xendev)
|
||||
static int blk_connect(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenBlkDev *blkdev = container_of(xendev, struct XenBlkDev, xendev);
|
||||
int index, qflags;
|
||||
@ -941,7 +941,7 @@ static int blk_connect(struct XenDevice *xendev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void blk_disconnect(struct XenDevice *xendev)
|
||||
static void blk_disconnect(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenBlkDev *blkdev = container_of(xendev, struct XenBlkDev, xendev);
|
||||
|
||||
@ -966,7 +966,7 @@ static void blk_disconnect(struct XenDevice *xendev)
|
||||
}
|
||||
}
|
||||
|
||||
static int blk_free(struct XenDevice *xendev)
|
||||
static int blk_free(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenBlkDev *blkdev = container_of(xendev, struct XenBlkDev, xendev);
|
||||
struct ioreq *ioreq;
|
||||
@ -992,7 +992,7 @@ static int blk_free(struct XenDevice *xendev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void blk_event(struct XenDevice *xendev)
|
||||
static void blk_event(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenBlkDev *blkdev = container_of(xendev, struct XenBlkDev, xendev);
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
#include "qapi/error.h"
|
||||
#include "hw/hw.h"
|
||||
#include "chardev/char-fe.h"
|
||||
#include "hw/xen/xen_backend.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
|
||||
#include <xen/io/console.h>
|
||||
|
||||
@ -39,7 +39,7 @@ struct buffer {
|
||||
};
|
||||
|
||||
struct XenConsole {
|
||||
struct XenDevice xendev; /* must be first */
|
||||
struct XenLegacyDevice xendev; /* must be first */
|
||||
struct buffer buffer;
|
||||
char console[XEN_BUFSIZE];
|
||||
int ring_ref;
|
||||
@ -173,7 +173,7 @@ static void xencons_send(struct XenConsole *con)
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
|
||||
static int con_init(struct XenDevice *xendev)
|
||||
static int con_init(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);
|
||||
char *type, *dom, label[32];
|
||||
@ -222,7 +222,7 @@ out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int con_initialise(struct XenDevice *xendev)
|
||||
static int con_initialise(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);
|
||||
int limit;
|
||||
@ -259,7 +259,7 @@ static int con_initialise(struct XenDevice *xendev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void con_disconnect(struct XenDevice *xendev)
|
||||
static void con_disconnect(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);
|
||||
|
||||
@ -276,7 +276,7 @@ static void con_disconnect(struct XenDevice *xendev)
|
||||
}
|
||||
}
|
||||
|
||||
static void con_event(struct XenDevice *xendev)
|
||||
static void con_event(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);
|
||||
|
||||
|
@ -30,7 +30,7 @@
|
||||
#include "hw/hw.h"
|
||||
#include "ui/input.h"
|
||||
#include "ui/console.h"
|
||||
#include "hw/xen/xen_backend.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
|
||||
#include <xen/event_channel.h>
|
||||
#include <xen/io/fbif.h>
|
||||
@ -46,7 +46,7 @@
|
||||
/* -------------------------------------------------------------------- */
|
||||
|
||||
struct common {
|
||||
struct XenDevice xendev; /* must be first */
|
||||
struct XenLegacyDevice xendev; /* must be first */
|
||||
void *page;
|
||||
};
|
||||
|
||||
@ -342,14 +342,14 @@ static QemuInputHandler xenfb_rel_mouse = {
|
||||
.sync = xenfb_mouse_sync,
|
||||
};
|
||||
|
||||
static int input_init(struct XenDevice *xendev)
|
||||
static int input_init(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
xenstore_write_be_int(xendev, "feature-abs-pointer", 1);
|
||||
xenstore_write_be_int(xendev, "feature-raw-pointer", 1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int input_initialise(struct XenDevice *xendev)
|
||||
static int input_initialise(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenInput *in = container_of(xendev, struct XenInput, c.xendev);
|
||||
int rc;
|
||||
@ -361,7 +361,7 @@ static int input_initialise(struct XenDevice *xendev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void input_connected(struct XenDevice *xendev)
|
||||
static void input_connected(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenInput *in = container_of(xendev, struct XenInput, c.xendev);
|
||||
|
||||
@ -395,7 +395,7 @@ static void input_connected(struct XenDevice *xendev)
|
||||
}
|
||||
}
|
||||
|
||||
static void input_disconnect(struct XenDevice *xendev)
|
||||
static void input_disconnect(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenInput *in = container_of(xendev, struct XenInput, c.xendev);
|
||||
|
||||
@ -410,7 +410,7 @@ static void input_disconnect(struct XenDevice *xendev)
|
||||
common_unbind(&in->c);
|
||||
}
|
||||
|
||||
static void input_event(struct XenDevice *xendev)
|
||||
static void input_event(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenInput *xenfb = container_of(xendev, struct XenInput, c.xendev);
|
||||
struct xenkbd_page *page = xenfb->c.page;
|
||||
@ -867,7 +867,7 @@ static void xenfb_handle_events(struct XenFB *xenfb)
|
||||
page->out_cons = cons;
|
||||
}
|
||||
|
||||
static int fb_init(struct XenDevice *xendev)
|
||||
static int fb_init(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
#ifdef XENFB_TYPE_RESIZE
|
||||
xenstore_write_be_int(xendev, "feature-resize", 1);
|
||||
@ -875,7 +875,7 @@ static int fb_init(struct XenDevice *xendev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int fb_initialise(struct XenDevice *xendev)
|
||||
static int fb_initialise(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenFB *fb = container_of(xendev, struct XenFB, c.xendev);
|
||||
struct xenfb_page *fb_page;
|
||||
@ -912,7 +912,7 @@ static int fb_initialise(struct XenDevice *xendev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void fb_disconnect(struct XenDevice *xendev)
|
||||
static void fb_disconnect(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenFB *fb = container_of(xendev, struct XenFB, c.xendev);
|
||||
|
||||
@ -935,7 +935,8 @@ static void fb_disconnect(struct XenDevice *xendev)
|
||||
fb->bug_trigger = 0;
|
||||
}
|
||||
|
||||
static void fb_frontend_changed(struct XenDevice *xendev, const char *node)
|
||||
static void fb_frontend_changed(struct XenLegacyDevice *xendev,
|
||||
const char *node)
|
||||
{
|
||||
struct XenFB *fb = container_of(xendev, struct XenFB, c.xendev);
|
||||
|
||||
@ -953,7 +954,7 @@ static void fb_frontend_changed(struct XenDevice *xendev, const char *node)
|
||||
}
|
||||
}
|
||||
|
||||
static void fb_event(struct XenDevice *xendev)
|
||||
static void fb_event(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenFB *xenfb = container_of(xendev, struct XenFB, c.xendev);
|
||||
|
||||
|
@ -16,7 +16,7 @@
|
||||
#include "hw/i386/pc.h"
|
||||
#include "hw/i386/apic-msidef.h"
|
||||
#include "hw/xen/xen_common.h"
|
||||
#include "hw/xen/xen_backend.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
#include "qapi/error.h"
|
||||
#include "qapi/qapi-commands-misc.h"
|
||||
#include "qemu/error-report.h"
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
#include <sys/resource.h>
|
||||
|
||||
#include "hw/xen/xen_backend.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
#include "qemu/bitmap.h"
|
||||
|
||||
#include <xen/hvm/params.h>
|
||||
|
@ -30,7 +30,7 @@
|
||||
#include "hw/pci/pci.h"
|
||||
#include "hw/irq.h"
|
||||
#include "hw/xen/xen_common.h"
|
||||
#include "hw/xen/xen_backend.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
#include "trace.h"
|
||||
#include "exec/address-spaces.h"
|
||||
#include "sysemu/block-backend.h"
|
||||
|
@ -28,14 +28,14 @@
|
||||
#include "net/net.h"
|
||||
#include "net/checksum.h"
|
||||
#include "net/util.h"
|
||||
#include "hw/xen/xen_backend.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
|
||||
#include <xen/io/netif.h>
|
||||
|
||||
/* ------------------------------------------------------------- */
|
||||
|
||||
struct XenNetDev {
|
||||
struct XenDevice xendev; /* must be first */
|
||||
struct XenLegacyDevice xendev; /* must be first */
|
||||
char *mac;
|
||||
int tx_work;
|
||||
int tx_ring_ref;
|
||||
@ -276,7 +276,7 @@ static NetClientInfo net_xen_info = {
|
||||
.receive = net_rx_packet,
|
||||
};
|
||||
|
||||
static int net_init(struct XenDevice *xendev)
|
||||
static int net_init(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenNetDev *netdev = container_of(xendev, struct XenNetDev, xendev);
|
||||
|
||||
@ -308,7 +308,7 @@ static int net_init(struct XenDevice *xendev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int net_connect(struct XenDevice *xendev)
|
||||
static int net_connect(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenNetDev *netdev = container_of(xendev, struct XenNetDev, xendev);
|
||||
int rx_copy;
|
||||
@ -363,7 +363,7 @@ static int net_connect(struct XenDevice *xendev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void net_disconnect(struct XenDevice *xendev)
|
||||
static void net_disconnect(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenNetDev *netdev = container_of(xendev, struct XenNetDev, xendev);
|
||||
|
||||
@ -379,14 +379,14 @@ static void net_disconnect(struct XenDevice *xendev)
|
||||
}
|
||||
}
|
||||
|
||||
static void net_event(struct XenDevice *xendev)
|
||||
static void net_event(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenNetDev *netdev = container_of(xendev, struct XenNetDev, xendev);
|
||||
net_tx_packets(netdev);
|
||||
qemu_flush_queued_packets(qemu_get_queue(netdev->nic));
|
||||
}
|
||||
|
||||
static int net_free(struct XenDevice *xendev)
|
||||
static int net_free(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct XenNetDev *netdev = container_of(xendev, struct XenNetDev, xendev);
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
#include "qemu/option.h"
|
||||
#include "hw/sysbus.h"
|
||||
#include "hw/usb.h"
|
||||
#include "hw/xen/xen_backend.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
#include "monitor/qdev.h"
|
||||
#include "qapi/qmp/qdict.h"
|
||||
#include "qapi/qmp/qstring.h"
|
||||
@ -99,7 +99,7 @@ struct usbback_hotplug {
|
||||
};
|
||||
|
||||
struct usbback_info {
|
||||
struct XenDevice xendev; /* must be first */
|
||||
struct XenLegacyDevice xendev; /* must be first */
|
||||
USBBus bus;
|
||||
void *urb_sring;
|
||||
void *conn_sring;
|
||||
@ -142,7 +142,7 @@ static int usbback_gnttab_map(struct usbback_req *usbback_req)
|
||||
unsigned int nr_segs, i, prot;
|
||||
uint32_t ref[USBIF_MAX_SEGMENTS_PER_REQUEST];
|
||||
struct usbback_info *usbif = usbback_req->usbif;
|
||||
struct XenDevice *xendev = &usbif->xendev;
|
||||
struct XenLegacyDevice *xendev = &usbif->xendev;
|
||||
struct usbif_request_segment *seg;
|
||||
void *addr;
|
||||
|
||||
@ -220,7 +220,7 @@ static int usbback_gnttab_map(struct usbback_req *usbback_req)
|
||||
|
||||
static int usbback_init_packet(struct usbback_req *usbback_req)
|
||||
{
|
||||
struct XenDevice *xendev = &usbback_req->usbif->xendev;
|
||||
struct XenLegacyDevice *xendev = &usbback_req->usbif->xendev;
|
||||
USBPacket *packet = &usbback_req->packet;
|
||||
USBDevice *dev = usbback_req->stub->dev;
|
||||
USBEndpoint *ep;
|
||||
@ -279,7 +279,7 @@ static void usbback_do_response(struct usbback_req *usbback_req, int32_t status,
|
||||
{
|
||||
struct usbback_info *usbif;
|
||||
struct usbif_urb_response *res;
|
||||
struct XenDevice *xendev;
|
||||
struct XenLegacyDevice *xendev;
|
||||
unsigned int notify;
|
||||
|
||||
usbif = usbback_req->usbif;
|
||||
@ -824,7 +824,7 @@ static void usbback_process_port(struct usbback_info *usbif, unsigned port)
|
||||
g_free(busid);
|
||||
}
|
||||
|
||||
static void usbback_disconnect(struct XenDevice *xendev)
|
||||
static void usbback_disconnect(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct usbback_info *usbif;
|
||||
unsigned int i;
|
||||
@ -853,7 +853,7 @@ static void usbback_disconnect(struct XenDevice *xendev)
|
||||
TR_BUS(xendev, "finished\n");
|
||||
}
|
||||
|
||||
static int usbback_connect(struct XenDevice *xendev)
|
||||
static int usbback_connect(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct usbback_info *usbif;
|
||||
struct usbif_urb_sring *urb_sring;
|
||||
@ -913,7 +913,8 @@ static int usbback_connect(struct XenDevice *xendev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void usbback_backend_changed(struct XenDevice *xendev, const char *node)
|
||||
static void usbback_backend_changed(struct XenLegacyDevice *xendev,
|
||||
const char *node)
|
||||
{
|
||||
struct usbback_info *usbif;
|
||||
unsigned int i;
|
||||
@ -926,7 +927,7 @@ static void usbback_backend_changed(struct XenDevice *xendev, const char *node)
|
||||
}
|
||||
}
|
||||
|
||||
static int usbback_init(struct XenDevice *xendev)
|
||||
static int usbback_init(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct usbback_info *usbif;
|
||||
|
||||
@ -1005,7 +1006,7 @@ static USBPortOps xen_usb_port_ops = {
|
||||
static USBBusOps xen_usb_bus_ops = {
|
||||
};
|
||||
|
||||
static void usbback_alloc(struct XenDevice *xendev)
|
||||
static void usbback_alloc(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct usbback_info *usbif;
|
||||
USBPort *p;
|
||||
@ -1027,7 +1028,7 @@ static void usbback_alloc(struct XenDevice *xendev)
|
||||
usbif->bh = qemu_bh_new(usbback_bh, usbif);
|
||||
}
|
||||
|
||||
static int usbback_free(struct XenDevice *xendev)
|
||||
static int usbback_free(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct usbback_info *usbif;
|
||||
struct usbback_req *usbback_req;
|
||||
@ -1066,7 +1067,7 @@ static int usbback_free(struct XenDevice *xendev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void usbback_event(struct XenDevice *xendev)
|
||||
static void usbback_event(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
struct usbback_info *usbif;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
# xen backend driver support
|
||||
common-obj-$(CONFIG_XEN) += xen_backend.o xen_devconfig.o xen_pvdev.o xen-common.o
|
||||
common-obj-$(CONFIG_XEN) += xen-legacy-backend.o xen_devconfig.o xen_pvdev.o xen-common.o
|
||||
|
||||
obj-$(CONFIG_XEN_PCI_PASSTHROUGH) += xen-host-pci-device.o
|
||||
obj-$(CONFIG_XEN_PCI_PASSTHROUGH) += xen_pt.o xen_pt_config_init.o xen_pt_graphics.o xen_pt_msi.o
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
#include "qemu/osdep.h"
|
||||
#include "qemu/error-report.h"
|
||||
#include "hw/xen/xen_backend.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
#include "chardev/char.h"
|
||||
#include "sysemu/accel.h"
|
||||
#include "migration/misc.h"
|
||||
|
@ -30,7 +30,7 @@
|
||||
#include "hw/boards.h"
|
||||
#include "qemu/log.h"
|
||||
#include "qapi/error.h"
|
||||
#include "hw/xen/xen_backend.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
#include "hw/xen/xen_pvdev.h"
|
||||
#include "monitor/qdev.h"
|
||||
|
||||
@ -42,49 +42,54 @@ BusState *xen_sysbus;
|
||||
/* ------------------------------------------------------------- */
|
||||
|
||||
/* public */
|
||||
struct xs_handle *xenstore = NULL;
|
||||
struct xs_handle *xenstore;
|
||||
const char *xen_protocol;
|
||||
|
||||
/* private */
|
||||
static bool xen_feature_grant_copy;
|
||||
static int debug;
|
||||
|
||||
int xenstore_write_be_str(struct XenDevice *xendev, const char *node, const char *val)
|
||||
int xenstore_write_be_str(struct XenLegacyDevice *xendev, const char *node,
|
||||
const char *val)
|
||||
{
|
||||
return xenstore_write_str(xendev->be, node, val);
|
||||
}
|
||||
|
||||
int xenstore_write_be_int(struct XenDevice *xendev, const char *node, int ival)
|
||||
int xenstore_write_be_int(struct XenLegacyDevice *xendev, const char *node,
|
||||
int ival)
|
||||
{
|
||||
return xenstore_write_int(xendev->be, node, ival);
|
||||
}
|
||||
|
||||
int xenstore_write_be_int64(struct XenDevice *xendev, const char *node, int64_t ival)
|
||||
int xenstore_write_be_int64(struct XenLegacyDevice *xendev, const char *node,
|
||||
int64_t ival)
|
||||
{
|
||||
return xenstore_write_int64(xendev->be, node, ival);
|
||||
}
|
||||
|
||||
char *xenstore_read_be_str(struct XenDevice *xendev, const char *node)
|
||||
char *xenstore_read_be_str(struct XenLegacyDevice *xendev, const char *node)
|
||||
{
|
||||
return xenstore_read_str(xendev->be, node);
|
||||
}
|
||||
|
||||
int xenstore_read_be_int(struct XenDevice *xendev, const char *node, int *ival)
|
||||
int xenstore_read_be_int(struct XenLegacyDevice *xendev, const char *node,
|
||||
int *ival)
|
||||
{
|
||||
return xenstore_read_int(xendev->be, node, ival);
|
||||
}
|
||||
|
||||
char *xenstore_read_fe_str(struct XenDevice *xendev, const char *node)
|
||||
char *xenstore_read_fe_str(struct XenLegacyDevice *xendev, const char *node)
|
||||
{
|
||||
return xenstore_read_str(xendev->fe, node);
|
||||
}
|
||||
|
||||
int xenstore_read_fe_int(struct XenDevice *xendev, const char *node, int *ival)
|
||||
int xenstore_read_fe_int(struct XenLegacyDevice *xendev, const char *node,
|
||||
int *ival)
|
||||
{
|
||||
return xenstore_read_int(xendev->fe, node, ival);
|
||||
}
|
||||
|
||||
int xenstore_read_fe_uint64(struct XenDevice *xendev, const char *node,
|
||||
int xenstore_read_fe_uint64(struct XenLegacyDevice *xendev, const char *node,
|
||||
uint64_t *uval)
|
||||
{
|
||||
return xenstore_read_uint64(xendev->fe, node, uval);
|
||||
@ -92,7 +97,7 @@ int xenstore_read_fe_uint64(struct XenDevice *xendev, const char *node,
|
||||
|
||||
/* ------------------------------------------------------------- */
|
||||
|
||||
int xen_be_set_state(struct XenDevice *xendev, enum xenbus_state state)
|
||||
int xen_be_set_state(struct XenLegacyDevice *xendev, enum xenbus_state state)
|
||||
{
|
||||
int rc;
|
||||
|
||||
@ -106,7 +111,7 @@ int xen_be_set_state(struct XenDevice *xendev, enum xenbus_state state)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void xen_be_set_max_grant_refs(struct XenDevice *xendev,
|
||||
void xen_be_set_max_grant_refs(struct XenLegacyDevice *xendev,
|
||||
unsigned int nr_refs)
|
||||
{
|
||||
assert(xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV);
|
||||
@ -117,7 +122,7 @@ void xen_be_set_max_grant_refs(struct XenDevice *xendev,
|
||||
}
|
||||
}
|
||||
|
||||
void *xen_be_map_grant_refs(struct XenDevice *xendev, uint32_t *refs,
|
||||
void *xen_be_map_grant_refs(struct XenLegacyDevice *xendev, uint32_t *refs,
|
||||
unsigned int nr_refs, int prot)
|
||||
{
|
||||
void *ptr;
|
||||
@ -135,7 +140,7 @@ void *xen_be_map_grant_refs(struct XenDevice *xendev, uint32_t *refs,
|
||||
return ptr;
|
||||
}
|
||||
|
||||
void xen_be_unmap_grant_refs(struct XenDevice *xendev, void *ptr,
|
||||
void xen_be_unmap_grant_refs(struct XenLegacyDevice *xendev, void *ptr,
|
||||
unsigned int nr_refs)
|
||||
{
|
||||
assert(xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV);
|
||||
@ -146,7 +151,7 @@ void xen_be_unmap_grant_refs(struct XenDevice *xendev, void *ptr,
|
||||
}
|
||||
}
|
||||
|
||||
static int compat_copy_grant_refs(struct XenDevice *xendev,
|
||||
static int compat_copy_grant_refs(struct XenLegacyDevice *xendev,
|
||||
bool to_domain,
|
||||
XenGrantCopySegment segs[],
|
||||
unsigned int nr_segs)
|
||||
@ -195,7 +200,7 @@ static int compat_copy_grant_refs(struct XenDevice *xendev,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int xen_be_copy_grant_refs(struct XenDevice *xendev,
|
||||
int xen_be_copy_grant_refs(struct XenLegacyDevice *xendev,
|
||||
bool to_domain,
|
||||
XenGrantCopySegment segs[],
|
||||
unsigned int nr_segs)
|
||||
@ -259,10 +264,11 @@ int xen_be_copy_grant_refs(struct XenDevice *xendev,
|
||||
/*
|
||||
* get xen backend device, allocate a new one if it doesn't exist.
|
||||
*/
|
||||
static struct XenDevice *xen_be_get_xendev(const char *type, int dom, int dev,
|
||||
struct XenDevOps *ops)
|
||||
static struct XenLegacyDevice *xen_be_get_xendev(const char *type, int dom,
|
||||
int dev,
|
||||
struct XenDevOps *ops)
|
||||
{
|
||||
struct XenDevice *xendev;
|
||||
struct XenLegacyDevice *xendev;
|
||||
|
||||
xendev = xen_pv_find_xendev(type, dom, dev);
|
||||
if (xendev) {
|
||||
@ -314,7 +320,8 @@ static struct XenDevice *xen_be_get_xendev(const char *type, int dom, int dev,
|
||||
* Node specifies the changed field. node = NULL means
|
||||
* update all fields (used for initialization).
|
||||
*/
|
||||
static void xen_be_backend_changed(struct XenDevice *xendev, const char *node)
|
||||
static void xen_be_backend_changed(struct XenLegacyDevice *xendev,
|
||||
const char *node)
|
||||
{
|
||||
if (node == NULL || strcmp(node, "online") == 0) {
|
||||
if (xenstore_read_be_int(xendev, "online", &xendev->online) == -1) {
|
||||
@ -330,7 +337,8 @@ static void xen_be_backend_changed(struct XenDevice *xendev, const char *node)
|
||||
}
|
||||
}
|
||||
|
||||
static void xen_be_frontend_changed(struct XenDevice *xendev, const char *node)
|
||||
static void xen_be_frontend_changed(struct XenLegacyDevice *xendev,
|
||||
const char *node)
|
||||
{
|
||||
int fe_state;
|
||||
|
||||
@ -373,7 +381,7 @@ static void xen_be_frontend_changed(struct XenDevice *xendev, const char *node)
|
||||
* only affects the xendev->be_state variable as xenbus should
|
||||
* already be put into that state by xend.
|
||||
*/
|
||||
static int xen_be_try_setup(struct XenDevice *xendev)
|
||||
static int xen_be_try_setup(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
char token[XEN_BUFSIZE];
|
||||
int be_state;
|
||||
@ -417,7 +425,7 @@ static int xen_be_try_setup(struct XenDevice *xendev)
|
||||
*
|
||||
* Goes to InitWait on success.
|
||||
*/
|
||||
static int xen_be_try_init(struct XenDevice *xendev)
|
||||
static int xen_be_try_init(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
int rc = 0;
|
||||
|
||||
@ -446,7 +454,7 @@ static int xen_be_try_init(struct XenDevice *xendev)
|
||||
*
|
||||
* Goes to Connected on success.
|
||||
*/
|
||||
static int xen_be_try_initialise(struct XenDevice *xendev)
|
||||
static int xen_be_try_initialise(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
int rc = 0;
|
||||
|
||||
@ -487,7 +495,7 @@ static int xen_be_try_initialise(struct XenDevice *xendev)
|
||||
* frontend being Connected. Note that this may be called more
|
||||
* than once since the backend state is not modified.
|
||||
*/
|
||||
static void xen_be_try_connected(struct XenDevice *xendev)
|
||||
static void xen_be_try_connected(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
if (!xendev->ops->connected) {
|
||||
return;
|
||||
@ -510,7 +518,8 @@ static void xen_be_try_connected(struct XenDevice *xendev)
|
||||
*
|
||||
* Goes to Closed when done.
|
||||
*/
|
||||
static void xen_be_disconnect(struct XenDevice *xendev, enum xenbus_state state)
|
||||
static void xen_be_disconnect(struct XenLegacyDevice *xendev,
|
||||
enum xenbus_state state)
|
||||
{
|
||||
if (xendev->be_state != XenbusStateClosing &&
|
||||
xendev->be_state != XenbusStateClosed &&
|
||||
@ -529,7 +538,7 @@ static void xen_be_disconnect(struct XenDevice *xendev, enum xenbus_state state)
|
||||
/*
|
||||
* Try to reset xendev, for reconnection by another frontend instance.
|
||||
*/
|
||||
static int xen_be_try_reset(struct XenDevice *xendev)
|
||||
static int xen_be_try_reset(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
if (xendev->fe_state != XenbusStateInitialising) {
|
||||
return -1;
|
||||
@ -543,7 +552,7 @@ static int xen_be_try_reset(struct XenDevice *xendev)
|
||||
/*
|
||||
* state change dispatcher function
|
||||
*/
|
||||
void xen_be_check_state(struct XenDevice *xendev)
|
||||
void xen_be_check_state(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
int rc = 0;
|
||||
|
||||
@ -587,7 +596,7 @@ void xen_be_check_state(struct XenDevice *xendev)
|
||||
|
||||
static int xenstore_scan(const char *type, int dom, struct XenDevOps *ops)
|
||||
{
|
||||
struct XenDevice *xendev;
|
||||
struct XenLegacyDevice *xendev;
|
||||
char path[XEN_BUFSIZE], token[XEN_BUFSIZE];
|
||||
char **dev = NULL;
|
||||
unsigned int cdev, j;
|
||||
@ -620,7 +629,7 @@ static int xenstore_scan(const char *type, int dom, struct XenDevOps *ops)
|
||||
void xenstore_update_be(char *watch, char *type, int dom,
|
||||
struct XenDevOps *ops)
|
||||
{
|
||||
struct XenDevice *xendev;
|
||||
struct XenLegacyDevice *xendev;
|
||||
char path[XEN_BUFSIZE], *bepath;
|
||||
unsigned int len, dev;
|
||||
|
||||
@ -628,9 +637,9 @@ void xenstore_update_be(char *watch, char *type, int dom,
|
||||
if (strncmp(path, watch, len) != 0) {
|
||||
return;
|
||||
}
|
||||
if (sscanf(watch+len, "/%u/%255s", &dev, path) != 2) {
|
||||
if (sscanf(watch + len, "/%u/%255s", &dev, path) != 2) {
|
||||
strcpy(path, "");
|
||||
if (sscanf(watch+len, "/%u", &dev) != 1) {
|
||||
if (sscanf(watch + len, "/%u", &dev) != 1) {
|
||||
dev = -1;
|
||||
}
|
||||
}
|
||||
@ -651,7 +660,7 @@ void xenstore_update_be(char *watch, char *type, int dom,
|
||||
}
|
||||
}
|
||||
|
||||
void xenstore_update_fe(char *watch, struct XenDevice *xendev)
|
||||
void xenstore_update_fe(char *watch, struct XenLegacyDevice *xendev)
|
||||
{
|
||||
char *node;
|
||||
unsigned int len;
|
||||
@ -753,7 +762,7 @@ void xen_be_register_common(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
int xen_be_bind_evtchn(struct XenDevice *xendev)
|
||||
int xen_be_bind_evtchn(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
if (xendev->local_port != -1) {
|
||||
return 0;
|
||||
@ -789,7 +798,7 @@ static const TypeInfo xendev_type_info = {
|
||||
.name = TYPE_XENBACKEND,
|
||||
.parent = TYPE_XENSYSDEV,
|
||||
.class_init = xendev_class_init,
|
||||
.instance_size = sizeof(struct XenDevice),
|
||||
.instance_size = sizeof(struct XenLegacyDevice),
|
||||
};
|
||||
|
||||
static void xen_sysbus_class_init(ObjectClass *klass, void *data)
|
@ -1,5 +1,5 @@
|
||||
#include "qemu/osdep.h"
|
||||
#include "hw/xen/xen_backend.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
#include "qemu/option.h"
|
||||
#include "sysemu/blockdev.h"
|
||||
|
||||
|
@ -59,7 +59,7 @@
|
||||
#include "hw/pci/pci.h"
|
||||
#include "hw/xen/xen.h"
|
||||
#include "hw/i386/pc.h"
|
||||
#include "hw/xen/xen_backend.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
#include "xen_pt.h"
|
||||
#include "qemu/range.h"
|
||||
#include "exec/address-spaces.h"
|
||||
|
@ -15,7 +15,7 @@
|
||||
#include "qemu/osdep.h"
|
||||
#include "qapi/error.h"
|
||||
#include "qemu/timer.h"
|
||||
#include "hw/xen/xen_backend.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
#include "xen_pt.h"
|
||||
|
||||
#define XEN_PT_MERGE_VALUE(value, data, val_mask) \
|
||||
|
@ -5,7 +5,7 @@
|
||||
#include "qapi/error.h"
|
||||
#include "xen_pt.h"
|
||||
#include "xen-host-pci-device.h"
|
||||
#include "hw/xen/xen_backend.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
|
||||
static unsigned long igd_guest_opregion;
|
||||
static unsigned long igd_host_opregion;
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
#include "qemu/osdep.h"
|
||||
|
||||
#include "hw/xen/xen_backend.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
#include "xen_pt.h"
|
||||
#include "hw/i386/apic-msidef.h"
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
#include "qemu/osdep.h"
|
||||
#include "qemu/log.h"
|
||||
#include "hw/qdev-core.h"
|
||||
#include "hw/xen/xen_backend.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
#include "hw/xen/xen_pvdev.h"
|
||||
|
||||
/* private */
|
||||
@ -34,7 +34,7 @@ struct xs_dirs {
|
||||
static QTAILQ_HEAD(, xs_dirs) xs_cleanup =
|
||||
QTAILQ_HEAD_INITIALIZER(xs_cleanup);
|
||||
|
||||
static QTAILQ_HEAD(, XenDevice) xendevs =
|
||||
static QTAILQ_HEAD(, XenLegacyDevice) xendevs =
|
||||
QTAILQ_HEAD_INITIALIZER(xendevs);
|
||||
|
||||
/* ------------------------------------------------------------- */
|
||||
@ -195,7 +195,7 @@ const char *xenbus_strstate(enum xenbus_state state)
|
||||
* 2 == noisy debug messages (logfile only).
|
||||
* 3 == will flood your log (logfile only).
|
||||
*/
|
||||
void xen_pv_printf(struct XenDevice *xendev, int msg_level,
|
||||
void xen_pv_printf(struct XenLegacyDevice *xendev, int msg_level,
|
||||
const char *fmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
@ -230,7 +230,7 @@ void xen_pv_printf(struct XenDevice *xendev, int msg_level,
|
||||
|
||||
void xen_pv_evtchn_event(void *opaque)
|
||||
{
|
||||
struct XenDevice *xendev = opaque;
|
||||
struct XenLegacyDevice *xendev = opaque;
|
||||
evtchn_port_t port;
|
||||
|
||||
port = xenevtchn_pending(xendev->evtchndev);
|
||||
@ -247,7 +247,7 @@ void xen_pv_evtchn_event(void *opaque)
|
||||
}
|
||||
}
|
||||
|
||||
void xen_pv_unbind_evtchn(struct XenDevice *xendev)
|
||||
void xen_pv_unbind_evtchn(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
if (xendev->local_port == -1) {
|
||||
return;
|
||||
@ -258,16 +258,16 @@ void xen_pv_unbind_evtchn(struct XenDevice *xendev)
|
||||
xendev->local_port = -1;
|
||||
}
|
||||
|
||||
int xen_pv_send_notify(struct XenDevice *xendev)
|
||||
int xen_pv_send_notify(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
return xenevtchn_notify(xendev->evtchndev, xendev->local_port);
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------- */
|
||||
|
||||
struct XenDevice *xen_pv_find_xendev(const char *type, int dom, int dev)
|
||||
struct XenLegacyDevice *xen_pv_find_xendev(const char *type, int dom, int dev)
|
||||
{
|
||||
struct XenDevice *xendev;
|
||||
struct XenLegacyDevice *xendev;
|
||||
|
||||
QTAILQ_FOREACH(xendev, &xendevs, next) {
|
||||
if (xendev->dom != dom) {
|
||||
@ -287,7 +287,7 @@ struct XenDevice *xen_pv_find_xendev(const char *type, int dom, int dev)
|
||||
/*
|
||||
* release xen backend device.
|
||||
*/
|
||||
void xen_pv_del_xendev(struct XenDevice *xendev)
|
||||
void xen_pv_del_xendev(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
if (xendev->ops->free) {
|
||||
xendev->ops->free(xendev);
|
||||
@ -312,7 +312,7 @@ void xen_pv_del_xendev(struct XenDevice *xendev)
|
||||
qdev_unplug(&xendev->qdev, NULL);
|
||||
}
|
||||
|
||||
void xen_pv_insert_xendev(struct XenDevice *xendev)
|
||||
void xen_pv_insert_xendev(struct XenLegacyDevice *xendev)
|
||||
{
|
||||
QTAILQ_INSERT_TAIL(&xendevs, xendev, next);
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include "qemu/osdep.h"
|
||||
#include "qemu/units.h"
|
||||
#include "hw/xen/xen_backend.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
#include "xen_domainbuild.h"
|
||||
#include "qemu/timer.h"
|
||||
#include "qemu/log.h"
|
||||
|
@ -26,7 +26,7 @@
|
||||
#include "qemu/error-report.h"
|
||||
#include "hw/hw.h"
|
||||
#include "hw/boards.h"
|
||||
#include "hw/xen/xen_backend.h"
|
||||
#include "hw/xen/xen-legacy-backend.h"
|
||||
#include "xen_domainbuild.h"
|
||||
#include "sysemu/block-backend.h"
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
#define TYPE_XENBACKEND "xen-backend"
|
||||
|
||||
#define XENBACKEND_DEVICE(obj) \
|
||||
OBJECT_CHECK(XenDevice, (obj), TYPE_XENBACKEND)
|
||||
OBJECT_CHECK(XenLegacyDevice, (obj), TYPE_XENBACKEND)
|
||||
|
||||
/* variables */
|
||||
extern struct xs_handle *xenstore;
|
||||
@ -20,32 +20,37 @@ extern DeviceState *xen_sysdev;
|
||||
extern BusState *xen_sysbus;
|
||||
|
||||
int xenstore_mkdir(char *path, int p);
|
||||
int xenstore_write_be_str(struct XenDevice *xendev, const char *node, const char *val);
|
||||
int xenstore_write_be_int(struct XenDevice *xendev, const char *node, int ival);
|
||||
int xenstore_write_be_int64(struct XenDevice *xendev, const char *node, int64_t ival);
|
||||
char *xenstore_read_be_str(struct XenDevice *xendev, const char *node);
|
||||
int xenstore_read_be_int(struct XenDevice *xendev, const char *node, int *ival);
|
||||
void xenstore_update_fe(char *watch, struct XenDevice *xendev);
|
||||
int xenstore_write_be_str(struct XenLegacyDevice *xendev, const char *node,
|
||||
const char *val);
|
||||
int xenstore_write_be_int(struct XenLegacyDevice *xendev, const char *node,
|
||||
int ival);
|
||||
int xenstore_write_be_int64(struct XenLegacyDevice *xendev, const char *node,
|
||||
int64_t ival);
|
||||
char *xenstore_read_be_str(struct XenLegacyDevice *xendev, const char *node);
|
||||
int xenstore_read_be_int(struct XenLegacyDevice *xendev, const char *node,
|
||||
int *ival);
|
||||
void xenstore_update_fe(char *watch, struct XenLegacyDevice *xendev);
|
||||
void xenstore_update_be(char *watch, char *type, int dom,
|
||||
struct XenDevOps *ops);
|
||||
char *xenstore_read_fe_str(struct XenDevice *xendev, const char *node);
|
||||
int xenstore_read_fe_int(struct XenDevice *xendev, const char *node, int *ival);
|
||||
int xenstore_read_fe_uint64(struct XenDevice *xendev, const char *node,
|
||||
char *xenstore_read_fe_str(struct XenLegacyDevice *xendev, const char *node);
|
||||
int xenstore_read_fe_int(struct XenLegacyDevice *xendev, const char *node,
|
||||
int *ival);
|
||||
int xenstore_read_fe_uint64(struct XenLegacyDevice *xendev, const char *node,
|
||||
uint64_t *uval);
|
||||
|
||||
void xen_be_check_state(struct XenDevice *xendev);
|
||||
void xen_be_check_state(struct XenLegacyDevice *xendev);
|
||||
|
||||
/* xen backend driver bits */
|
||||
int xen_be_init(void);
|
||||
void xen_be_register_common(void);
|
||||
int xen_be_register(const char *type, struct XenDevOps *ops);
|
||||
int xen_be_set_state(struct XenDevice *xendev, enum xenbus_state state);
|
||||
int xen_be_bind_evtchn(struct XenDevice *xendev);
|
||||
void xen_be_set_max_grant_refs(struct XenDevice *xendev,
|
||||
int xen_be_set_state(struct XenLegacyDevice *xendev, enum xenbus_state state);
|
||||
int xen_be_bind_evtchn(struct XenLegacyDevice *xendev);
|
||||
void xen_be_set_max_grant_refs(struct XenLegacyDevice *xendev,
|
||||
unsigned int nr_refs);
|
||||
void *xen_be_map_grant_refs(struct XenDevice *xendev, uint32_t *refs,
|
||||
void *xen_be_map_grant_refs(struct XenLegacyDevice *xendev, uint32_t *refs,
|
||||
unsigned int nr_refs, int prot);
|
||||
void xen_be_unmap_grant_refs(struct XenDevice *xendev, void *ptr,
|
||||
void xen_be_unmap_grant_refs(struct XenLegacyDevice *xendev, void *ptr,
|
||||
unsigned int nr_refs);
|
||||
|
||||
typedef struct XenGrantCopySegment {
|
||||
@ -59,17 +64,17 @@ typedef struct XenGrantCopySegment {
|
||||
size_t len;
|
||||
} XenGrantCopySegment;
|
||||
|
||||
int xen_be_copy_grant_refs(struct XenDevice *xendev,
|
||||
int xen_be_copy_grant_refs(struct XenLegacyDevice *xendev,
|
||||
bool to_domain, XenGrantCopySegment segs[],
|
||||
unsigned int nr_segs);
|
||||
|
||||
static inline void *xen_be_map_grant_ref(struct XenDevice *xendev,
|
||||
static inline void *xen_be_map_grant_ref(struct XenLegacyDevice *xendev,
|
||||
uint32_t ref, int prot)
|
||||
{
|
||||
return xen_be_map_grant_refs(xendev, &ref, 1, prot);
|
||||
}
|
||||
|
||||
static inline void xen_be_unmap_grant_ref(struct XenDevice *xendev,
|
||||
static inline void xen_be_unmap_grant_ref(struct XenLegacyDevice *xendev,
|
||||
void *ptr)
|
||||
{
|
||||
return xen_be_unmap_grant_refs(xendev, ptr, 1);
|
@ -6,7 +6,7 @@
|
||||
|
||||
#define XEN_BUFSIZE 1024
|
||||
|
||||
struct XenDevice;
|
||||
struct XenLegacyDevice;
|
||||
|
||||
/* driver uses grant tables -> open gntdev device (xendev->gnttabdev) */
|
||||
#define DEVOPS_FLAG_NEED_GNTDEV 1
|
||||
@ -16,19 +16,21 @@ struct XenDevice;
|
||||
struct XenDevOps {
|
||||
size_t size;
|
||||
uint32_t flags;
|
||||
void (*alloc)(struct XenDevice *xendev);
|
||||
int (*init)(struct XenDevice *xendev);
|
||||
int (*initialise)(struct XenDevice *xendev);
|
||||
void (*connected)(struct XenDevice *xendev);
|
||||
void (*event)(struct XenDevice *xendev);
|
||||
void (*disconnect)(struct XenDevice *xendev);
|
||||
int (*free)(struct XenDevice *xendev);
|
||||
void (*backend_changed)(struct XenDevice *xendev, const char *node);
|
||||
void (*frontend_changed)(struct XenDevice *xendev, const char *node);
|
||||
void (*alloc)(struct XenLegacyDevice *xendev);
|
||||
int (*init)(struct XenLegacyDevice *xendev);
|
||||
int (*initialise)(struct XenLegacyDevice *xendev);
|
||||
void (*connected)(struct XenLegacyDevice *xendev);
|
||||
void (*event)(struct XenLegacyDevice *xendev);
|
||||
void (*disconnect)(struct XenLegacyDevice *xendev);
|
||||
int (*free)(struct XenLegacyDevice *xendev);
|
||||
void (*backend_changed)(struct XenLegacyDevice *xendev,
|
||||
const char *node);
|
||||
void (*frontend_changed)(struct XenLegacyDevice *xendev,
|
||||
const char *node);
|
||||
int (*backend_register)(void);
|
||||
};
|
||||
|
||||
struct XenDevice {
|
||||
struct XenLegacyDevice {
|
||||
DeviceState qdev;
|
||||
const char *type;
|
||||
int dom;
|
||||
@ -49,7 +51,7 @@ struct XenDevice {
|
||||
xengnttab_handle *gnttabdev;
|
||||
|
||||
struct XenDevOps *ops;
|
||||
QTAILQ_ENTRY(XenDevice) next;
|
||||
QTAILQ_ENTRY(XenLegacyDevice) next;
|
||||
};
|
||||
|
||||
/* ------------------------------------------------------------- */
|
||||
@ -66,14 +68,14 @@ void xenstore_update(void *unused);
|
||||
const char *xenbus_strstate(enum xenbus_state state);
|
||||
|
||||
void xen_pv_evtchn_event(void *opaque);
|
||||
void xen_pv_insert_xendev(struct XenDevice *xendev);
|
||||
void xen_pv_del_xendev(struct XenDevice *xendev);
|
||||
struct XenDevice *xen_pv_find_xendev(const char *type, int dom, int dev);
|
||||
void xen_pv_insert_xendev(struct XenLegacyDevice *xendev);
|
||||
void xen_pv_del_xendev(struct XenLegacyDevice *xendev);
|
||||
struct XenLegacyDevice *xen_pv_find_xendev(const char *type, int dom, int dev);
|
||||
|
||||
void xen_pv_unbind_evtchn(struct XenDevice *xendev);
|
||||
int xen_pv_send_notify(struct XenDevice *xendev);
|
||||
void xen_pv_unbind_evtchn(struct XenLegacyDevice *xendev);
|
||||
int xen_pv_send_notify(struct XenLegacyDevice *xendev);
|
||||
|
||||
void xen_pv_printf(struct XenDevice *xendev, int msg_level,
|
||||
void xen_pv_printf(struct XenLegacyDevice *xendev, int msg_level,
|
||||
const char *fmt, ...) GCC_FMT_ATTR(3, 4);
|
||||
|
||||
#endif /* QEMU_HW_XEN_PVDEV_H */
|
||||
|
Loading…
Reference in New Issue
Block a user