From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MrGhN-0006cP-Ey for qemu-devel@nongnu.org; Fri, 25 Sep 2009 15:43:21 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MrGhI-0006WZ-L1 for qemu-devel@nongnu.org; Fri, 25 Sep 2009 15:43:20 -0400 Received: from [199.232.76.173] (port=56067 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MrGhI-0006WI-1q for qemu-devel@nongnu.org; Fri, 25 Sep 2009 15:43:16 -0400 Received: from mx1.redhat.com ([209.132.183.28]:34291) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MrGhH-0004gU-2d for qemu-devel@nongnu.org; Fri, 25 Sep 2009 15:43:15 -0400 Received: from int-mx04.intmail.prod.int.phx2.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.17]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n8PJhEAp024400 for ; Fri, 25 Sep 2009 15:43:14 -0400 From: Gerd Hoffmann Date: Fri, 25 Sep 2009 21:43:03 +0200 Message-Id: <1253907783-1231-4-git-send-email-kraxel@redhat.com> In-Reply-To: <1253907783-1231-1-git-send-email-kraxel@redhat.com> References: <1253907783-1231-1-git-send-email-kraxel@redhat.com> Subject: [Qemu-devel] [RfC PATCH 3/3] ne2k_isa: qdev-ify. List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Gerd Hoffmann --- hw/ne2000-isa.c | 14 +++++++++----- hw/ne2000.h | 3 ++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/hw/ne2000-isa.c b/hw/ne2000-isa.c index 54c0478..a8c2c43 100644 --- a/hw/ne2000-isa.c +++ b/hw/ne2000-isa.c @@ -65,10 +65,11 @@ static int isa_ne2000_initfn(ISADevice *dev) isa_init_irq(dev, &s->irq, isa->isairq); - qdev_get_macaddr(&dev->qdev, s->macaddr); + qemu_macaddr_default_if_unset(s->macaddr); ne2000_reset(s); - s->vc = qdev_get_vlan_client(&dev->qdev, + s->vc = qemu_new_vlan_client(qemu_find_vlan(s->vlan, 1), + dev->qdev.info->name, dev->qdev.id, ne2000_can_receive, ne2000_receive, NULL, isa_ne2000_cleanup, s); qemu_format_nic_info_str(s->vc, s->macaddr); @@ -84,9 +85,10 @@ void isa_ne2000_init(int base, int irq, NICInfo *nd) qemu_check_nic_model(nd, "ne2k_isa"); dev = isa_create("ne2k_isa"); - dev->qdev.nd = nd; /* hack alert */ qdev_prop_set_uint32(&dev->qdev, "iobase", base); qdev_prop_set_uint32(&dev->qdev, "irq", irq); + qdev_prop_set_uint32(&dev->qdev, "vlan", nd->vlan->id); + qdev_prop_set_macaddr(&dev->qdev, "mac", nd->macaddr); qdev_init(&dev->qdev); } @@ -95,8 +97,10 @@ static ISADeviceInfo ne2000_isa_info = { .qdev.size = sizeof(ISANE2000State), .init = isa_ne2000_initfn, .qdev.props = (Property[]) { - DEFINE_PROP_HEX32("iobase", ISANE2000State, iobase, 0x300), - DEFINE_PROP_UINT32("irq", ISANE2000State, isairq, 9), + DEFINE_PROP_HEX32("iobase", ISANE2000State, iobase, 0x300), + DEFINE_PROP_UINT32("irq", ISANE2000State, isairq, 9), + DEFINE_PROP_UINT32("vlan", ISANE2000State, ne2000.vlan, 0), + DEFINE_PROP_MACADDR("mac", ISANE2000State, ne2000.macaddr), DEFINE_PROP_END_OF_LIST(), }, }; diff --git a/hw/ne2000.h b/hw/ne2000.h index 92a2ddb..151c78e 100644 --- a/hw/ne2000.h +++ b/hw/ne2000.h @@ -22,8 +22,9 @@ typedef struct NE2000State { uint8_t curpag; uint8_t mult[8]; /* multicast mask array */ qemu_irq irq; + uint32_t vlan; VLANClientState *vc; - uint8_t macaddr[6]; + macaddr_t macaddr; uint8_t mem[NE2000_MEM_SIZE]; } NE2000State; -- 1.6.2.5