mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
net: introduce qemu_get_queue()
To support multiqueue, the patch introduce a helper qemu_get_queue() which is used to get the NetClientState of a device. The following patches would refactor this helper to support multiqueue. Signed-off-by: Jason Wang <jasowang@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
28a65891a0
commit
b356f76de3
28 changed files with 140 additions and 115 deletions
14
hw/rtl8139.c
14
hw/rtl8139.c
|
@ -1259,7 +1259,7 @@ static void rtl8139_reset(DeviceState *d)
|
|||
//s->BasicModeStatus |= 0x0040; /* UTP medium */
|
||||
s->BasicModeStatus |= 0x0020; /* autonegotiation completed */
|
||||
/* preserve link state */
|
||||
s->BasicModeStatus |= s->nic->nc.link_down ? 0 : 0x04;
|
||||
s->BasicModeStatus |= qemu_get_queue(s->nic)->link_down ? 0 : 0x04;
|
||||
|
||||
s->NWayAdvert = 0x05e1; /* all modes, full duplex */
|
||||
s->NWayLPAR = 0x05e1; /* all modes, full duplex */
|
||||
|
@ -1787,7 +1787,7 @@ static void rtl8139_transfer_frame(RTL8139State *s, uint8_t *buf, int size,
|
|||
}
|
||||
|
||||
DPRINTF("+++ transmit loopback mode\n");
|
||||
rtl8139_do_receive(&s->nic->nc, buf, size, do_interrupt);
|
||||
rtl8139_do_receive(qemu_get_queue(s->nic), buf, size, do_interrupt);
|
||||
|
||||
if (iov) {
|
||||
g_free(buf2);
|
||||
|
@ -1796,9 +1796,9 @@ static void rtl8139_transfer_frame(RTL8139State *s, uint8_t *buf, int size,
|
|||
else
|
||||
{
|
||||
if (iov) {
|
||||
qemu_sendv_packet(&s->nic->nc, iov, 3);
|
||||
qemu_sendv_packet(qemu_get_queue(s->nic), iov, 3);
|
||||
} else {
|
||||
qemu_send_packet(&s->nic->nc, buf, size);
|
||||
qemu_send_packet(qemu_get_queue(s->nic), buf, size);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3230,7 +3230,7 @@ static int rtl8139_post_load(void *opaque, int version_id)
|
|||
|
||||
/* nc.link_down can't be migrated, so infer link_down according
|
||||
* to link status bit in BasicModeStatus */
|
||||
s->nic->nc.link_down = (s->BasicModeStatus & 0x04) == 0;
|
||||
qemu_get_queue(s->nic)->link_down = (s->BasicModeStatus & 0x04) == 0;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -3446,7 +3446,7 @@ static void pci_rtl8139_uninit(PCIDevice *dev)
|
|||
}
|
||||
qemu_del_timer(s->timer);
|
||||
qemu_free_timer(s->timer);
|
||||
qemu_del_net_client(&s->nic->nc);
|
||||
qemu_del_net_client(qemu_get_queue(s->nic));
|
||||
}
|
||||
|
||||
static void rtl8139_set_link_status(NetClientState *nc)
|
||||
|
@ -3503,7 +3503,7 @@ static int pci_rtl8139_init(PCIDevice *dev)
|
|||
|
||||
s->nic = qemu_new_nic(&net_rtl8139_info, &s->conf,
|
||||
object_get_typename(OBJECT(dev)), dev->qdev.id, s);
|
||||
qemu_format_nic_info_str(&s->nic->nc, s->conf.macaddr.a);
|
||||
qemu_format_nic_info_str(qemu_get_queue(s->nic), s->conf.macaddr.a);
|
||||
|
||||
s->cplus_txbuffer = NULL;
|
||||
s->cplus_txbuffer_len = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue