From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MvVlE-0008Em-18 for qemu-devel@nongnu.org; Wed, 07 Oct 2009 08:36:52 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MvVl8-0008BJ-Py for qemu-devel@nongnu.org; Wed, 07 Oct 2009 08:36:51 -0400 Received: from [199.232.76.173] (port=56747 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MvVl8-0008B8-LJ for qemu-devel@nongnu.org; Wed, 07 Oct 2009 08:36:46 -0400 Received: from mx1.redhat.com ([209.132.183.28]:9169) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MvVl8-0004PB-1H for qemu-devel@nongnu.org; Wed, 07 Oct 2009 08:36:46 -0400 Received: from int-mx03.intmail.prod.int.phx2.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n97Cajj6028736 for ; Wed, 7 Oct 2009 08:36:45 -0400 From: Gerd Hoffmann Date: Wed, 7 Oct 2009 14:36:36 +0200 Message-Id: <1254918996-26050-6-git-send-email-kraxel@redhat.com> In-Reply-To: <1254918996-26050-1-git-send-email-kraxel@redhat.com> References: <1254918996-26050-1-git-send-email-kraxel@redhat.com> Subject: [Qemu-devel] [RFC PATCH v2 5/5] ne2k_isa: add property for option rom loading. List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Gerd Hoffmann Moving option rom loading from machine init to the (nic) drivers. Signed-off-by: Gerd Hoffmann --- hw/ne2000-isa.c | 9 +++++++++ hw/ne2000.h | 1 + 2 files changed, 10 insertions(+), 0 deletions(-) diff --git a/hw/ne2000-isa.c b/hw/ne2000-isa.c index 7a24088..1d296a0 100644 --- a/hw/ne2000-isa.c +++ b/hw/ne2000-isa.c @@ -27,6 +27,7 @@ #include "qdev.h" #include "net.h" #include "ne2000.h" +#include "loader.h" typedef struct ISANE2000State { ISADevice dev; @@ -78,6 +79,13 @@ static int isa_ne2000_initfn(ISADevice *dev) qemu_error("warning: no vlan specfied, ne2k_isa is unconnected\n"); } + if (s->pxe) { + if (rom_add_option("pxe-ne2k_isa.bin") != 0) { + qemu_error("warning: loading rom pxe-ne2k_isa.bin failed\n"); + s->pxe = 0; + } + } + register_savevm("ne2000", -1, 2, ne2000_save, ne2000_load, s); return 0; } @@ -104,6 +112,7 @@ static ISADeviceInfo ne2000_isa_info = { .qdev.props = (Property[]) { DEFINE_PROP_HEX32("iobase", ISANE2000State, iobase, 0x300), DEFINE_PROP_UINT32("irq", ISANE2000State, isairq, 9), + DEFINE_PROP_UINT32("pxe", ISANE2000State, ne2000.pxe, 0), DEFINE_PROP_MACADDR("mac", ISANE2000State, ne2000.macaddr), DEFINE_PROP_INT32("vlan", ISANE2000State, ne2000.vlan, -1), DEFINE_PROP_END_OF_LIST(), diff --git a/hw/ne2000.h b/hw/ne2000.h index 7936fb2..febaf6a 100644 --- a/hw/ne2000.h +++ b/hw/ne2000.h @@ -23,6 +23,7 @@ typedef struct NE2000State { uint8_t mult[8]; /* multicast mask array */ qemu_irq irq; int32_t vlan; + uint32_t pxe; VLANClientState *vc; macaddr_t macaddr; uint8_t mem[NE2000_MEM_SIZE]; -- 1.6.2.5