unsigned long flags;
uint8_t data = 0;
struct vpl011 *vpl011 = &d->arch.vpl011;
- struct xencons_interface *intf = vpl011->ring_buf;
+ struct xencons_interface *intf = vpl011->backend.dom.ring_buf;
XENCONS_RING_IDX in_cons, in_prod;
VPL011_LOCK(d, flags);
static void vpl011_update_tx_fifo_status(struct vpl011 *vpl011,
unsigned int fifo_level)
{
- struct xencons_interface *intf = vpl011->ring_buf;
+ struct xencons_interface *intf = vpl011->backend.dom.ring_buf;
unsigned int fifo_threshold = sizeof(intf->out) - SBSA_UART_FIFO_LEVEL;
BUILD_BUG_ON(sizeof(intf->out) < SBSA_UART_FIFO_SIZE);
{
unsigned long flags;
struct vpl011 *vpl011 = &d->arch.vpl011;
- struct xencons_interface *intf = vpl011->ring_buf;
+ struct xencons_interface *intf = vpl011->backend.dom.ring_buf;
XENCONS_RING_IDX out_cons, out_prod;
VPL011_LOCK(d, flags);
{
unsigned long flags;
struct vpl011 *vpl011 = &d->arch.vpl011;
- struct xencons_interface *intf = vpl011->ring_buf;
+ struct xencons_interface *intf = vpl011->backend.dom.ring_buf;
XENCONS_RING_IDX in_cons, in_prod, out_cons, out_prod;
XENCONS_RING_IDX in_fifo_level, out_fifo_level;
int rc;
struct vpl011 *vpl011 = &d->arch.vpl011;
- if ( vpl011->ring_buf )
+ if ( vpl011->backend.dom.ring_buf )
return -EINVAL;
/* Map the guest PFN to Xen address space. */
rc = prepare_ring_for_helper(d,
gfn_x(info->gfn),
- &vpl011->ring_page,
- &vpl011->ring_buf);
+ &vpl011->backend.dom.ring_page,
+ &vpl011->backend.dom.ring_buf);
if ( rc < 0 )
goto out;
vgic_free_virq(d, GUEST_VPL011_SPI);
out1:
- destroy_ring_for_helper(&vpl011->ring_buf, vpl011->ring_page);
+ destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
+ vpl011->backend.dom.ring_page);
out:
return rc;
{
struct vpl011 *vpl011 = &d->arch.vpl011;
- if ( !vpl011->ring_buf )
+ if ( !vpl011->backend.dom.ring_buf )
return;
free_xen_event_channel(d, vpl011->evtchn);
- destroy_ring_for_helper(&vpl011->ring_buf, vpl011->ring_page);
+ destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
+ vpl011->backend.dom.ring_page);
}
/*