xref: /openbmc/qemu/include/hw/net/ne2000-isa.h (revision 29b008927ef6e3fbb70e6607b25d3fcae26a5190)
1489983d6SPhilippe Mathieu-Daudé /*
2489983d6SPhilippe Mathieu-Daudé  * QEMU NE2000 emulation -- isa bus windup
3489983d6SPhilippe Mathieu-Daudé  *
4489983d6SPhilippe Mathieu-Daudé  * Copyright (c) 2003-2004 Fabrice Bellard
5489983d6SPhilippe Mathieu-Daudé  *
6489983d6SPhilippe Mathieu-Daudé  * This work is licensed under the terms of the GNU GPL, version 2 or later.
7489983d6SPhilippe Mathieu-Daudé  * See the COPYING file in the top-level directory.
8489983d6SPhilippe Mathieu-Daudé  */
9e7a3c55aSPhilippe Mathieu-Daudé 
1058ea30f5SMarkus Armbruster #ifndef HW_NET_NE2000_ISA_H
1158ea30f5SMarkus Armbruster #define HW_NET_NE2000_ISA_H
12e7a3c55aSPhilippe Mathieu-Daudé 
13489983d6SPhilippe Mathieu-Daudé #include "hw/isa/isa.h"
14a27bd6c7SMarkus Armbruster #include "hw/qdev-properties.h"
15489983d6SPhilippe Mathieu-Daudé #include "net/net.h"
16*c23e0561SMarkus Armbruster #include "qapi/error.h"
17489983d6SPhilippe Mathieu-Daudé 
18489983d6SPhilippe Mathieu-Daudé #define TYPE_ISA_NE2000 "ne2k_isa"
19489983d6SPhilippe Mathieu-Daudé 
isa_ne2000_init(ISABus * bus,int base,int irq,NICInfo * nd)20489983d6SPhilippe Mathieu-Daudé static inline ISADevice *isa_ne2000_init(ISABus *bus, int base, int irq,
21489983d6SPhilippe Mathieu-Daudé                                          NICInfo *nd)
22489983d6SPhilippe Mathieu-Daudé {
23489983d6SPhilippe Mathieu-Daudé     ISADevice *d;
24489983d6SPhilippe Mathieu-Daudé 
25*c23e0561SMarkus Armbruster     d = isa_try_new(TYPE_ISA_NE2000);
26489983d6SPhilippe Mathieu-Daudé     if (d) {
27489983d6SPhilippe Mathieu-Daudé         DeviceState *dev = DEVICE(d);
28489983d6SPhilippe Mathieu-Daudé 
29489983d6SPhilippe Mathieu-Daudé         qdev_prop_set_uint32(dev, "iobase", base);
30489983d6SPhilippe Mathieu-Daudé         qdev_prop_set_uint32(dev, "irq",    irq);
31489983d6SPhilippe Mathieu-Daudé         qdev_set_nic_properties(dev, nd);
32*c23e0561SMarkus Armbruster         isa_realize_and_unref(d, bus, &error_fatal);
33489983d6SPhilippe Mathieu-Daudé     }
34489983d6SPhilippe Mathieu-Daudé     return d;
35489983d6SPhilippe Mathieu-Daudé }
36e7a3c55aSPhilippe Mathieu-Daudé 
37e7a3c55aSPhilippe Mathieu-Daudé #endif
38