xref: /qemu/include/hw/net/ne2000-isa.h (revision e7a3c55a95ba3d091903624d4934f8be34ff4315)
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é  */
9*e7a3c55aSPhilippe Mathieu-Daudé 
10*e7a3c55aSPhilippe Mathieu-Daudé #ifndef HW_NET_NE2K_ISA_H
11*e7a3c55aSPhilippe Mathieu-Daudé #define HW_NET_NE2K_ISA_H
12*e7a3c55aSPhilippe Mathieu-Daudé 
13489983d6SPhilippe Mathieu-Daudé #include "hw/hw.h"
14489983d6SPhilippe Mathieu-Daudé #include "hw/qdev.h"
15489983d6SPhilippe Mathieu-Daudé #include "hw/isa/isa.h"
16489983d6SPhilippe Mathieu-Daudé #include "net/net.h"
17489983d6SPhilippe Mathieu-Daudé 
18489983d6SPhilippe Mathieu-Daudé #define TYPE_ISA_NE2000 "ne2k_isa"
19489983d6SPhilippe Mathieu-Daudé 
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é 
25489983d6SPhilippe Mathieu-Daudé     qemu_check_nic_model(nd, "ne2k_isa");
26489983d6SPhilippe Mathieu-Daudé 
27489983d6SPhilippe Mathieu-Daudé     d = isa_try_create(bus, TYPE_ISA_NE2000);
28489983d6SPhilippe Mathieu-Daudé     if (d) {
29489983d6SPhilippe Mathieu-Daudé         DeviceState *dev = DEVICE(d);
30489983d6SPhilippe Mathieu-Daudé 
31489983d6SPhilippe Mathieu-Daudé         qdev_prop_set_uint32(dev, "iobase", base);
32489983d6SPhilippe Mathieu-Daudé         qdev_prop_set_uint32(dev, "irq",    irq);
33489983d6SPhilippe Mathieu-Daudé         qdev_set_nic_properties(dev, nd);
34489983d6SPhilippe Mathieu-Daudé         qdev_init_nofail(dev);
35489983d6SPhilippe Mathieu-Daudé     }
36489983d6SPhilippe Mathieu-Daudé     return d;
37489983d6SPhilippe Mathieu-Daudé }
38*e7a3c55aSPhilippe Mathieu-Daudé 
39*e7a3c55aSPhilippe Mathieu-Daudé #endif
40