X-Git-Url: https://repo.jachan.dev/qemu.git/blobdiff_plain/94410b78bed7b986eacddd64fbef84d95aa995d5..fedf2de31023b4ee71a4e578db013976243a8143:/hw/etraxfs.h diff --git a/hw/etraxfs.h b/hw/etraxfs.h index 17dca29a44..cc1d7a17a0 100644 --- a/hw/etraxfs.h +++ b/hw/etraxfs.h @@ -22,21 +22,30 @@ * THE SOFTWARE. */ +#ifndef HW_EXTRAXFS_H +#define HW_EXTRAXFS_H 1 + +#include "net/net.h" #include "etraxfs_dma.h" -struct etraxfs_pic +qemu_irq *cris_pic_init_cpu(CPUCRISState *env); + +/* Instantiate an ETRAXFS Ethernet MAC. */ +static inline DeviceState * +etraxfs_eth_init(NICInfo *nd, hwaddr base, int phyaddr, + void *dma_out, void *dma_in) { - qemu_irq *irq; - qemu_irq *nmi; - qemu_irq *guru; + DeviceState *dev; + qemu_check_nic_model(nd, "fseth"); - void *internal; -}; + dev = qdev_create(NULL, "etraxfs-eth"); + qdev_set_nic_properties(dev, nd); + qdev_prop_set_uint32(dev, "phyaddr", phyaddr); + qdev_prop_set_ptr(dev, "dma_out", dma_out); + qdev_prop_set_ptr(dev, "dma_in", dma_in); + qdev_init_nofail(dev); + sysbus_mmio_map(sysbus_from_qdev(dev), 0, base); + return dev; +} -struct etraxfs_pic *etraxfs_pic_init(CPUState *env, target_phys_addr_t base); -void etraxfs_timer_init(CPUState *env, qemu_irq *irqs, qemu_irq *nmi, - target_phys_addr_t base); -void *etraxfs_eth_init(NICInfo *nd, CPUState *env, - qemu_irq *irq, target_phys_addr_t base, int phyaddr); -void etraxfs_ser_init(CPUState *env, qemu_irq *irq, CharDriverState *chr, - target_phys_addr_t base); +#endif