2017-10-18 00:44:22 +08:00
|
|
|
/*
|
|
|
|
* QEMU NE2000 emulation -- isa bus windup
|
|
|
|
*
|
|
|
|
* Copyright (c) 2003-2004 Fabrice Bellard
|
|
|
|
*
|
|
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
|
|
|
* See the COPYING file in the top-level directory.
|
|
|
|
*/
|
2019-04-13 00:54:14 +08:00
|
|
|
|
2019-03-15 22:51:20 +08:00
|
|
|
#ifndef HW_NET_NE2000_ISA_H
|
|
|
|
#define HW_NET_NE2000_ISA_H
|
2019-04-13 00:54:14 +08:00
|
|
|
|
2017-10-18 00:44:22 +08:00
|
|
|
#include "hw/isa/isa.h"
|
2019-08-12 13:23:51 +08:00
|
|
|
#include "hw/qdev-properties.h"
|
2017-10-18 00:44:22 +08:00
|
|
|
#include "net/net.h"
|
2020-06-10 13:32:09 +08:00
|
|
|
#include "qapi/error.h"
|
2017-10-18 00:44:22 +08:00
|
|
|
|
|
|
|
#define TYPE_ISA_NE2000 "ne2k_isa"
|
|
|
|
|
|
|
|
static inline ISADevice *isa_ne2000_init(ISABus *bus, int base, int irq,
|
|
|
|
NICInfo *nd)
|
|
|
|
{
|
|
|
|
ISADevice *d;
|
|
|
|
|
|
|
|
qemu_check_nic_model(nd, "ne2k_isa");
|
|
|
|
|
2020-06-10 13:32:09 +08:00
|
|
|
d = isa_try_new(TYPE_ISA_NE2000);
|
2017-10-18 00:44:22 +08:00
|
|
|
if (d) {
|
|
|
|
DeviceState *dev = DEVICE(d);
|
|
|
|
|
|
|
|
qdev_prop_set_uint32(dev, "iobase", base);
|
|
|
|
qdev_prop_set_uint32(dev, "irq", irq);
|
|
|
|
qdev_set_nic_properties(dev, nd);
|
2020-06-10 13:32:09 +08:00
|
|
|
isa_realize_and_unref(d, bus, &error_fatal);
|
2017-10-18 00:44:22 +08:00
|
|
|
}
|
|
|
|
return d;
|
|
|
|
}
|
2019-04-13 00:54:14 +08:00
|
|
|
|
|
|
|
#endif
|