aboutsummaryrefslogtreecommitdiffstats
path: root/hw/pcnet.c
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2011-10-07 12:27:25 +0200
committerAnthony Liguori <aliguori@us.ibm.com>2011-11-01 16:52:09 -0500
commite1c2008af64487e7d3cec615612b7f467ebe9bc8 (patch)
tree167fef4694a67733ab984d28f3ad4561768d9e8b /hw/pcnet.c
parent7ba7974197090285fdb413c6e1c41aaacd44b9c4 (diff)
pcnet: Add link state support
Update lnkst on link state changes so that guests can obtain this information via reading back the LED output pin. Works for Linux but not for guests that depend on the missing PHY. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'hw/pcnet.c')
-rw-r--r--hw/pcnet.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/hw/pcnet.c b/hw/pcnet.c
index add3ec255..cba253ba7 100644
--- a/hw/pcnet.c
+++ b/hw/pcnet.c
@@ -1197,6 +1197,13 @@ ssize_t pcnet_receive(VLANClientState *nc, const uint8_t *buf, size_t size_)
return size_;
}
+void pcnet_set_link_status(VLANClientState *nc)
+{
+ PCNetState *d = DO_UPCAST(NICState, nc, nc)->opaque;
+
+ d->lnkst = nc->link_down ? 0 : 0x40;
+}
+
static void pcnet_transmit(PCNetState *s)
{
target_phys_addr_t xmit_cxda = 0;